Excel:返回true或false的VLOOKUP?

Svi*_*ish 5 excel excel-2003 excel-formula

在Excel中,我们有一个VLOOKUP函数,它在表中的列中查找值,然后在找到某些内容时返回该表中给定列的值.如果没有,则会产生错误.

是否有一个函数只返回true或false,具体取决于是否在列中找到了值?

Mar*_*ker 9

你可以将你的VLOOKUP()包装在IFERROR()中

编辑:在Excel 2007之前,使用 =IF(ISERROR()...)


Pat*_*rez 8

只需使用COUNTIF!编写和计算比其他建议快得多.


编辑:

假设如果在C列中找到B1的值,则单元格A1应该为1,否则它应该是2.您将如何做到这一点?

我会说如果在C列中找到B1的值,则A1将为正,否则它将为0.这很容易用公式:=COUNTIF($C$1:$C$15,B1),这意味着:计算范围内C1:C15等于的单元格B1.

您可以结合COUNTIF使用VLOOKUPIF,而这比使用2个查找+ ISNA更快. IF(COUNTIF(..)>0,LOOKUP(..),"Not found")

一点谷歌搜索将带来大量的例子.


Bra*_*adC 7

您仍然需要将其包装在ISERROR中,但您可以使用MATCH()而不是VLOOKUP():

返回数组中项目的相对位置,该项目按指定顺序与指定值匹配.当您需要某个范围内的项目位置而不是项目本身时,请使用MATCH而不是其中一个LOOKUP函数.

这是一个完整的例子,假设你在一系列单元格中寻找"key"这个词:

=IF(ISERROR(MATCH("key",A5:A16,FALSE)),"missing","found")
Run Code Online (Sandbox Code Playgroud)

FALSE是需要强制的精确匹配,否则它会寻找最接近的值.