Excel 公式 - 将列表的子字符串与列表匹配

Axe*_*xel 1 string excel substring match excel-formula

我的 Excel 电子表格中有两个列表。

第一个列表包含诸如以下的字符串

1234 blue 6 abc
xyz blue/white 1234
abc yellow 123
Run Code Online (Sandbox Code Playgroud)

另一个列表包含第一个列表的子字符串

yellow
blue/white
blue
Run Code Online (Sandbox Code Playgroud)

结果

1234 blue 6 abc         blue
xyz blue/white 1234     blue/white
abc yellow 123          yellow
Run Code Online (Sandbox Code Playgroud)

现在我需要某种匹配公式来将第二个列表中的正确值分配给第一个列表。问题是,没有特定的模式来确定颜色子字符串的位置。另一个问题是,这些值并不完全唯一。正如上面的示例所示,查找需要按顺序进行(在检查“蓝色”之前检查“蓝色/白色”)。

我玩弄了诸如 之类的公式matchfind也使用了wildcards *但无法得出任何结果。这里提出的类似问题涵盖了相反的情况如何查找子字符串是否存在于字符串列表中(如果存在,则返回列表中的完整值)

任何帮助都是appriced。公式固然很酷,但使用 vba 也可以。

小智 5

=INDEX(D$7:D$9, AGGREGATE(15, 7, ROW($1:$3)/ISNUMBER(SEARCH(D$7:D$9, A2)), 1))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 这在什么方面不能回答问题?它特别提供了一个解决方案“需要某种匹配公式将第二个列表中的正确值分配给第一个列表”*并且提供的图像证明了OP的样本数据和预期结果。 (3认同)