我有一个大型数据集,其中包含一个带有ID的列,然后是子ID,然后是子ID的状态。仅供参考;子ID可以有两种状态。我想要一个公式来查看A列并查找所有匹配的值,如果其中的状态等于" x"然后返回一个定义的值。
示例:
A B C
1-001 0550 UD
1-001 0550 DV
1-001 0003 UD
1-001 0001 UD
1-001 1
1-003 0550 UD
1-003 0003 UD
1-003 0001 UD
1-003 1
1-005 0550 UD
1-005 0550 DV
1-005 0027 UD
1-005 0026 UD
1-005 0024 UD
1-005 0023 UD
1-005 0017 UD
1-005 0014 UD
1-005 0012 UD
1-005 0011 UD
1-005 0003 UD
1-005 0001 UD
1-005 1
我已经尝试了
=IFERROR(INDEX($A$2:$A$7390, SMALL(IF(ISNUMBER(SEARCH(A9,$A$2:$A$7697)),MATCH(ROW($A$2:$A$7697),ROW($A$2:$A$7697))),ROW(A8))),"")
但那不是我真正需要的......
答案 0 :(得分:1)
Simple Countifs可以解决这个问题。在单元格D1中使用此公式并复制:
=IF(COUNTIFS(A:A,A1,C:C,"DV")>0,"HBP","")
答案 1 :(得分:0)
您可以使用数组公式和简单的条件实现此目的。假设ID列在A列,B列中的状态并专门针对" 1-005":
,公式将如下所示=OR(IF(A:A="1-005",C:C,"")="DV")
这是按CTRL
+ SHIFT
+ ENTER
的数组公式输入的。 if将每个单元格与搜索项进行比较,并在列C中输出其对应的状态或以数组的形式输出空字符串。然后将该数组与Defined Value进行比较将输出一个布尔数组,我们将其连接到OR中,如果至少有一个状态等于define值,则为TRUE。希望这是有道理的。欢呼声。