索引/符合三个标准

时间:2016-02-05 20:19:39

标签: arrays excel

我搜索过搜索,搜索和搜索,我只能找到符合两个标准的索引/匹配解决方案。

有没有人有三个标准的索引/匹配解决方案?

作为我实际数据的示例,我想索引/匹配年份,类型和名称以查找月份列中的数据

enter image description here

3 个答案:

答案 0 :(得分:4)

您可以使用 SUMPRODUCT()匹配无限数量的条件,以找到正确的行:

=INDEX(D2:D9,SUMPRODUCT((A2:A9=2015)*(B2:B9="Revenue")*(C2:C9="Name 1")*ROW(2:9))-1)

enter image description here

修改#1:

Scott的评论是正确的! SUMPRODUCT()方法的优点是它不是数组公式,可以扩展以处理许多条件。缺点是它只有在 1 匹配行时才有效。

SUMPRODUCT()的使用在这里得到了很好的解释:

xlDynamic Paper

答案 1 :(得分:2)

如果假设您的数据以A1(“年”)开始并进入D15(“????”),则可以使用此方法。您基本上只需使用&添加条件,然后在执行Match()区域时,也可以使用&连接各自的范围。

=Index(D2:D9,Match(A15&B15&C15,A2:A9&B2:B9&C2:C9,0))

并使用 CTRL + SHIFT + ENTER 输入并使引用绝对(即$D$2:$D$9),我只是没有让公式更容易阅读。

答案 2 :(得分:2)

因为您的问题有数字数据,所以您只需使用SUMIFS。

SUMIFS提供特定范围的总和[在这种情况下为D列],其中任何数量的相同大小的其他范围[在这种情况下其他列]均与特定标准匹配。对于文本结果,将需要其他推荐的解决方案之一。

除了更清洁一点之外,它还具有[根据您的需要可能是好还是坏]的属性,如果存在倍数,它将获取多行数据,并将它们全部加起来。如果你期望有独特的行,这很糟糕,因为它不会警告你有多个。

您的案例中的公式如下[显然,您应该调整公式以引用您的ID单元格,并选择适当的列]:

=SUMIFS(D:D,A:A,2015,B:B,"Revenue",C:C,"Name1"))

这是做什么的:

总和列D,对于每一行,其中:(1)列A是数字2015; (2)B栏是文本" Revenue&#34 ;; AND(3)C列是单词" Name1"。