Excel - 用于搜索多个术语并显示匹配术语的公式
Excel - Forumla to seacrh for mutliple terms and show the matching term
我面临的挑战是,我需要在 Excel 中搜索多个字词,并为每个匹配不同字词的单元格取回结果。
我知道有一个公式组合可以搜索多个字词,但这不会给我匹配的字词。下面的示例仅返回“0”或“1”。
=IF(ISNUMBER(SEARCH({"TermA","TermB","TermC"},A1)),"1","0")
| | A | B |
| 1 | This is TermA | TermA |
| 2 | Some TermB Text | TermB |
| 3 | And TermA Text | TermA |
| 4 | another TermC | TermC |
背景 我必须对值进行一些规范化,因此寻找一些可以识别值并列出匹配项的论坛。用于搜索的值应该稍后在另一页上,以便可以轻松扩展。
感谢您提供的一些提示和方法,它们会让我走上正确的方向。
到return所有匹配的字词:
=INDEX(FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[.='TermA' or .='TermB' or .='TermC']"),COLUMN(A1))
如果根本没有找到匹配项,则换行 IFERROR()
。
如果有 ExcelO365 并且您引用一个范围,事情就会变得容易得多:
E1
中的公式:
=TRANSPOSE(FILTER(C:C,ISNUMBER(FIND(C:C,A1))))
=INDEX(FILTER(C:C,C:C<>""),MATCH(1, COUNTIF(A1, "*"&FILTER(C:C,C:C<>"")&"*"), 0))
适用于office 365版本。如果以前的版本将 FILTER(C:C,C:C<>"")
替换为 C:C
作为您的示例或任何您的搜索值范围。 Table参考也可以
如果包含您的字词的文本在该文本的任何位置包含匹配值,则公式会搜索您的值列表中的第一个匹配项。它 returns 第一场比赛。
我面临的挑战是,我需要在 Excel 中搜索多个字词,并为每个匹配不同字词的单元格取回结果。
我知道有一个公式组合可以搜索多个字词,但这不会给我匹配的字词。下面的示例仅返回“0”或“1”。
=IF(ISNUMBER(SEARCH({"TermA","TermB","TermC"},A1)),"1","0")
| | A | B |
| 1 | This is TermA | TermA |
| 2 | Some TermB Text | TermB |
| 3 | And TermA Text | TermA |
| 4 | another TermC | TermC |
背景 我必须对值进行一些规范化,因此寻找一些可以识别值并列出匹配项的论坛。用于搜索的值应该稍后在另一页上,以便可以轻松扩展。
感谢您提供的一些提示和方法,它们会让我走上正确的方向。
到return所有匹配的字词:
=INDEX(FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[.='TermA' or .='TermB' or .='TermC']"),COLUMN(A1))
如果根本没有找到匹配项,则换行 IFERROR()
。
如果有 ExcelO365 并且您引用一个范围,事情就会变得容易得多:
E1
中的公式:
=TRANSPOSE(FILTER(C:C,ISNUMBER(FIND(C:C,A1))))
=INDEX(FILTER(C:C,C:C<>""),MATCH(1, COUNTIF(A1, "*"&FILTER(C:C,C:C<>"")&"*"), 0))
适用于office 365版本。如果以前的版本将 FILTER(C:C,C:C<>"")
替换为 C:C
作为您的示例或任何您的搜索值范围。 Table参考也可以
如果包含您的字词的文本在该文本的任何位置包含匹配值,则公式会搜索您的值列表中的第一个匹配项。它 returns 第一场比赛。