Google Sheets中ARRAYFORMULA与SUMPRODUCT结合报错及解决问询
解决Google Sheets中SUMPRODUCT与ARRAYFORMULA配合的维度不匹配问题
错误原因
你遇到的“Array arguments to EQ are of different size.”错误,本质是公式中两个参与比较的数组维度不匹配:
IMPORTRANGE返回的原表B列数据,行数是原表not deleted工作表的有效行数- 仪表板的
A9:A是动态列,行数和原表B列不一致 - 同时
SUMPRODUCT是对整个数组执行求和运算,无法和ARRAYFORMULA配合,逐行对应A9:A的每个值进行计算
解决方案
方案1:用SUMIF替代SUMPRODUCT(直接写公式)
SUMIF天生支持按条件逐行求和,搭配ARRAYFORMULA可以批量处理A9:A的所有值:
=ARRAYFORMULA(IF(ISBLANK(A9:A),,SUMIF(IMPORTRANGE("1GuDE-oYK0u9hZBSqRM4EKevW0_wl4ssDVuRedlyj0TA","not deleted!B2:B"),A9:A,IMPORTRANGE("1GuDE-oYK0u9hZBSqRM4EKevW0_wl4ssDVuRedlyj0TA","not deleted!L2:L"))))
方案2:先导入数据再计算(更高效)
多次调用IMPORTRANGE会降低公式运行效率,建议先把原表数据导入到仪表板的辅助区域:
- 在仪表板的空白区域(比如
Z2单元格)输入:
(授权后会自动加载原表的B列到L列数据,其中B列是条件列,L列是求和列)=IMPORTRANGE("1GuDE-oYK0u9hZBSqRM4EKevW0_wl4ssDVuRedlyj0TA","not deleted!B2:L") - 然后在目标区域(比如B9单元格)输入:
(这里=ARRAYFORMULA(IF(ISBLANK(A9:A),,SUMIF(Z2:Z,A9:A,AA2:AA)))Z2:Z对应原表B列,AA2:AA对应原表L列,可根据实际辅助区域调整)
补充说明
- 首次使用
IMPORTRANGE需要授权,允许仪表板表格访问原表数据 - 如果原表数据更新,仪表板的公式会自动同步计算
内容的提问来源于stack exchange,提问作者Platipusbiru
相关产品推荐
相关产品推荐

