根据多个条件对一组值求和并查找 table
Summing an array of values based on multiple criteria and look up table
我得到以下销售额 table,它提供了每个员工的销售额,但我没有他们的名字,而是他们的 ID,每个 ID 可能有超过 1 行。
为了将 ID 映射回姓名,我查找了 table 每个员工的姓名和 ID。要记住的一件事是,任何给定名称都可能分配有多个 ID,如下例所述:
销售额Table:
Year
ID
North
South
West
East
2020
A
58
30
74
72
2020
A
85
40
90
79
2020
B
9
82
20
5
2020
B
77
13
49
21
2020
C
85
55
37
11
2020
C
29
70
21
22
2021
A
61
37
21
42
2021
A
22
39
2
34
2021
B
62
55
9
72
2021
B
59
11
2
37
2021
C
41
22
64
47
2021
C
83
18
56
83
ID table:
ID
Name
A
Allison
B
Brandon
C
Brandon
我试图按给定年份汇总每个员工的销售额,并按他们的姓名(而不是 ID)汇总他们的所有交易,以便我的结果如下所示:
结果:
Report
2021
Allison
258
Brandon
721
我希望用户能够 select 年份,报告会自动按年份和姓名汇总每个人的销售额。同样,Brandon 被分配了 ID B 和 C,因此报表应该能够获得 B 和 C 下的所有 2021 年销售额。
我发布了一个类似的 ,其中不包括将名称绑定到多个 ID 所增加的复杂性。在那个线程中,我得到了一个具有以下公式的解决方案:
=SUMPRODUCT($C:$F*($B:$B=INDEX($I:$I,MATCH(N3,$J:$J,0)))*($A:$A=$N))
虽然此公式适用于仅绑定一个 ID 的名称,但我相信一旦遇到 ID table 上的重复名称,INDEX 和 MATCH 组件就会失效。
我目前使用的是 Excel 2016,因此任何解决方案都至少需要与该版本兼容。在此先感谢您对此的任何指导。
试试这个公式解决方案可以在你的 Excel 2016
在L4
中,公式复制下来:
=SUMPRODUCT(($A:$A=K)*(VLOOKUP(T(IF({1},$B:$B)),$H:$I,2,0)=K4)*$C:$F)
我得到以下销售额 table,它提供了每个员工的销售额,但我没有他们的名字,而是他们的 ID,每个 ID 可能有超过 1 行。
为了将 ID 映射回姓名,我查找了 table 每个员工的姓名和 ID。要记住的一件事是,任何给定名称都可能分配有多个 ID,如下例所述:
销售额Table:
Year | ID | North | South | West | East |
---|---|---|---|---|---|
2020 | A | 58 | 30 | 74 | 72 |
2020 | A | 85 | 40 | 90 | 79 |
2020 | B | 9 | 82 | 20 | 5 |
2020 | B | 77 | 13 | 49 | 21 |
2020 | C | 85 | 55 | 37 | 11 |
2020 | C | 29 | 70 | 21 | 22 |
2021 | A | 61 | 37 | 21 | 42 |
2021 | A | 22 | 39 | 2 | 34 |
2021 | B | 62 | 55 | 9 | 72 |
2021 | B | 59 | 11 | 2 | 37 |
2021 | C | 41 | 22 | 64 | 47 |
2021 | C | 83 | 18 | 56 | 83 |
ID table:
ID | Name |
---|---|
A | Allison |
B | Brandon |
C | Brandon |
我试图按给定年份汇总每个员工的销售额,并按他们的姓名(而不是 ID)汇总他们的所有交易,以便我的结果如下所示:
结果:
Report | |
---|---|
2021 | |
Allison | 258 |
Brandon | 721 |
我希望用户能够 select 年份,报告会自动按年份和姓名汇总每个人的销售额。同样,Brandon 被分配了 ID B 和 C,因此报表应该能够获得 B 和 C 下的所有 2021 年销售额。
我发布了一个类似的
=SUMPRODUCT($C:$F*($B:$B=INDEX($I:$I,MATCH(N3,$J:$J,0)))*($A:$A=$N))
虽然此公式适用于仅绑定一个 ID 的名称,但我相信一旦遇到 ID table 上的重复名称,INDEX 和 MATCH 组件就会失效。
我目前使用的是 Excel 2016,因此任何解决方案都至少需要与该版本兼容。在此先感谢您对此的任何指导。
试试这个公式解决方案可以在你的 Excel 2016
在L4
中,公式复制下来:
=SUMPRODUCT(($A:$A=K)*(VLOOKUP(T(IF({1},$B:$B)),$H:$I,2,0)=K4)*$C:$F)