如果范围内的任何文本与单元格内的文本匹配,则输出匹配的文本
我需要查看范围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正确,您可以根据需要填写。
如果C1:D3的范围与你所描述的有很大的不同,其他方法可能更合适; 包括将查询转换为水平的查询,如果实际上列数多于行数的话。