Google Sheets含三条件的ARRAYFORMULA报错:求匹配最早日期
Google Sheets 多条件日期最小值查询问题解决
错误原因
你添加J列空值条件时,多个逻辑条件之间漏掉了*连接符。在数组公式中,多条件“且”关系需要用*来连接,没有连接符的情况下,公式会将相邻条件误认为函数调用,从而抛出"invalid call to non-function"错误。
修正后的公式
方法1:保留原IF+ARRAYFORMULA结构
补全条件间的*连接符即可:
=ARRAYFORMULA(MIN(IF((Sheet2!A:A=A4)*(Sheet2!I:I=TRUE)*(Sheet2!J:J=""),Sheet2!C:C,"")))
注:你错误公式中写的是A5,根据需求应为A4,已修正。
方法2:更简洁的FILTER+MIN写法
Google Sheets中FILTER可直接筛选符合条件的日期,再用MIN取最小值,无需嵌套ARRAYFORMULA:
=MIN(FILTER(Sheet2!C:C, Sheet2!A:A=A4, Sheet2!I:I=TRUE, Sheet2!J:J=""))
处理无匹配结果的情况
如果没有符合条件的记录,上述公式会返回#NUM!错误,可添加IFERROR返回自定义提示:
=IFERROR(MIN(FILTER(Sheet2!C:C, Sheet2!A:A=A4, Sheet2!I:I=TRUE, Sheet2!J:J="")), "无匹配日期")
内容的提问来源于stack exchange,提问作者S H
相关产品推荐
相关产品推荐

