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

基于灵活过滤数组的Excel按行求和公式优化需求

数据表格
ATeamRevenue_ARevenue_BFilterTotalRevenue_ARevenue_B
1EmployeeTeamRevenue_ARevenue_BFilterT_01
2E_01T_0150020
3E_01T_0160030EmployeeTotalRevenue_ARevenue_B
4E_01T_0110070E_0113201200120
5E_02T_0180010E_021090100090
6E_02T_0120080E_041135110035
7E_03T_0240045
8E_03T_0230030
9E_03T_0250025
10E_03T_0210050
11E_04T_0130020
12E_04T_0180015

已完成的基础数据处理

  • 在Range F4:F6中,基于Cell G1的条件过滤Columns A:B数据,使用公式:
    F4 = LET(
    a,FILTER($A:$A,$B:$B=$G$1),
    UNIQUE(CHOOSECOLS(a,1)))
    
  • 在Range H4:I6中,基于Range F4:F6的动态数组计算对应列求和,使用公式:
    H4 = SUMIFS($C:$C,$A:$A,$F4#)
    I4 = SUMIFS($D:$D,$A:$A,$F4#)
    

以上功能运行正常。


当前需求与问题

需在Range G4:G6区域中,对Range H4:I6每行的数值求和。当前使用的公式为:

=LET(
a;SUMIFS($C:$C,$A:$A,$F4#);
b;SUMIFS($D:$D,$A:$A,$F4#);
a+b)

该公式可正常工作,但原文件中存在更多列,按此方式需串联大量SUMIFS函数,过于繁琐。

要求

  • 为Range G4:G6单独设置公式
  • 引用Range F4:F6的动态数组
  • 不使用一体化公式

解决方案

方案1:直接引用已计算的H、I列(最简洁)

利用已完成的H4:I6计算结果,直接对每行求和,输入到G4:

=SUM(H4:I4)

下拉填充到G6即可。如果需要动态数组自动溢出效果,可使用:

=BYROW(H4:I6,SUM)

该公式会自动填充到G4:G6,无需手动下拉。

方案2:从原始数据直接计算(不依赖H、I列)

若不想依赖H、I列的结果,直接基于F4#的员工数组计算总收入,可使用以下公式(支持任意数量的收入列扩展):

=BYROW($F4#,LAMBDA(x,SUM(SUMIFS($C:$D,$A:$A,x))))

将$C:$D替换为实际的所有收入列范围(如$C:$Z)即可,公式会自动对每个员工的所有收入列求和并溢出到G4:G6。

也可使用MMULT实现:

=MMULT(SUMIFS($C:$D,$A:$A,$F4#),SEQUENCE(COLUMNS($C:$D),1,1,0))

同样只需修改$C:$D为目标收入列范围即可适配多列场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:40:01