Vba 使用查找在excel中实现匹配功能

Vba 使用查找在excel中实现匹配功能,vba,excel,lookup,vlookup,Vba,Excel,Lookup,Vlookup,大家好,我有一个excel文件,我把它放在这里了 它有两个工作表、指标和TTP Indicator有多个列,但Indicator_TTP是这里的外键 TTP有TTP_ID和其他列 现在在指示器工作表中,我想从TTP工作表中获取名称,所以尝试使用查找函数 不幸的是,它给了我错误的结果 我使用这个公式=LOOKUP(G:G,TTPs!A:A,TTPs!D:D) 我的概念是在TTPs表中的列和匹配返回TTPs D列中查找G的所有值,我是否遗漏了什么?查找函数将([lookup value]、[look

大家好,我有一个excel文件,我把它放在这里了

它有两个工作表、指标和TTP

Indicator有多个列,但Indicator_TTP是这里的外键

TTP有TTP_ID和其他列

现在在指示器工作表中,我想从TTP工作表中获取名称,所以尝试使用查找函数

不幸的是,它给了我错误的结果

我使用这个公式
=LOOKUP(G:G,TTPs!A:A,TTPs!D:D)

我的概念是在TTPs表中的列和匹配返回TTPs D列中查找G的所有值,我是否遗漏了什么?

查找函数将([lookup value]、[lookup vector]、[result vector])作为参数尝试将输入的第一个参数(G:G)切换到单个单元格(G1)并将其向下拖动,以获得列中的结果列表


=查找($G1,TTPs!A:A,TTPs!D:D),然后向下拖动。

不确定为什么不使用
VLOOKUP()

如果你给VLOOKUP一个合适的table_数组,它就会工作。您不能给它1列以返回第4列

在指示器中的K列中,使用下面的公式,然后双击右下角的方点以自动填充

=IFERROR(VLOOKUP(G2,TTPs!A:D,4,FALSE),"TTP not found")

您是否对
TTPs中的值进行了排序!A:A
按升序排列?请将您的文件上载到免费服务,在那里我无需注册或登录即可下载任何内容。@ScottCraner这是clean plus虚拟机rock:)Excel给我一个警告。这是一个.xls文件,但Excel显示文件格式和扩展名不匹配。文件可能已损坏或不安全。我不会打开它。如果你用7zip打开下载的文件,你可以清楚地看到它是一个.xlsx文件,但错误地使用了.xls扩展名。它仍然返回相同的reusltThank alot,就像一个符咒,但为什么它显示“0”以及“TTPs!a:D”是什么意思?我们正在将G2与A匹配到D???@require_一旦
TTPs!A:D
是查找范围,它使用A列作为整列来查找G2,如果找到,则返回第4列,这就是公式中的
4
的意思,在本例中为D列。
0
之所以出现,是因为它在a列中找到了匹配项,但在该行的D列中没有值或
0
。@require\u一次,因为您的工作表TTP是按a列升序排序的工作表(上载了错误的文件?),所以
查找()
如果没有精确匹配,则返回最接近的结果-您需要的是哪个精确匹配。谢谢斯科特的解释。