Excel新建列标记已过/即将到期日期 修正嵌套IF公式语法错误
问题修正方案
你原公式的语法错误来自两个核心问题:
- 每一层IF函数都错误地在条件判断部分就闭合了括号,比如
IF(AW2="N/A")把右括号提前打在了条件后面,导致后续的返回值不在IF的参数范围内,直接触发语法报错 - 公式末尾冗余了4个右括号,嵌套IF不需要逐层单独收尾,只需要在整个公式最后补齐对应数量的闭合括号即可
另外你原公式里两个返回NO DEADLINE的分支可以合并,最后一层日期判断也不需要重复写条件,能大幅简化公式长度,降低出错概率。
修正后可直接使用的公式
你在标记列的第2行(对应AW2的日期行)输入以下公式,向下填充即可自动适配AW3、AW4等所有后续行:
=IF(OR(ISBLANK(AW2),AW2="N/A"),"NO DEADLINE",IF(AW2<=TODAY(),"DATE PASSED","UPCOMING"))
公式逻辑说明
- 第一优先级判断:如果对应行的日期单元格是空值、或者内容为
N/A,直接标记为NO DEADLINE - 第二优先级判断:如果日期早于或等于当前系统日期(
TODAY()函数会自动取你设备的当前日期,不需要手动更新),标记为DATE PASSED - 剩余所有情况(也就是日期晚于当前日期),直接标记为
UPCOMING,不需要额外写判断条件,因为前面的分支已经把所有不符合的情况都过滤完成了。
内容的提问来源于stack exchange,提问作者fanglies
相关产品推荐
相关产品推荐

