Excel中=MIN(INDEX(公式返回错误日期值(1899-12-30)求助
解决Excel条件取最小日期返回1899-12-30的问题
你遇到的问题核心是公式里的(donations_tracker!$A$2:$A$15 = A4)*(donations_tracker!$D$2:$D$15)逻辑有漏洞:当条件不满足时,运算结果是0,而Excel里0对应的日期就是1899-12-30。MAX能正常返回是因为正确日期的数值(比如2022-01-31对应44592)远大于0,所以MAX会自动取更大的有效日期;但MIN会直接取最小的0对应的日期,导致结果不符合预期。
给你两个可行的解决方案:
方案1:用MINIFS函数(推荐,Excel 2019及以后版本可用)
直接用Excel专门的条件最小函数,语法简洁且不会被无效值干扰:
=MINIFS(donations_tracker!$D$2:$D$15, donations_tracker!$A$2:$A$15, A4)
参数说明:第一个是要找最小值的日期列,第二个是条件匹配列,第三个是目标条件单元格。
方案2:兼容旧版Excel的写法
如果你的Excel版本不支持MINIFS,就把不满足条件的行转为错误值,让MIN自动忽略错误值:
=MIN(INDEX(IF(donations_tracker!$A$2:$A$15 = A4, donations_tracker!$D$2:$D$15, NA()),,,))
这里用IF判断,满足条件返回对应日期,不满足返回NA()错误值,MIN会跳过所有错误值,只计算符合条件的有效日期。如果是Excel 2016及更早版本,输入公式后需要按Ctrl+Shift+Enter确认数组公式。
内容的提问来源于stack exchange,提问作者recesssionista
相关产品推荐
相关产品推荐

