基于两个条件的索引匹配

时间:2018-11-26 22:32:18

标签: excel match

我有一个ID列表和相应的计划。

ID              Plan
123456          Ca1
456789          Ca2
456789          Ca3
34567           Ca1
67899           Ca1
67899           Ca5

我需要编写一个查询来检查ID是否存在,如果存在,请检查Plan是否等于计划的列标题(Ca1,Ca2等)。如果是这样,则查找返回1,否则返回0。

所以,我的最终结果将看起来像...

ID          Ca1     Ca2   Ca3   Ca5
123456      1       0      0     0
456789      0       1      1     0
34567       1       0      0     0
67899       1       0      0     1

下面是我当前的查找,其中$B$1是列名。但是,它仅适用于列表中的最后一个ID,对于具有该特定计划的其他ID则返回0。

=IF(INDEX([Combined.xlsx]IDs!$A:$C,MATCH($B2,[Combined.xlsx]IDs!$A:$A,0),MATCH("Plan",[Combined.xlsx]IDs!$A$1:$N$1,0))=$B$1,1,0)

如何调整公式以对具有指定计划的所有ID返回1?建议的公式不适用于我想要的解决方案。

2 个答案:

答案 0 :(得分:4)

SUMPRODUCT是最简单的解决方案。

enter image description here

甚至可以使用列表对象:

enter image description here

答案 1 :(得分:1)

您还可以使用Countifs()公式。

=COUNTIFS($A$2:$A$7,$D2,$B$2:$B$7,E$1)

enter image description here