首页 > 解决方案 > 在 SUMPRODUCT 中嵌套 INDEX 函数以聚合正确列中的值

问题描述

这是对我之前关于如何根据查找 ID 和多个条件聚合值的问题的改编

这次我想索引正确的年份。我的目标是进入工作表 3,其中单元格 C4:D6 中包含的公式将引用 A 列中的产品名称、单元格 A1 中的季度(用户将输入)和单元格 C3 和 D3 中的年份,然后聚合B栏各地区下的相关销售数据。

在我之前的问题中,我得到了一个解决方案,可以将 SUMIF 嵌套在 SUMPRODUCT 中。我试图通过在公式中添加一个 INDEX & MATCH 公式来构建此函数,以索引表 1 中正确年份的列。我在报告中尝试了以下内容,但收到 #N/A 错误。

=SUMPRODUCT(SUMIFS(INDEX(Sheet1!$D:$F,0,MATCH(C$3,Sheet1!$D$1:$F$1,0)),Sheet1!C:C,IF(Sheet2!$B$2:$B$8=$B4,Sheet2!$A$2:$A$8),Sheet1!A:A,$A$1,Sheet1!B:B,A4))

更新:已发现上述公式确实有效。这个问题是表 1 是一个数据透视表,因此每年的列标题是文本格式,并且与报告中查找单元格的格式不同,因此没有引用数据的链接。

表 1(原始数据)

一个 C D F
1 四分之一 产品 ID 2021 2020 2019
2 第一季度 一个 1 12 美元 12 美元 9 美元
3 第一季度 一个 3 4 美元 30 美元 50 美元
4 第一季度 一个 7 48 美元 15 美元 39 美元
5 第一季度 一个 14 42 美元 7 美元 26 美元
6 第一季度 一个 25 36 美元 50 美元 20 美元
7 第一季度 一个 27 45 美元 8 美元 9 美元
8 第一季度 一个 44 12 美元 10 美元 2美元
9 第一季度 1 40 美元 32 美元 23 美元
10 第一季度 3 15 美元 14 美元 30 美元
11 第一季度 7 21 美元 4 美元 42 美元
12 第一季度 14 38 美元 26 美元 13 美元
13 第一季度 25 31 美元 45 美元 9 美元
14 第一季度 27 32 美元 46 美元 30 美元
15 第一季度 44 21 美元 40 美元 30 美元
16 第二季度 一个 1 6 美元 1美元 43 美元
17 第二季度 一个 3 12 美元 16 美元 44 美元
等等……</td>

表 2(查找表)

一个
1 ID 地区
2 1 东方
3 3 东方
4 7 中央
5 14 中央
6 25 中央
7 27 西方
8 44 西方

表 3(报告)

一个 C D
1 第一季度
2
3 产品 地区 2021 2020
4 一个 东方 16 美元 42 美元
5 一个 中央 126 美元 45 美元
6 一个 西方 57 美元 22 美元

标签: excelexcel-formulaexcel-2016

解决方案


推荐阅读