Excel索引匹配多行结果
我被困在一个Excel问题上,希望能有人帮助。 我通读了10-15个相似的话题,但是我没能得到任何东西。 这是我在哪里…
我有一个包含Year
, Name
, Total 1
, Total 2
(和其他20列)的大型数据集。 相同的名称基于每年总计出现在多行中。 在另一张纸上,我有另一个包含名称的数据集,并希望将数据从表1拉到列中,如下所示。
过去我只用了一年的时间做了以下公式的初始数据集:
=INDEX(DATARANGE,MATCH([@Name],DATARANGE[Name],0),MATCH("Total 1",DATARANGE[#Headers],0))
我遇到的问题是将多年的数据添加到我的第一个数据集的结果。 有没有办法根据name
和year
匹配行,然后返回相应列的结果?
将第一个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]
另外,由于这是一个数组公式,所以它可能不适用于结构化引用。 你最好用常规的单元格引用。 此外,如果它不是一个表只有单元格引用将工作。