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

使用SUMIFS+ADDRESS+MATCH跨工作表求和的语法问题求助

跨表SUMIFS按指定行求和的正确语法

你的核心问题是:用ADDRESS+INDEX拼接出的是文本格式的单元格地址,但SUMIFS的sum_range参数需要的是实际的单元格区域引用,而非文本字符串,因此跨表时无法正常工作。

推荐的正确公式(非易失,性能更优)

=SUMIFS(INDEX(Receiving!$D:$ALN,MATCH(D1,Receiving!A:A,0),0),Receiving!$D$1:$ALN$1,">=2/01/2026",Receiving!$D$1:$ALN$1,"<=2/28/2026",Receiving!$D$2:$ALN$2,"Target")

公式逻辑拆解

  • INDEX(Receiving!$D:$ALN,MATCH(D1,Receiving!A:A,0),0):通过MATCH找到D1在Receiving表A列对应的行号,再用INDEX的第三个参数0直接返回该行从D列到ALN列的实际单元格区域,完美适配SUMIFS对sum_range的要求。
  • 后续的条件参数保持你原有的逻辑:筛选第1行日期在2026年2月1日至28日之间、且第2行对应位置为"Target"的列,对目标行的这些列求和。

备选方案(使用INDIRECT转文本引用,不推荐)

如果一定要基于文本地址实现,可以用INDIRECT将字符串转成实际引用,但INDIRECT是易失函数,数据量大时会拖慢计算速度:

=SUMIFS(INDIRECT("Receiving!$D$"&MATCH(D1,Receiving!A:A,0)&":$ALN$"&MATCH(D1,Receiving!A:A,0)),Receiving!$D$1:$ALN$1,">=2/01/2026",Receiving!$D$1:$ALN$1,"<=2/28/2026",Receiving!$D$2:$ALN$2,"Target")

内容的提问来源于stack exchange,提问作者Sean S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 14:03:09