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")
我认为这会解决你的问题。