我有下表...
Key Result
1 T
2 G
2 T
3 T
3 T
4 G
4 T
4 T
5 G
5 T
5 T
我需要执行一个查找,该查找将找到Key
并检查Key
是否有Result
的T或G,如果为1,否则为0。
因此对于上表,我的两个公式应返回以下内容...
Key T G
1 1 0
2 1 1
3 1 0
4 1 1
5 1 1
显然VLOOKUP
无效,因为它只能找到第一个匹配项,因此我尝试使用INDEX-MATCH
=INDEX($B:$B,MATCH($A2,$A:$A,0),1)
上面的公式为每个Result
返回Key
,但是如果结果为T
,我将如何修改它以返回1,否则返回0?
编辑:解决方案
=IF(COUNTIFS(A:A,E2,B:B,F1)>0,"1","0")
答案 0 :(得分:1)
有很多方法可以实现这一目标,下面是其中两个示例:
假设查找表位于Sheet2!A:C
MATCH()
中的字符串串联
=--ISNUMBER(MATCH($A2&"T",$A:$A&$B:$B,0))
或
=--ISNUMBER(MATCH($A2&B$1,Sheet1!$A:$A&Sheet1!$B:$B,0))
使用COUNTIF()
=--(COUNTIFS($A:$A,$A2,$B:$B,"T")>0)
或
=--(COUNTIFS(Sheet1!$A:$A,$A2,Sheet1!$B:$B,B$1)>0)
您可以使用IF([],1,0)
代替--
答案 1 :(得分:0)
假设Key
在A1中,请构造输出的标头(例如在D1中使用Key
),然后在E2中构建
=1*(COUNTIFS($A:$A,$D2,$B:$B,E$1)>0)
复制到F6。
答案 2 :(得分:0)
您听说过array (CTRL + Enter) formulas吗?
假设您只想知道一个键是否有G 结果,这就是我建议您使用的:
对键和您的值进行比较。
=($A$2:$A$12=KEY)*($B$2:$B$12=RESULT)
(其中KEY和RESULT是实际值的单元格(1,2,3 ...是KEY,T或G是RESULT),然后按CTRL + ENTER。如果使用Evaluate Formula button,则我会很容易理解它的工作原理。
如果您仅在此数组上执行MAX
,那么如果您的请求(即,如果您的“表”中同时具有KEY和RESULT),则最终将得到1,否则,您将获得0。
使用这种方法,但是将MAX
更改为SUM
,将为您提供符合条件的次数。
记住要在完成数组公式的编辑后始终按CTRL + ENTER!
最终公式=MAX(($A$2:$A$12=$A19)*($B$2:$B$12=B$18))