我有 2 张纸:
sheet1 包含 2 列,如下所示:
columnA columnB
AB Texas
BC California
DE Virginia
sheet2 包含 1 列,如下所示:
columnA
AB_documentOne.pdf
BC_documentTwo.pdf
DE_documentThree.pdf
AB_documentFour.pdf
AB_documentFive.pdf
DE_documentSix.pdf
在 Sheet2 中的相邻列“columnB”中,我想要从 Sheet1 中的 columnB 中提取正确的值。
期望结果:
columnA columnB
AB_documentOne.pdf Texas
BC_documentTwo.pdf California
DE_documentThree.pdf Virginia
AB_documentFour.pdf Texas
AB_documentFive.pdf Texas
DE_documentSix.pdf Virginia
我试过:
=INDEX(sheet1!B:B,MATCH(sheet1!A:A,sheet2!A:A,0))
由于我使用 Sheet1 中的 columnA 作为 Sheet2 中 columnA 的子字符串查找,因此这将产生错误。
Excel 版本:2013
感谢您的帮助。
答案1
我能够使用 LEFT(string,2) mod 进行以下操作以进行查找,切换匹配参数的顺序,并将 A:A 切换至特定单元格,但固定该列,以便您可以将其复制到该列而不会出现问题:
=INDEX(Sheet1!B:B,MATCH(LEFT(Sheet2!$A1,2),Sheet1!A:A,0))
编辑后续评论:
要在全文中的任何位置找到目标字符串,我能够使其工作的唯一方法是使用数组公式(必须按CTRL+ SHIFT+输入它们ENTER)并使用我发现的 COUNTIF() 技巧这里首先找到目标字符串开始匹配全文的索引。
COUNTIF() 查找找到了哪个目标字符串(实际上它为您提供了匹配的数量),然后使用 MATCH() 使用哪个字符串具有 1 个匹配的索引,然后您的 INDEX() 获取与找到的匹配项相对应的州名称。
=INDEX(Sheet1!B:B,MATCH(1,COUNTIF(A1,"*"&Sheet1!A:A&"*"),0))