Excel表格日期判断AND公式全返回FALSE如何修正
Excel结构化表日期判断公式修正方案
问题背景
- 表格包含两个日期格式列:
Report Deadline(报告截止日期)、Date Report Issued(报告出具日期),两列均支持空值 - 计算列需求:仅当报告截止日期已过、且报告出具日期未填写时返回
TRUE,其余所有场景返回FALSE - 原有公式全量返回
FALSE,无法实现预期逻辑
原公式失效原因
原公式逻辑框架没有本质错误,全量返回FALSE的核心原因是日期格式列的空值判定方式不兼容:
Excel中的日期本质是数值型序列值,空的日期单元格不属于文本空串,用[@[Date Report Issued]]=""做判断时,该条件永远返回FALSE,直接导致AND函数的整体结果为FALSE。
此外原公式中用[@[Report Deadline]]>0判断截止日期非空,在部分存在文本误输入、公式返回空值的场景下会出现判定偏差。
修正后公式
直接将计算列公式替换为以下版本即可:
=AND(ISNUMBER([@[Report Deadline]]), [@[Report Deadline]]<TODAY(), ISBLANK([@[Date Report Issued]]))
公式逻辑拆解
ISNUMBER([@[Report Deadline]]):校验报告截止日期为有效数值型日期,自动排除截止日期为空、填写非日期内容的场景,兼容性优于>0的判断方式[@[Report Deadline]]<TODAY():判定截止日期早于当前系统日期,即已过截止期ISBLANK([@[Date Report Issued]]):判定报告出具日期列为空单元格,适配日期列的数值属性,不会出现类型不匹配的判定错误
补充说明:如果文件为.xls格式的兼容模式,输入公式后需按
Ctrl+Shift+Enter确认数组公式;.xlsx及以上版本的普通结构化表,输入后直接回车即可自动填充整列。
内容的提问来源于stack exchange,提问作者fanglies
相关产品推荐
相关产品推荐

