2013-05-29 20:43:50 +0000 2013-05-29 20:43:50 +0000
89
89

在Excel中,我如何检查一个单元格是否在一个值的列表中(单元格的范围)

我有一个包含名字的范围(A3:A10),我想检查另一个单元格(D1)的内容是否与列表中的一个名字匹配。

答案 (9)

92
92
92
2013-05-29 20:47:46 +0000

=COUNTIF(some_names,D1)

应该是有效的(如果名字存在,则为1–如果有一个以上的实例,则为多)。

66
66
66
2013-06-06 20:40:03 +0000

我比较喜欢的答案是:

=COUNTIF(some_names,D1)>0

&001

,如果D1被发现至少一次,则返回 “true",否则返回 "false"。

26
26
26
2014-11-10 22:57:45 +0000

我知道OP特别说明了这个列表来自于一个单元格的范围,但其他人可能会在寻找特定的值范围时偶然发现。这将给你一个匹配的数字(在本例中,第二个点,所以是2)。如果没有匹配,它将返回 #N/A。

=MATCH(4,{2,4,6,8},0)
=MATCH(A1,{2,4,6,8},0)

你也可以用一个单元格代替前四位。把4放在A1单元格中,然后把它输入到其他单元格中。

18
18
18
2013-05-29 21:09:03 +0000

如果你想把countif变成其他的输出(比如boolean),你也可以这样做:

=IF(COUNTIF(some_names,D1)>0, TRUE, FALSE)

享受吧

8
8
8
2013-05-29 23:28:54 +0000

如果想了解更多的信息,可以使用MATCH,例如:

=ISNUMBER(MATCH(D1,A3:A10,0))

5
5
5
2018-07-11 22:06:20 +0000

有一个有趣的小技巧,就是在some_names的范围内返回布尔值,可以在"purple","red","blue","green","orange"中明确指定:

=OR("Red"={"purple","red","blue","green","orange"})

注意,这不是一个数组公式

2
2
2
2013-12-05 19:33:00 +0000

你可以在--([range]=[cell])IFSUMIFS参数中嵌套COUNTIFS。例如,IF(--($N$2:$N$23=D2),"in the list!","not in the list")。我相信这样做可能会更有效地利用内存。

或者,你可以把一个ISERROR包裹在一个VLOOKUP中,全部包裹在一个IF语句中。比如,IF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" )

0
0
0
2016-12-08 12:38:21 +0000

阵列公式版本(用Ctrl + Shift + Enter输入):

=OR(A3:A10=D1)
-1
-1
-1
2013-08-24 11:59:30 +0000

在这种情况下,我只想在可能出现的错误时得到提醒,所以我会这样解决…..

=if(countif(some_names,D1)>0,"","MISSING")

&001

然后我会把这个公式从E1复制到E100。如果D列中的值不在列表中,我将得到MISSING消息,但如果值存在,我将得到一个空单元格。这样一来,缺失的值就更显眼了。