Excel IF函数单元格对比问题:不改格式匹配Aug'21与Aug/21
解决Excel IF函数匹配日期文本与日期序列号的问题
要让=IF(D1=C5, "True", "False")返回True,核心是统一两个单元格的数据类型——D1是文本格式的日期,C5是日期对应的数值序列号,直接对比类型不匹配,所以需要通过函数转换其中一方的格式:
方法1:将C5的日期序列号转换为与D1一致的文本格式
使用TEXT函数把C5的日期序列号格式化为Aug'21样式的文本,再和D1对比:
=IF(TEXT(C5,"mmm''yy")=D1,"True","False")
- 格式代码
mmm''yy说明:mmm返回月份缩写(如Aug),两个单引号''用于显示一个单引号,yy返回两位年份(如21),最终生成和D1完全一致的文本。
方法2:将D1的文本日期转换为日期序列号
使用SUBSTITUTE替换D1中的单引号为斜杠,再用DATEVALUE转换为日期序列号,和C5的数值对比:
=IF(DATEVALUE(SUBSTITUTE(D1,"'","/"))=C5,"True","False")
SUBSTITUTE(D1,"'","/")把Aug'21替换为Aug/21,DATEVALUE可以识别这个格式并返回对应的日期序列号(即C5的44287)。
两种方法都不需要修改原单元格的格式,直接在公式中完成转换即可实现匹配。
内容的提问来源于stack exchange,提问作者pkucinski
相关产品推荐
相关产品推荐

