0 | A | B | C | D | E | F | G | H | 我 |
---|---|---|---|---|---|---|---|---|---|
1 | 员工 | 团队 | 收入_A | 收入_B | 过滤器 | T_01 | |||
2 | E_01 | T_01 | 500 | 20 | |||||
3 | E_01 | T_01 | 600 | 30 | 员工 | 总计 | 收入_A | 收入_B | |
4 | E_01 | T_01 | 100 | 70 | E_01 | 1320 | 1200 | 120 | |
5 | E_02 | T_01 | 800 | 10 | E_02 | 1090 | 1000 | 90 | |
6 | E_02 | T_01 | 200 | 80 | E_04 | 1135 | 1100 | 35 | |
7 | E_03 | T_02 | 400 | 45 | |||||
8 | E_03 | T_02 | 300 | 30 | |||||
9 | E_03 | T_02 | 500 | 25 | |||||
10 | E_03 | T_02 | 100 | 50 | |||||
11 | E_04 | T_01 | 300 | 20 | |||||
12 | E_04 | T_01 | 800 | 15 |
在
Range F4:F6
中,我使用以下公式根据 Columns A:B
中输入的条件过滤 Cell G1
:
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 F4:F6
中的灵活数组对每行的值进行求和?
注意:我不想有一个全合一的配方!
我想要使用
Range G4:G6
的单独公式以及对 Range F4:F6
中灵活数组的引用来解决方案。
我觉得我因为这个掉进了一个兔子洞。
F3中的公式为:
=LET(FilteredData,FILTER($A:$D,$B:$B=$G$1),
Revenue, HSTACK(INDEX(FilteredData,,3),INDEX(FilteredData,,4)),
AddTotals, HSTACK(BYROW(Revenue,LAMBDA(Rev,SUM(Rev))),Revenue),
DataTable, VSTACK($A$1:$D$1,HSTACK(TAKE(FilteredData,,1),AddTotals)),
Result, GROUPBY(TAKE(DataTable,,1),DROP(DataTable,,1),SUM,3,0),
SUBSTITUTE(Result,"Team","Total"))
分解: