Excel索引和匹配函数与通配符字符串



我正在尝试将电子表格2中的一个字符串与spreashet 1中两个单元格值之间带有通配符的字符串进行匹配,然后在匹配时将电子表格1中C列的值返回到电子表格2中B列。

电子表格1

A               B                C 
Jonathan        Smith            1234
Sarah           Jones            1235 

电子表格2

A                             B 
Jonathan Harry Smith          Return value from column C from Spreadsheet 1 - expected to be 1234     
Sarah Jones                   Return value from column C from Spreadsheet 1 - expected to be 1235

我试过的配方是

=INDEX(A:A, MATCH('Spreadsheet 1'A1&"*"&'Spreadsheet 1'B1,'Spreadsheet 1'C:C,0))

该公式似乎不起作用,因为它没有从电子表格1的C列返回正确的值,而是为不同的人返回了一个值。我哪里出了问题?非常感谢。

您的公式似乎是向后的,因为它将返回Sheet2上的名称,而不是Sheet1的C列中的值。它也是基于Sheet1的顺序而不是Sheet2的顺序进行匹配的。如果表格的顺序不同,公式就会失败。

我不完全确定excel通配符是否能按你需要的方式工作。我建议解析出表2中A列的名字和姓氏,并将它们与表1中的A列和B列匹配。只要Sheet2的A列中有1个或2个空格,此操作就会起作用。在Sheet2的单元格B2中尝试此公式:

=INDEX(Sheet1!C:C,MATCH(IFERROR(RIGHT(A2,LEN(A2)-SEARCH(" ",A2,SEARCH(" ",A2)+1)),RIGHT(A2,LEN(A2)-SEARCH(" ",A2))),IF(Sheet1!A:A=LEFT(A2,SEARCH(" ",A2)-1),Sheet1!B:B),0),1)

这个公式可以在不将其作为数组公式输入的情况下工作,这让我很惊讶。为了安全起见,我会用CTRL+Shift+Enter执行它,将其视为数组公式。

最新更新