求助:Google Sheets中SUMIFS转数组公式失败,求公式修正
Google Sheets SUMIFS转数组公式修正方案
原需求说明
需要将以下SUMIFS公式转换为数组公式,实现批量计算员工对应条件的请假数据求和:
SUMIFS('Employee Leave Setup'!$I:$I,'Employee Leave Setup'!$B:$B,$B2:B,'Employee Leave Setup'!$X:$X,K$1)
该公式的作用是:匹配Employee Leave Setup表中B列等于当前行B列员工ID、X列等于K1指定条件的记录,对I列数值求和。
原尝试公式的问题
你提供的ArrayFormula尝试存在语法错误(多余闭合引号),且用COUNT替代了原需求的SUM,逻辑不符导致无法正常运行。
修正后的数组公式
=ArrayFormula(IF(LEN(B2:B), IFERROR(VLOOKUP(B2:B, QUERY('Employee Leave Setup'!B:X, "SELECT Col1, SUM(Col9) WHERE Col22 = '"&K$1&"' GROUP BY Col1 LABEL SUM(Col9) ''"), 2, FALSE), 0), ""))
修正要点说明
- 清理原公式中多余的引号,确保QUERY语句语法合法
- 将
COUNT(Col22)替换为SUM(Col9),对应原SUMIFS中对I列(QUERY里的第9列)求和的需求 - 在QUERY中新增
WHERE Col22 = '"&K$1&"'条件,实现原SUMIFS中X列(QUERY里的第22列)匹配K1值的逻辑 - 设置VLOOKUP为精确匹配(
FALSE),避免模糊匹配引发的错误 - 通过
LEN(B2:B)判断B列是否有员工ID,为空行时返回空值,避免生成无效结果
内容的提问来源于stack exchange,提问作者HSHO
相关产品推荐
相关产品推荐

