Excel中的系列“Is”類函數可以判斷指定值并返回TRUE或FALSE,如ISNUMBER函數判斷值是否為數字、ISTEXT判斷值是否為文本等。但Excel沒有提供一個判斷日期的工作表函數,如“IsDate”。如果要檢測某單元格是否為日期,可以用CELL函數,例如下面的公式判斷A1單元格是否為日期:
=IF(LEFT(CELL("format",A1))="D",IF(–RIGHT(CELL("format",A1))<6,TRUE))
當A1單元格為日期格式時返回TRUE,否則返回FALSE。將該公式用于數據有效性中,可以限制用戶只能輸入指定的文本和任意日期。
另外,還可用VBA中的IsDate函數來判斷,如下面的自定義函數:
Function Is_Date(expr)
Application.Volatile
Is_Date = IsDate(expr)
End Function
在Excel工作表界面按Alt+F11,打開VBA編輯器,單擊菜單“插入→模塊”,粘貼上述代碼。然后在單元格中輸入公式:
=Is_Date(A1)
當A1單元格包含某個日期時返回TRUE。與第一個公式不同的是,如果A1單元格為空,該公式返回FALSE。
說明:當引用單元格中的格式發生改變時,上述兩個公式返回的結果不能自行更改,這時按F9鍵重新計算即可。