如果范围内的任何文本与单元格内的文本匹配,则输出匹配的文本

我需要查看范围C1:D3中的任何文本是否与A1中的任何文本匹配。 如果是,则将该文本输出到B1。 如果不是,则在B1中不输出任何内容。

使用下面列表中的数据,当查找范围在一列C1:C3中时,我已经成功地使用了这个数组公式,但是当从C1:D3的两列扩展查找时,它不能工作。

这在跨一列search时起作用:C列

{=IFERROR(INDEX($C$1:$C$3,MATCH(1,COUNTIF(A1,"*"&$C$1:$C$3&"*"),0)),"")} 

把它改成这样来跨两列search – 没有工作:列C&D

 {=IFERROR(INDEX($C$1:$D$3,MATCH(1,COUNTIF(A1,"*"&$C$1:$D$3&"*"),0)),"")} 

数据

  • C1,2,3包含:纽约,洛杉矶,圣地亚哥
  • D1,2,3包含:多伦多,jackson维尔,纽约
  • A1,2,3,4,5,6包含:出生certificate书纽约,洛杉矶死亡certificate书,结婚证书,圣地牙哥离婚证书,结婚证书,离婚jackson维尔
  • B1包含公式,然后将其拖至B6

任何想法如何做到这一点?

这可以通过嵌套你的IFERROR函数来传递查find第二列,如果第一个不产生匹配,但我怀疑你的示例数据没有充分描述C1的范围:D3。 对于您的示例数据,将使用B1中的以下数组公式完成。

  =IFERROR(INDEX($C$1:$C$3,MATCH(1,COUNTIF(A1,"*"&$C$1:$C$3&"*"),0)),IFERROR(INDEX($D$1:$D$3,MATCH(1,COUNTIF(A1,"*"&$D$1:$D$3&"*"),0)),"")) 

数组公式需要用Ctrl + Shift + Enter 来完成。 一旦input正确,您可以根据需要填写。

用IFERROR查找两列

如果C1:D3的范围与你所描述的有很大的不同,其他方法可能更合适; 包括将查询转换为水平的查询,如果实际上列数多于行数的话。