如何为动态范围最小日期查询公式添加无日期返回空值的IF语句?
解决动态范围最小日期判断问题
首先,咱们可以通过ISNUMBER函数配合你原有的最小日期查询逻辑,加上IF语句就能实现需求。直接给你修改后的公式:
=IF(ISNUMBER(MIN(INDIRECT(ADDRESS(ROW(AF4),COLUMN(AF4))&":af"&MIN(IF(A4:A108="",ROW(A4:A108)))))),MIN(INDIRECT(ADDRESS(ROW(AF4),COLUMN(AF4))&":af"&MIN(IF(A4:A108="",ROW(A4:A108))))),"")
逻辑拆解:
- 先执行你原本的
MIN(...)逻辑,尝试获取动态范围里的最小值。如果这个范围里没有有效日期(全是空值或者非日期内容),MIN会返回#NUM!错误。 ISNUMBER()会检查这个结果是不是有效数字(毕竟Excel里的日期本质就是数字):如果是,就返回查到的最小日期;如果不是,就返回空字符串""。
小优化建议:
你原公式里的ADDRESS+INDIRECT文本拼接其实可以用INDEX替代,写法更简洁也更稳定,避免因列标变动出错:
=IF(ISNUMBER(MIN(AF4:INDEX(AF:AF,MIN(IF(A4:A108="",ROW(A4:A108)))))),MIN(AF4:INDEX(AF:AF,MIN(IF(A4:A108="",ROW(A4:A108))))),"")
注意:如果是Excel 365/2021这类支持动态数组的版本,直接回车就行;要是旧版本,输入公式后得按Ctrl+Shift+Enter数组组合键确认哦。
内容的提问来源于stack exchange,提问作者Soru Soravic
相关产品推荐
相关产品推荐

