Excel:返回true或false的VLOOKUP?

时间:2010-05-19 14:51:55

标签: excel excel-formula excel-2003

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

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

6 个答案:

答案 0 :(得分:9)

您可以将VLOOKUP()包装在IFERROR()

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

答案 1 :(得分:8)

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


编辑:

  

如果在C列中找到B1的值,则说单元格A1应该为1,否则它应该是2.你会怎么做?

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

您可以将B1COUNTIFVLOOKUP结合使用,这比使用2次查找+ ISNA要快得多。 IF

一点谷歌搜索将为您带来大量的examples

答案 2 :(得分:7)

您仍然必须将其包装在ISERROR中,但您可以使用MATCH()代替VLOOKUP()

  

返回一个的相对位置   匹配a的数组中的项   指定顺序的指定值。   使用MATCH而不是LOOKUP之一   在需要位置时起作用   范围中的项目而不是   项目本身。

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

=IF(ISERROR(MATCH("key",A5:A16,FALSE)),"missing","found")

FALSE是强制完全匹配所必需的,否则会查找最接近的值。

答案 3 :(得分:1)

我们一直使用

if(iserror(vlookup,"n/a",vlookup))

Excel 2007引入了IfError,它允许你在发生错误的情况下执行vlookup并添加输出,但这对2003年没有帮助...

答案 4 :(得分:1)

您可以使用:

=IF(ISERROR(VLOOKUP(lookup value,table array,column no,FALSE)),"FALSE","TRUE")

答案 5 :(得分:-1)

ISNA是最好的功能。我已经做了。我希望值不在数组中的所有单元格有条件地格式化为某种颜色。

= ISNA(VLOOKUP($ A2,工作表Sheet $ A:$ d,2,FALSE))