在Excel中,我们有一个VLOOKUP函数,它在表中的列中查找一个值,如果找到了什么,则返回该表中给定列中的值。如果没有,就会产生一个错误。
是否有一个函数可以根据值是否在列中找到而返回true或false?
发布于 2010-05-19 22:54:14
您可以将VLOOKUP()包装在IFERROR()中。
编辑:在Excel2007之前,使用=IF(ISERROR()...)
发布于 2010-05-19 22:59:19
您仍然需要将其包装在ISERROR中,但可以使用MATCH()而不是VLOOKUP()
返回按指定顺序匹配指定值的数组中项的相对位置。当您需要某个项目在某个范围内的位置而不是该项目本身时,请使用MATCH而不是其中一个查找函数。
下面是一个完整的示例,假设您在一系列单元格中查找单词"key“:
=IF(ISERROR(MATCH("key",A5:A16,FALSE)),"missing","found")FALSE是强制精确匹配所必需的,否则它将查找最接近的值。
发布于 2010-05-20 07:13:21
只要使用COUNTIF就可以了!与其他建议相比,编写和计算要快得多。
编辑:
假设你的单元格A1应该是1,如果B1的值在C列中,否则应该是2。你会怎么做呢?
我会说,如果在C列中找到B1的值,那么A1将为正,否则将为0。使用公式:=COUNTIF($C$1:$C$15,B1)很容易做到这一点,这意味着:计算范围C1:C15中等于B1的单元格。
您可以将COUNTIF与VLOOKUP和IF结合使用,这比使用2个查找+ ISNA要快得多。IF(COUNTIF(..)>0,LOOKUP(..),"Not found")
稍微搜索一下就会给你带来大量的examples。
https://stackoverflow.com/questions/2866632
复制相似问题