粘贴来自另一个 sheet 的前导公共子串

Paste leading common substrings from another sheet

在 Excel、Sheet1 中,我在一个 sheet 中有以下列,其中包含名称:

在 Sheet2 中,我有一个名为 substring 的列,如下面的屏幕截图所示(为简单起见,我只使用了 1 行):

对于 Sheet1 中的每个名称,我想检查它是否包含 Sheet2 中的任何子字符串,在本例中为 "abreu"。如果名称包含 Sheet2 中的子字符串并且子字符串位于名称的开头,则将子字符串粘贴到它旁边的单元格中。如果名称不包含子字符串,则不要执行任何操作。所需的输出应类似于下面的屏幕截图:

我试过 VLOOKUP,但效果不佳,因为它要么是完全匹配,要么是部分匹配,none 适合我这里的情况。我还尝试了 SEARCH 函数,它也没有检测子字符串是否在名称的开头。非常感谢任何帮助。

像这样的东西应该有用。我在同一个 sheet 上有两个列表,但您可以轻松修改公式以反映 2-sheet 设置。

=INDEX($D:$D,AGGREGATE(15,6,ROW($A:$A)/ISNUMBER(SEARCH($D:$D,LEFT(A2,LEN($D:$D)))),1))

如果不匹配,您还可以将 IFERROR 添加到 return ""