Excel 公式在多个单元格中搜索单词字符串中的匹配单词

问题描述 投票:0回答:1

我有两列,一列 (A) 包含来自一个数据库的约 1000 个帐户名称,第二列 (B) 包含来自另一个数据库的约 70000 个帐户名称。这些名称可能匹配,但不一定。有时只有一个词会匹配。

我需要一个公式来:

  • 从第 1 列中获取名称(或单独的单词)
  • 在第 2 列中搜索任何匹配的单词(不是全名!这还不够)
  • 如果存在匹配项,请将 A 列的内容放入 C 列中(B 列中的匹配条目旁边)。如果不可能,我可以接受是/否、对/错。

所以它应该看起来像这样:

A 栏 B 栏 C 栏
戴姆勒股份公司 马格里布塑料 错误
Ege 塑料 戴姆勒股份公司 戴姆勒股份公司
Aiplast,S.L Veritex B.V. 错误
Adria Media 萨格勒布 d.o.o Meto 国际有限公司 错误
维瑞浆果有限公司 咸味纸业有限公司 错误
Ege Plastik Ambalaj San ve Tic A.S. Ege 塑料
阿德里亚媒体萨格勒布 Adria Media 萨格勒布 d.o.o

如果(如上所示)只有 B 列的一部分与 A 列中的单元格匹配,那么我获得结果至关重要。我什至不确定这是否可以完成,但任何接近的结果也会有所帮助。

我喜欢它的工作原理:

=IF(COUNTIF(A1,"*Daimler*"),"Found","Not found")

但在这种情况下,我需要通过替换星号之间的文本来为 A 列中的每个单元格单独构建此函数。

excel-formula
1个回答
0
投票

好吧,这是我迄今为止想到的最好的:

=XLOOKUP("*"&TEXTBEFORE(B25:B31," ")&"*",A25:A31,A25:A31,"False",2)

它的作用:

"*"&TEXTBEFORE(B25:B31," ")&"*"
为您提供 B 行中的“空格”之后的第一个单词,并在前后添加星号;

A25:A31
是在其中搜索该单词的列表,以及返回的列表;

"FALSE"
是列表中没有找到任何内容的结果;

2
激活通配符搜索;

只需相应调整您的范围即可。不能保证它 100% 不会失败,但对于给定的数据集,它似乎有效。

© www.soinside.com 2019 - 2024. All rights reserved.