Excel Formula IF(ISERROR

时间:2015-01-22 11:38:46

标签: excel-formula

我有一个公式我需要一些帮助。我想要实现的是检查单元格A中的文本是否出现在单元格C列中的任何位置,如果文本确实出现,那么我希望excel打印匹配的单元格C中的数据。 到目前为止我所拥有的是什么;

= IF(ISERROR(MATCH(" "&安培; A3&安培;" ",$ C $ 2:$ C $ 8,0)), "",A3)

现在这个公式做了我想要的但它打印了Cell A的内容,它不仅仅是将它更改为Cell C的情况,因为它不会打印匹配的单元格。

我确信这是一件简单的事情,而且事先得到你的答复。

1 个答案:

答案 0 :(得分:1)

您需要使用INDEX来获取C列中匹配单元格的内容。

如果您有最新版本的Excel(2007年以后),您可以使用IFERROR检查匹配是否成功: -

=IFERROR(INDEX($C$2:$C$8,MATCH("*"&A3&"*",$C$2:$C$8,0)),"") 

如果没有,请使用ISERROR,然后使用INDEX功能: -

=IF(ISERROR(MATCH("*"&A3&"*",$C$2:$C$8,0)),"",INDEX($C$2:$C$8,MATCH("*"&A3&"*",$C$2:$C$8,0)))

您也可以使用VLOOKUP: -

=IFERROR(VLOOKUP("*"&A3&"*",$C$2:$C$8,1,FALSE),"")

=IF(ISERROR(VLOOKUP("*"&A3&"*",$C$2:$C$8,1,FALSE)),"",VLOOKUP("*"&A3&"*",$C$2:$C$8,1,FALSE))

如果C2:C8中的字符串长度超过256个字符,则可以使用建议的方法Here。使用FIND进行部分匹配,这将给出公式: -

=IFERROR(INDEX($C$2:$C$8,MATCH(TRUE,ISNUMBER(FIND(A3,$C$2:$C$8)),0)),"")

必须使用Ctrl-Shift-Enter输入数组公式。

如果您不希望它区分大小写,请使用SEARCH而不是FIND。和以前一样,您也可以使用IF(ISERROR ...以实现向后兼容性。