Excel:检查单元格的date

短篇小说简介:

如果包含date,我想检查单元格C21。 我不能使用VB导致它被GPO停用。

在这个页面使用了这个

D21包含这个:

=WENN(ISTZAHL(DATWERT(C21));"date";"no date") in english =IF(ISNUMBER(DATEVALUE(C21))... 

C21这个:

 =HEUTE() # in english: =TODAY() Maybe other dates later, but allways in the correct format 

但它总是返回“没有date”

使用这个: =IF(LEFT(CELL("format",C21))="D",..,..) 。 在这里了解更多关于CELL公式。

在你的例子=TODAY()已经是一个真正的date,而不是date存储为文本,所以没有太多的意义,使用DATEVALUE那里。

更新

以下是一些示例date以及CELL如何识别它们:

 format value output dd/mmmm/yyyy 12/June/2015 D1 dd/mm/yyyy 12/06/2015 D1 yyyy 2015 G general 2015 G dd/mm 12/06 D2 mmmm June G dd mmmm yyyy 12 June 2015 G 

注意: CELL不是易变的,所以如果源单元格的格式被改变,它将不会被自动刷新,您需要重新计算您的工作表/书籍,打开公式并按下回车键(也可以通过任何其他volatile启动自动重新计算公式会导致它刷新)。

Excel将date存储为数字。 1是1900年1月1日。

当涉及单元格中的数字时,Excel无法确定数字是否是数字或date。

今天是11/06/2015作为一个date, 42166作为一个数字。 对于电子表格的使用者,可以将单元格格式化为以任何数字格式或date显示该数字。 Excel公式无法确定该单元格中的数字是否意味着是date。

所以,没有Excel公式可以在电子表格中使用,它会告诉你单元格A1是否为42166窗口小部件,或者是否包含2015年6月11日的date。

使用下面的公式…

 =IF(NOT(ISERROR(DATEVALUE(TEXT(C21,"mm/dd/yyyy")))),"valid date","invalid date") 

我认为这会解决你的问题。