在Excel中验证特定日期格式

我需要验证Excel表格中的日期是否格式正确,即 yyyy/mm/dd ,因此 mm/dd/yyyy 之类的任何其他格式都不正确 .

我正在使用这个公式:

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

虽然公式确实拾取了不包含日期的单元格,但它无法获取具有错误格式的日期的单元格,如 mm/dd/yyyy . 我的配方中缺少什么?请帮忙 .

先感谢您 .

千电子伏

回答(1)

2 years ago

如果要检查单元格的格式,请将此用户定义函数放在标准模块中:

Public Function FormatChecker(r As Range) As String
    FormatChecker = r(1).NumberFormat
End Function

使用 A 列中的数据,在 B1 中输入:

=FormatChecker(A1)

并复制下来 . 在 C1 输入:

=IF(AND(LEFT(B1,4)="yyyy",MID(B1,6,2)="mm",RIGHT(B1,2)="dd"),"Good","Bad")

enter image description here

NOTE:

如果更改列 A 单元格的格式,则还需要刷新其内容以重新计算列 B . 使用:F2和回车