Excel 删除长日期格式的时间元素

Excel 删除长日期格式的时间元素,excel,datetime,excel-formula,Excel,Datetime,Excel Formula,我有一份过去三年的数据清单,但所有的日期都有不同的时间。我试图写一个宏,将删除所有的时间。我试图改变单元格的格式,但没有成功 列表如下所示: 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:

我有一份过去三年的数据清单,但所有的日期都有不同的时间。我试图写一个宏,将删除所有的时间。我试图改变单元格的格式,但没有成功

列表如下所示:

10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 10/12/2011 08:41 PM Eastern Time 2011年12月10日东部时间晚上8:41 2011年12月10日东部时间晚上8:41 2011年12月10日东部时间晚上8:41 2011年12月10日东部时间晚上8:41 2011年12月10日东部时间晚上8:41 2011年12月10日东部时间晚上8:41 2011年12月10日东部时间晚上8:41 2011年12月10日东部时间晚上8:41 我需要删除东部时间晚上8:41的
。但所有的时间都不同。有什么想法吗?

为什么不简单地:

=左(A1,10)


假设所有日期看起来都是相同的(mm/dd/yyyy)格式

以防它不总是前十个字符(例如:2011年1月1日或2012年3月14日),您可以使用此公式。请确保将单元格格式设置为日期:

=--LEFT(A1,FIND(" ",A1)-1)

如果实际使用日期格式,请尝试使用
=INT(A1)
然后选择适合的格式

这应包括文本或时间格式:

=IF(CELL("type",A1)="l",LEFT(A1,FIND(" ",A1)),INT(A1))  
甚至:

=TEXT(IF(CELL("type",A1)="l",LEFT(A1,FIND(" ",A1)),INT(A1)),"mm/dd/yyyy")  

如果输出格式为mm/dd/yyyy。

如果字段是excel日期而不是纯文本,则可以使用trunc函数。它应该减少时间部分

=TRUNC(A1)

不知道为什么在任何答案中都没有提到这一点,因为这是迄今为止最快、最简单的方法。如果日期尚未采用excel日期格式,则可以使用DATEVALUE将日期从文本转换为excel日期


一旦日期采用数字格式(例如42753.597534,excel将其识别为2017年1月18日下午2:20:27):excel将日期等同于数字,1相当于24小时(1天),而小于1的任何值都用于表示时间。您可以使用舍入(A1,0),它将删除日期中隐含地去除时间的任何非整数部分(将上述数字转换为42753或2017年1月18日)。

如何
=左(A1,10)
是以
mm/dd/yyyy开始的所有日期
如果是这样,如果日期格式不起作用,那么这可能是一个字符串,因此您可以使用
LEFT(…,10)
。当我尝试时,它只返回一个随机数,而不是日期。我猜您正在考虑我的解决方案。“随机数”是Excel使用的日期代码。正如我在解决方案中所说,您需要将单元格(包含输出日期代码的公式的单元格)格式化为日期。然后单元格将正确显示日期。我确实将其格式化为日期/