我正在使用两张excel表。工作表1有一个“姓氏”列D,工作表2有一个“名称”列A.“名称”列包含最后一个名字所以我需要一个部分匹配选项来查找每个工作表中的客户姓氏并创建一个新列表使用在另一个工作表中的工作表2的“名称”列A中找到的信息。这可能很简单,但对于缺乏excel的人,我会很感激帮助。
答案 0 :(得分:0)
您可以使用通配符搜索执行INDEX MATCH函数。
=INDEX(B:B,
MATCH("*"&D2&"*",Sheet2!A:A,0),1)
匹配函数将搜索单元格D2中的部分字符串。 (假设D1是列的标题,这将是一个姓氏) - " *"&在D2的任一侧的部分搜索部分字符串。如果列只包含姓氏,那么它只是
=INDEX(B:B,
MATCH(D2,Sheet2!A:A,0),1)
在搜索部分字符串后,它将搜索Sheet2中的A列并找到匹配的名称(让我们希望您没有重复的名称)。 一旦匹配了两个名称,就会出现INDEX函数。这将从您想要的任何列中获取相应的值,但只与该姓氏位于同一行。
如果你想在另一张纸上全部使用,你可以这样做。
=INDEX(Sheet1!B:B,
MATCH(Sheet1!"*"&D2&"*",Sheet2!A:A,0),1)
也许在一些错误处理方面也很糟糕。
=IFNA(INDEX(Sheet1!B:B,
MATCH(Sheet1!"*"&D2&"*",Sheet2!A:A,0),1), "No Match or No Data")