使用TEXT函数在Excel中比较两个日期。在某些日期表现出色

时间:2019-06-17 11:14:30

标签: excel excel-formula excel-2010 excel-2007

我正在尝试使用以下公式比较Excel中的两个日期:

=IF(TEXT(B1,"dd-mmm-yyyy")>"15-Jun-2019","New","Old") 

其中我希望将2019年6月15日之后的日期标记为“新”,而其他日期则标记为“旧”。 B1在Excel(dd-mmm-yyyy)中以“日期”格式包含日期,例如09-Oct-2018

除了某些例外,该公式通常看起来运行良好。

当日期特别是在15-Oct-1831-Oct-18之间时,公式将返回“ New”,在逻辑上应返回“ Old”。 (请检查所附的屏幕截图)。

尽管我可以使用DATEVALUENUMBERVALUE函数来实现此目的,但是比较似乎运行良好;但是我无法使用TEXT函数了解这种异常行为。

Excel的参考屏幕截图:

2 个答案:

答案 0 :(得分:1)

也许值得重温Excel中的几个核心概念。

(1)字符串按@barbsan String comparison using inequalities in Excel的链接进行逐字符比较。就像在英语词典(或任何其他语言)中查找单词一样,因此“ ABCD” <“ ABCE”和“ ABC” <“ ABCD”除外,但字符串中的任何数字和特殊字符的处理方式相同以字母表示,并具有用于比较和排序的自己的代码(尽管根据上下文,“ abc”可能等于或可能不等于“ ABC”)。

(2)Excel中的所有数据项都可以存储为字符串或数字。但是数字的格式可能看起来像货币,时间,小数或在这种情况下是日期。格式不会更改已存储的值。

enter image description here

答案 1 :(得分:0)

您正在将日期转换为文本,因此excel将比较英语词典中的文本模式。如果使用文本,则输入内容不会被视为日期。我建议不要在公式中使用文本,而应直接使用日期进行比较,这样您将获得所需的结果。如果您有其他任何状况,请发表。

相关问题