You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中用ARRAYFORMULA实现每行SUMIF自动化的问题

问题解决方法

你的单行SUMIF公式能正常运行,但添加ARRAYFORMULA后失效,核心原因是INDIRECT函数无法与ARRAYFORMULA兼容处理数组形式的工作表引用——ARRAYFORMULA会批量生成多个工作表引用,但INDIRECT只能解析单个文本引用,无法逐个处理数组里的每个元素。

解决办法是用BYROW函数替代ARRAYFORMULA,逐行对B列和C列的单元格应用原有的SUMIF逻辑,公式如下:

=BYROW(B2:C, LAMBDA(row, 
  SUMIF(
    INDIRECT("'"&XLOOKUP(INDEX(row,1), Rekap!$C$3:$C$28, Rekap!$A$3:$A$28)&". "&INDEX(row,1)&"'!C4:C"),
    INDEX(row,2),
    INDIRECT("'"&XLOOKUP(INDEX(row,1), Rekap!$C$3:$C$28, Rekap!$A$3:$A$28)&". "&INDEX(row,1)&"'!H4:H")
  )
))

公式说明:

  • BYROW(B2:C, LAMBDA(row, ...)):遍历B2到C列的每一行,把当前行数据存入row变量
  • INDEX(row,1):提取当前行的B列值(对应原公式的B2)
  • INDEX(row,2):提取当前行的C列值(对应原公式的C2)
  • 内部的SUMIF和INDIRECT逻辑和你原来的单行公式完全一致,只是通过BYROW实现了逐行批量计算

内容的提问来源于stack exchange,提问作者Sam ipin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:04:54