Excel v查找将一列的前3个字符与另一列匹配

Excel v查找将一列的前3个字符与另一列匹配,excel,vlookup,Excel,Vlookup,我正在尝试将a列中的单词列表与B列中的另一个单词列表进行匹配。我只需要a列中单词的前三个字符来匹配B列中单词的前三个字符。我希望结果与B列中的值相同。这可能吗 下面是我使用的:=VLOOKUP(左(A1,3),B$2:B$22,2,TRUE) 但是,我一直得不到答案。有人能帮我吗?尝试使用这样的通配符 =VLOOKUP(左(A1,3)和“*”,B$2:B$22,1,假) 因此,如果A1是“barry”,那么公式将返回B2:B22中以“bar”开头的第一个值 Left是因为您从左侧开始单词/字母数

我正在尝试将a列中的单词列表与B列中的另一个单词列表进行匹配。我只需要a列中单词的前三个字符来匹配B列中单词的前三个字符。我希望结果与B列中的值相同。这可能吗

下面是我使用的:
=VLOOKUP(左(A1,3),B$2:B$22,2,TRUE)


但是,我一直得不到答案。有人能帮我吗?

尝试使用这样的通配符

=VLOOKUP(左(A1,3)和“*”,B$2:B$22,1,假)

因此,如果A1是“barry”,那么公式将返回
B2:B22
中以“bar”开头的第一个值

Left是因为您从左侧开始单词/字母数字文本。我放置的数字“1”位于查找值之后(在本例中为“A1”),因为我的搜索包括第一个字符的公式。如果询问第二个字符,则为(A1,2) 非常简单:)

LEFT()截断字符串的前n个字符,您需要在两列中执行此操作。 VLOOKUP的第三个参数是要返回的列的编号。因此,如果您的范围不仅是B$2:B$22,而且是B$2:C$22,那么您可以选择使用列B值(1)或列C值(2)返回

如果由于名称在表数组中的格式而需要截断我的
Lookup\u值
,我将使用此选项。例如,我的
Lookup\u值
是“Eastbay District”,但我的
表数组
列表仅显示为“Eastbay”。“东湾区”减去9个字符将生成“东湾”

我希望这有帮助

整洁的东西

我想根据“部分准确的城镇名称”查找“准确的城镇ID”,但尽管我有整个城镇的名称,我还是在搜索部分城镇名称的列表。因此,我首先根据零件找到了“确切的城镇名称”(这实际上是一个局部名称,因为“主列表”是局部名称)。。。然后根据准确的城镇名称搜索“准确的城镇ID”,这样我所有的Vlookups/Index/Match whatevers……都设置为准确的

=索引(县市委备忘单!$E$1:$E$516,匹配(VLOOKUP(左(D3,3)和“*”,县市委备忘单!$E$1:$E$516,1,假),县市委备忘单!$E$1:E$516,0))


“根据部分城镇名称列表查找部分城镇名称的前三个字母是匹配的(VLOOKUP(左(D3,3))和”*“part

值得注意的是,您对原始公式所做的另外两个更改:使用1而不是2作为列号,从中检索匹配值,因为B$2:B$22仅为一列宽;以及更改第四个“范围查找”VLOOKUP的参数为FALSE,因为您希望前三个字符完全匹配。欢迎使用堆栈溢出。虽然此代码可能会回答此问题,但提供有关此代码为什么和/或如何回答此问题的其他上下文将提高其长期值。谢谢。
=VLOOKUP(Left(A1,1),B$2:B$22,2,FALSE)
=VLOOKUP(LEFT(A1,3),LEFT(B$2:B$22,3), 1,FALSE)
=VLOOKUP(LEFT(A4,LEN(A4)-9),$D:$F,3,0)
=IF(ISNUMBER(SEARCH(LEFT(H2,3),I2)),"YES","NO")))