专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
完美Excel  ·  使用deepseek自动合并工作簿 ·  4 天前  
完美Excel  ·  deepseep+Python实现自动合并E ... ·  2 天前  
Excel之家ExcelHome  ·  年少不识透视表,错把函数当成宝 ·  昨天  
Excel之家ExcelHome  ·  WPS AI表格助手,贴身小秘书 ·  昨天  
Excel之家ExcelHome  ·  VBA常用小代码:在批注中批量插入图片 ·  4 天前  
51好读  ›  专栏  ›  完美Excel

创建ISDATE函数

完美Excel  · 公众号  · Excel  · 2024-11-28 06:20

主要观点总结

文章主要介绍了在Excel中如何判断单元格中的内容是否是日期,包括使用公式和VBA函数的方法。

关键观点总结

关键观点1: Excel中判断单元格内容是否为日期的公式方法

通过Excel的Cell函数识别格式化为日期后的单元格,使用公式=LEFT(CELL("format",A1))="D"来判断。

关键观点2: Excel中处理特殊情况的方法

当单元格设置了日期格式但未输入日期时,使用公式=AND(A1 < >"",LEFT(CELL("format",A1))="D")来处理。

关键观点3: VBA函数在判断日期中的应用

介绍使用VBA自定义函数IS_DATE来判断日期的方法,包括函数的编写和在单元格中的应用。

关键观点4: 社群交流和获取更多资料的信息

鼓励读者参与知识星球的完美Excel社群进行技术交流和提问,并获取更多电子资料。


正文

学习Excel技术,关注微信公众号:

excelperfect


标签: Excel 公式

Excel 中没有一个判断单元格中的内容是否是日期的函数,而 VBA 中有一个 IsDate 函数可以判断输入是否是日期。那么,如何判断单元格中的输入是否是日期呢?

如下图 1 所示,我们想要识别列 A 中单元格内容是否是日期,若是日期则在列 B 相应单元格中显示 TRUE ,否则显示 FALSE

1
可以使用 Excel Cell 函数识别格式化为日期后的单元格,在单元格 B1 中输入公式:

=LEFT(CELL("format",A1))="D"

然后向下拖动单元格 B1 复制至数据底部,结果如上图 1

公式中,提取 CELL 函数的第一个字符并将之与字母 D 比较,相等则是日期。图 1 中单元格 C1 的公式为:

=CELL("format",A1)

注意到设置为日期的单元格会返回以 D 开头的代码。

然而,单元格 A4 中并没有输入日期,只是设置了日期格式,但上面的公式仍将其判断为日期。此种情况可以使用下面的公式解决:

=AND(A1<>"",LEFT(CELL("format",A1))="D")

在单元格 D1 输入公式,拖动向下复制至数据底部,结果如下图 2 所示。

2
还可以使用 VBA 自定义函数来判断日期,代码如下:

Function IS_DATE(rng) As Boolean

IS_DATE = IsDate(rng)

End Function

然后,在单元格 E1 中输入公式:

=IS_DATE(A1)

拖动向下复制至数据底部,结果如下图 3 所示。







请到「今天看啥」查看全文


推荐文章
完美Excel  ·  使用deepseek自动合并工作簿
4 天前
Excel之家ExcelHome  ·  年少不识透视表,错把函数当成宝
昨天
Excel之家ExcelHome  ·  WPS AI表格助手,贴身小秘书
昨天
Excel之家ExcelHome  ·  VBA常用小代码:在批注中批量插入图片
4 天前
红秀GRAZIA  ·  跟随规则?不如听从内心。
7 年前
细说云计算  ·  京东618:商城分布式智能容器DNS实践
7 年前