Excel 基于两个标准的索引匹配
我有一个ID列表和相应的计划Excel 基于两个标准的索引匹配,excel,match,Excel,Match,我有一个ID列表和相应的计划 ID Plan 123456 Ca1 456789 Ca2 456789 Ca3 34567 Ca1 67899 Ca1 67899 Ca5 我需要编写一个查找,检查ID是否存在,如果存在,检查计划是否等于列标题,即计划(Ca1、Ca2等)。如果是,则查找返回1,否则返回0 所以,我的最终结果看起来像 ID
ID Plan
123456 Ca1
456789 Ca2
456789 Ca3
34567 Ca1
67899 Ca1
67899 Ca5
我需要编写一个查找,检查ID是否存在,如果存在,检查计划是否等于列标题,即计划(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?建议的公式不适用于我想要的解决方案。
SUMPRODUCT
是最简单的解决方案
或者更好地使用列表对象:
SUMPRODUCT
是最简单的解决方案
或者更好地使用列表对象:
您也可以使用
Countifs()
公式
=COUNTIFS($A$2:$A$7,$D2,$B$2:$B$7,E$1)
您也可以使用
Countifs()
公式
=COUNTIFS($A$2:$A$7,$D2,$B$2:$B$7,E$1)
可能重复使用数据透视表而不是公式。@ScottCraner,好主意。下次我会试试。可能重复使用数据透视表而不是公式。@ScottCraner,好主意。下次我会试试的。这很好用,谢谢。我对SUMPRODUCT不太熟悉,你能解释一下这个特定的实现是如何工作的吗?@n8_-它比较两个矩阵,当两个矩阵中的值都由变量指定时,它们返回TRUE,并转换为1并显示为TRUE。你应该可以在谷歌上搜索更多的例子。谢谢@Michal Rosa。谷歌搜索不是问题,但要找一个足够熟练的人来解释它是如何工作的。谢谢你的帮助,这很有效,谢谢。我对SUMPRODUCT不太熟悉,你能解释一下这个特定的实现是如何工作的吗?@n8_-它比较两个矩阵,当两个矩阵中的值都由变量指定时,它们返回TRUE,并转换为1并显示为TRUE。你应该可以在谷歌上搜索更多的例子。谢谢@Michal Rosa。谷歌搜索不是问题,但要找一个足够熟练的人来解释它是如何工作的。我感谢你的帮助。