jos*_*ine 96 worksheet-function microsoft-excel
我有一个包含名称的范围 (A3:A10),我想检查另一个单元格 (D1) 的内容是否与列表中的名称之一匹配。
我已将范围 A3:A10 命名为“some_names”,并且我想要一个 excel 公式,该公式将根据内容给出 True/False 或 1/0。
jos*_*ine 70
我的首选答案(从 Ian 修改而来)是:
=COUNTIF(some_names,D1)>0
Run Code Online (Sandbox Code Playgroud)
如果在 some_names 范围内找到 D1 至少一次,则返回 TRUE,否则返回 FALSE。
(COUNTIF 返回一个整数,表示在该范围内找到该条件的次数)
小智 30
我知道 OP 特别指出该列表来自一系列单元格,但其他人可能会在寻找特定范围的值时偶然发现这一点。
您还可以使用该MATCH函数查找特定值,而不是范围。这会给你匹配的数字(在这种情况下,第二个位置,所以 2)。如果没有匹配,它将返回#N/A。
=MATCH(4,{2,4,6,8},0)
Run Code Online (Sandbox Code Playgroud)
您也可以用一个单元格替换前四个。在单元格 A1 中输入 4 并将其输入到任何其他单元格中。
=MATCH(A1,{2,4,6,8},0)
Run Code Online (Sandbox Code Playgroud)
小智 18
如果您想将 countif 转换为其他输出(如布尔值),您还可以执行以下操作:
=IF(COUNTIF(some_names,D1)>0, TRUE, FALSE)
享受!
小智 8
如果some_names可以明确指定范围,则有一个漂亮的小技巧返回布尔值,例如"purple","red","blue","green","orange":
=OR("Red"={"purple","red","blue","green","orange"})
Run Code Online (Sandbox Code Playgroud)
请注意,这不是数组公式