如何对索引和匹配的数组值求和

问题描述 投票:0回答:1

我有一个棘手的问题(对我来说)。 我正在尝试根据多维数组索引和匹配值从数据透视表中获取值的总和。

我的数据透视表如下所示:

单位编号。 计算总和
802000 15
502000 12
803038 6
804056 17

等等。

我的索引表如下所示:

A B C D E F
201 202 203 101 102 103
801000 802000 803000 501000 502000 503000
801002 802002 803002 501002 502002 503002
801003 802003 803003 501003 502003 503003
801004 802004 803004 501004 502004 503004

等等。

我在单元格 W4 有一个用于索引选择的单元格,这是一个简单的下拉框选择器,用于索引号 201、202、203、101、102、103 等。

在其他单元格中,我根据索引列的单位编号对数据透视表进行 vlookup 以显示计数和信息:

=VLOOKUP(INDEX($Z$1:$AZ$61,2,MATCH(W3,Z1:AZ1,0)),'资产透视'!C:D,2,FALSE)

因此,如果我选择了索引号 202,它会查看 202 列下第 2 行的单元号,在本例中为 802000。然后它从数据透视表中获取单元 802000 的数据并显示值 15。

这一切都很好。问题是,我还选择了“ALL”作为索引选择。我无法让它发挥作用。期望是显示给定行的所有数据的总和。基本上,我希望单元格显示第 2 行中所有索引号的单位总和。所以,201 第 2 行单元数总和加上 202 第 2 行单元数总和加上 203 第 2 行单元数加上.... 等等

我想尝试用某种公式来做到这一点,而不是深入研究 VBA 代码,尽管我也不会反对。

我希望这不会太令人困惑,并且有人愿意帮助我解决这个问题。谢谢大家。

我能够使用以下公式获得每行的总和:

=VLOOKUP(INDEX($Z$1:$AZ$61,ROW(),MATCH(101,$Z$1:$AZ$1,0)),'Asset Pivot'!C:D,2,FALSE)+VLOOKUP(INDEX($Z$1:$AZ$61,ROW(),MATCH(102,$Z$1:$AZ$1,0)),'Asset Pivot'!C:D,2,FALSE)+VLOOKUP(INDEX($Z$1:$AZ$61,ROW(),MATCH(103,$Z$1:$AZ$1,0)),'Asset Pivot'!C:D,2,FALSE)+VLOOKUP(INDEX($Z$1:$AZ$61,ROW(),MATCH(104,$Z$1:$AZ$1,0)),'Asset Pivot'!C:D,2,FALSE)

但这只在索引表旁边的全新列中给了我一个总和。我不知道如何在保持当前功能的同时将这些值放入所需的单元格。

arrays indexing match
1个回答
0
投票

是我想多了。完成我想要的操作的最简单方法是使用 IF 语句来选择按 ALL 列或基于是否选择了 ALL 或其他内容的索引查找来显示。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.