excel - 在 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 美元 |
解决方案
推荐阅读
- python - torch.nn.BCELoss() 的两个参数中的导数
- java - 在同一个项目中使用 jpa 存储库和休眠(使用条件调用查询,HQL)可以吗
- android - 如何修复数据绑定中的以下错误?
- typescript - 类型“字符串”不能用于索引类型“未知”|| 或如何让打字稿分配 Type[key] = SameType[key]
- sendbird - 会话令牌的 SendBird 组频道权限
- python - 隔离相似颜色的单个区域的最佳方法是什么?
- apache-pulsar - Pulsar 如何在账本中存储多个主题的消息?
- azure - 如何将 JSON 对象数组作为自定义策略中的输入声明传递给 REST API
- python - 在没有焦点的情况下在 tkinter 中监视按键
- c++ - 为什么 C++ 中的变量不是左值?