Excel索引匹配多行结果

我被困在一个Excel问题上,希望能有人帮助。 我通读了10-15个相似的话题,但是我没能得到任何东西。 这是我在哪里…

我有一个包含YearNameTotal 1Total 2 (和其他20列)的大型数据集。 相同的名称基于每年总计出现在多行中。 在另一张纸上,我有另一个包含名称的数据集,并希望将数据从表1拉到列中,如下所示。

在这里输入图像描述

过去我只用了一年的时间做了以下公式的初始数据集:

 =INDEX(DATARANGE,MATCH([@Name],DATARANGE[Name],0),MATCH("Total 1",DATARANGE[#Headers],0)) 

我遇到的问题是将多年的数据添加到我的第一个数据集的结果。 有没有办法根据nameyear匹配行,然后返回相应列的结果?

将第一个MATCH函数更改为如下所示:

=MATCH(1,INDEX(([@Name]=DATARANGE[Name])*([@Year]=DATARANGE[Year]),0),0)

所以作为你整个公式的一部分,就是这个

=INDEX(DATARANGE,MATCH(1,INDEX(([@Name]=DATARANGE[Name])*([@Year]=DATARANGE[Year]),0),0) ,MATCH("Total 1",DATARANGE[#Headers],0))

另一种可以用来返回数字的方法就像这样:(为了简单起见,使用单元格参考)。

=SUMPRODUCT((A2:A9=2013)*(B2:B9="name x")*(C1:D1="Total 1"),C2:D9)

 =SUM(($A$2:$A$9=B$16)*($B$2:$B$9=$A17)*($C$2:$C$9)) 

在单元格B14中以数组公式或以下的标准input

 =SUMPRODUCT(($A$2:$A$9=B$16)*($B$2:$B$9=$A17)*($C$2:$C$9)) 

你可以做同样的总数2只需要用Cs代替Cs

然后向右和向下拖动。

如果提交的数据被索引是一个表格

这个

 =MATCH(1,INDEX(([@Name]=DATARANGE[Name])*([@Year]=DATARANGE[Year]),0),0) 

应该纠正为适当的结构参考

 @[Name] 

另外,由于这是一个数组公式,所以它可能不适用于结构化引用。 你最好用常规的单元格引用。 此外,如果它不是一个表只有单元格引用将工作。