我正在尝试将电子表格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执行它,将其视为数组公式。