Excel formula Excel公式如果(ISERROR)

Excel formula Excel公式如果(ISERROR),excel-formula,Excel Formula,我有一个公式需要帮助。我试图实现的是检查单元格a中的文本是否出现在单元格C列中的任何位置,如果文本确实出现,则我希望excel打印匹配单元格C中的数据。 到目前为止,我所拥有的是 =如果(iError(匹配(“&A3&”,$C$2:$C$8,0)),“”,A3) 现在这个公式做了我想要的,但是它打印了单元格A的内容,这不仅仅是将其更改为单元格C的情况,因为它不会打印匹配的单元格 我相信这很简单,并提前感谢您的回复。您需要使用索引来获取C列中匹配单元格的内容 如果您有最新版本的Excel(2007

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

=如果(iError(匹配(“&A3&”,$C$2:$C$8,0)),“”,A3)

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


我相信这很简单,并提前感谢您的回复。

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

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

=IFERROR(INDEX($C$2:$C$8,MATCH("*"&A3&"*",$C$2:$C$8,0)),"") 
如果没有,请使用ISERROR,如您所做,然后使用索引函数:-

=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),"")

如果C2:C8中的字符串长度超过256个字符,则可以使用建议的方法。使用“查找”进行部分匹配,将得出以下公式:-

=IFERROR(INDEX($C$2:$C$8,MATCH(TRUE,ISNUMBER(FIND(A3,$C$2:$C$8)),0)),"")
必须使用Ctrl-Shift-Enter键将其作为数组公式输入


如果您不希望它区分大小写,请使用搜索而不是查找。与以前一样,您也可以使用If(iError…用于向后兼容性。

查找文本应该匹配整个单元格内容还是作为其文本的一部分?我不知道为什么在匹配函数中使用A3左右的&符号,有什么特别的原因吗?Taosique-查找文本只需要是单元格中文本的一部分。幸运的是,这两种解决方案都不可行k在Excel 2011 for MACI上编辑了它,因此A3中的查找文本只能是C列中文本的一部分。很抱歉,我无法在MAC上测试它。嗨,汤姆,谢谢你的帮助,现在它可以工作了,但是当C单元格大于256个字符时,它就不工作了。我如何解决这个问题?我想使用@Barry Houdini建议的方法。我会的将它添加到我的答案中。新公式不会作为数组公式输入
=IFERROR(INDEX($C$2:$C$8,MATCH(TRUE,ISNUMBER(FIND(A3,$C$2:$C$8)),0)),"")