Excel Month() 函数无法检测某些日期格式

Excel Month() 函数无法检测某些日期格式

我在 Excel 中有一个像这样的简单表格:

在此处输入图片描述

我使用的公式是=IFERROR(IF(LEN(B3)>0,MONTH(B3),""),"")。我使用检查单元格是否为空白LEN,如果是则忽略,否则将其转换为月份号。

我已将自定义单元格格式设置Date Columndd/mm/yyyy

我的要求如下:

(1)人们可以在该栏中以两种格式输入日期Date。他们可以使用“5 Aug 2015”或“5/8/2015”输入。无论他们输入哪种格式,它都应以dd/mm/yyyy格式显示日期以及月份编号中的相关月份编号。

我的问题是,每当我使用“2015 年 8 月 5 日”格式时,一切都会正常工作。但是当我输入(假设!)21/5/2015(相当于 2015 年 5 月 21 日)时,该MONTH功能会停止工作。如果我输入5/21/2015,它就会完美运行。

我认为这是因为日期和月份格式。但由于我已经将单元格格式设置为dd/mm/yyyy,所以我不知道是什么导致了这个问题。

我如何确保我的日期列接受输入,同时21/5/2015仍给出正确的月份数字。

答案1

添加验证规则。如果输入的值不符合时间/日期格式(通常意味着它是细绳) 则您的公式将默认。我同意@jcbermu,您很可能遇到了区域规则方面的问题,这是检测您是否使用有效日期的方法。

答案2

如上所述,该问题可能与区域问题有关。更清楚地说,我认为 Excel 将日期存储为数字,期望以您所在区域设置的格式接收日期,并按照您的自定义格式显示您喜欢的日期。

很可能区域格式设置为 dd/mm/yy 以外的其他格式,当您输入 21/5/2015 时,Excel 会认为它不能是日期,因为 21 超出了 12 个月的可能范围,因此将数据视为不同于日期的类型。

解决方案是控制输入以强制采用 dd/mm/yy 格式。使用数据验证执行此操作。

详情请参阅https://stackoverflow.com/questions/47568805/excel-how-to-force-date-as-dd-mm-yyyy-for-data-validaiton

相关内容