求助:SUMIFS函数出现Array arguments to SUMIFS are of different size错误
错误原因与修复方案
直接修复SUMIFS公式
你遇到的「array arguments to sumifs are of different sizes」错误,是因为SUMIFS的参数顺序完全写反了。SUMIFS的标准语法是:=SUMIFS(求和区域, 条件区域1, 条件1, 条件区域2, 条件2...)
你的原公式把「条件区域」和「条件」的位置搞混了,导致Excel识别的数组维度不匹配。修正后的公式如下:
=SUMIFS(Expenses!I:I, Expenses!B:B, $A$30, Expenses!H:H, B1)
参数说明:
Expenses!I:I:需要求和的金额列(对应费用表金额列)Expenses!B:B:姓名条件所在的列(费用表姓名列),对应匹配值$A$30(固定的姓名单元格)Expenses!H:H:季度周期所在的列(费用表季度列),对应匹配值B1(目标单元格的季度值)
适配需求的其他方案
如果你的需求是提取单条匹配记录的金额(而非多条记录求和),可以用XLOOKUP函数更直观:
=XLOOKUP(1, (Expenses!B:B=$A$30)*(Expenses!H:H=B1), Expenses!I:I, "无匹配数据")
这个公式会直接返回符合「指定姓名+指定季度」的金额,无匹配结果时返回自定义提示文本。
额外优化建议
- 避免整列引用(如
I:I),改用实际数据范围(比如Expenses!I2:I100),减少Excel计算负荷,同时避免空单元格干扰 - 确保匹配值格式一致:比如
$A$30的姓名与费用表B列姓名、B1的季度与费用表H列季度,需保持相同格式(均为文本或数字),避免匹配失败
内容的提问来源于stack exchange,提问作者Megan Elizabeth
相关产品推荐
相关产品推荐

