根据查找 ID 聚合值,同时满足多个条件

Aggregate values based on lookup IDs while meeting multiple criteria

我根据下面的“sheet 1”获得了销售数据。每行包含季度、产品、区域 ID 和销售数字。每个区域可以有多个 ID,我有一个查找 table (sheet 2) 表示每个 ID 属于哪个区域。

我的目标是达到 sheet 3. 本质上,我正在尝试编写一个公式,该公式将引用 A 列中的产品名称、单元格 A1 中的季度(用户将输入),以及在 B 列中汇总每个区域下的相关销售数据。

我已尝试按照以下方法在 SUMPRODUCT 内的 SUMIFS 内嵌套 INDEX & MATCH 函数,但我得到的是 #VALUE!错误:

=SUMPRODUCT(SUMIFS(INDEX(sheet1!$D:$D$,MATCH(1,($A4=sheet1!$B:$B)*($A=Sheet1!$A:$A),0),0),sheet1$C:$C,sheet2!$A:$A)*(sheet2!$B:$B=$B4))

有谁知道我的公式有什么问题,或者是否有更好的方法来解决这个问题?

Sheet 1(原始数据)

A B C D
1 Quarter Product ID 2021 Sales
2 Q1 A 1 39
3 Q1 A 3 41
4 Q1 A 7 20
5 Q1 A 14 7
6 Q1 A 25 2
7 Q1 A 27 2
8 Q1 A 44 45
9 Q1 B 1 28
10 Q1 B 3 34
11 Q1 B 7 29
12 Q1 B 14 48
13 Q1 B 25 5
14 Q1 B 27 15
15 Q1 B 44 32
16 Q2 A 1 19
17 Q2 A 3 28
and so forth…

Sheet 2(区域 ID 查找 table)

A B
1 ID Region
2 1 East
3 3 East
4 7 Central
5 14 Central
6 25 Central
7 27 West
8 44 West

Sheet 3(报告)

A B C
1 Q1
2
3 Product Region Sales
4 A East 29
5 A Central 42
6 A West 31

一点返工:

 =SUMPRODUCT(SUMIFS(Sheet1!D:D,Sheet1!C:C,IF(Sheet2!$B:$B=$B4,Sheet2!$A:$A),Sheet1!A:A,$A,Sheet1!B:B,A4))

根据版本,退出编辑模式时可能需要使用 Ctrl-Shift-Enter 而非 Enter 进行确认。

使用动态数组公式 FILTER 我们可以将 IF() 部分替换为 FILTER():

=SUMPRODUCT(SUMIFS(Sheet1!D:D,Sheet1!C:C,FILTER(Sheet2!$A:$A,Sheet2!$B:$B=$B4),Sheet1!A:A,$A,Sheet1!B:B,A4))

而且它会节省几次迭代。