掌握excel固定单元格技巧,让数据管理更高效
498
2022-11-25
VLOOKUP 函数
当需要在表格或区域中按行查找项目时,请使用VLOOKUP。例如,按部件号查找汽车部件的价格,或根据员工ID查找员工姓名。
提示: 查看这些来自Excel社区专家的YouTube视频获取有关VLOOKUP的更多帮助!
在这一最简单的形式中,VLOOKUP函数表示:
=VLOOKUP(你想要查找的内容,要查找的位置,包含要返回的值的区域中的列号,返回近似或精确匹配-表示为1/TRUE或0/假)。
提示: VLOOKUP的秘诀在于组织数据,这样您查找的值(水果)位于要查找的返回值(金额)的左侧。
技术细节使用VLOOKUP函数在表中查找值。
语法
VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
例如:
=VLOOKUP(A2,A10:C20,2,TRUE) =VLOOKUP(“袁”,B2:E7,2,FALSE) =VLOOKUP(A2,”客户端详细信息”!A:F,3,FALSE)
参数名称 说明
lookup_value (必需参数)
要查找的值。要查找的值必须位于您在table_array参数中指定的单元格区域的第一列中。
例如,如果表数组跨越单元格B2:D7,则您的lookup_value必须位于B列中。
Lookup_value可以是值,也可以是单元格引用。
Table_array (必需参数)
VLOOKUP在其中搜索lookup_value和返回值的单元格区域。你可以使用命名区域或表,并且可以在参数中使用名称,而不是单元格引用。
单元格区域中的第一列必须包含lookup_value。单元格区域中还需要包含要查找的返回值。
了解如何选择工作表中的区域。
col_index_num (必需参数)
包含返回值的列号(从1开始的table_array的最左侧列)。
range_lookup (可选参数)
一个逻辑值,该值指定希望VLOOKUP查找近似匹配还是精确匹配:
近似匹配-1/TRUE假设表中的第一列按数值或字母顺序排序,然后将搜索最接近的值。这是未指定值时的默认方法。例如,=VLOOKUP(90,A1:B100,2,TRUE)。 完全匹配-0/FALSE将搜索第一列中的确切值。例如,=VLOOKUP(”Smith”,A1:B100,2,FALSE)。
如何开始您需要四条信息才能构建VLOOKUP语法:
要查找的值,也被称为查阅值。 查阅值所在的区域。请记住,查阅值应该始终位于所在区域的第一列,这样VLOOKUP才能正常工作。例如,如果查阅值位于单元格C2内,那么您的区域应该以C开头。 区域中包含返回值的列号。例如,如果指定B2:D11作为区域,则应将B作为第一列,将C作为第二列进行计数,依此类推。 (可选)如果需要返回值的近似匹配,可以指定TRUE;如果需要返回值的精确匹配,则指定FALSE。如果没有指定任何内容,默认值将始终为TRUE或近似匹配。
现在将上述所有内容集中在一起,如下所示:
=VLOOKUP(查阅值、包含查阅值的区域、包含返回值的区域中的列号、近似匹配(TRUE)或完全匹配(FALSE))。
示例下面是有关VLOOKUP的几个示例:
示例1
示例2
示例3
示例4
示例5
使用VLOOKUP将多个表中的数据合并到一个工作表中可以使用VLOOKUP将多个表合并到一个表中,只要其中一个表具有与所有其他表相同的字段。如果你需要与具有较早版本的Excel的用户共享工作簿,并且该用户不支持将数据与多个表作为数据源的用户共享,则这可能会非常有用,方法是将源合并到一个表中,然后将数据功能的数据源更改为新的表中,数据功能可用于较旧的Excel版本(前提是数据功能本身受较旧版本支持)。
此处,列A-F和H具有仅使用工作表中的值的值或公式,其余列使用VLOOKUP和列A(客户端代码)和列B(律师)的值从其他表中获取数据。
将具有公共字段的表复制到新工作表上,并为其命名。 单击”数据>数据工具>关系”以打开”管理关系”对话框。 对于列出的每个关系,请注意以下事项: 链接表的字段(列在对话框中的括号中)。这是VLOOKUP公式的lookup_value。 相关的查阅表格名称。这是VLOOKUP公式中的table_array。 在新列中具有所需数据的相关查阅表格中的字段(列)。”管理关系”对话框中不显示此信息-您必须查看相关的查阅表才能查看要检索的字段。你想要记下列号(A=1),这是公式中的col_index_num。 若要将字段添加到新表,请使用步骤3中收集的信息在第一个空列中输入VLOOKUP公式。 在我们的示例中,列G使用律师(lookup_value)从律师费工作表表(col_index_num=4)获取账单费率数据,tblAttorneys(Table_array),公式=VLOOKUP([@Attorney],tbl_Attorneys,4,FALSE)。 公式还可以使用单元格引用和区域引用。在我们的示例中,它将是=VLOOKUP(A2,”律师费”!A:D、4、FALSE)。 继续添加字段,直到获得所需的所有字段。如果您尝试准备包含使用多个表的数据功能的工作簿,请将数据源的数据源更改为新表。
常见问题 问题 出错原因
返回了错误值
如果range_lookup为TRUE或被排除在外,需要对第一列按字母或数字顺序排序。如果未对第一列排序,可能会返回意外值。请对第一列排序,或使用FALSE以获得精确匹配项。
单元格中显示#N/A
如果range_lookup为TRUE,并且lookup_value中的值比table_array的第一列中的最小值小,将显示错误值#N/A。 如果range_lookup为FALSE,则错误值#N/A表示未找到精确匹配项。
有关在VLOOKUP中解决#N/A错误的详细信息,请参阅如何在VLOOKUP函数中更正#N/A错误。
#REF!(显示在单元格中)
如果col_index_num大于table-array中的列数,则显示错误值#REF!。
有关在VLOOKUP中解决#REF!错误的详细信息,请参阅如何更正#REF!错误.
#VALUE!(显示在单元格中)
如果table_array小于1,则显示错误值#VALUE!。
有关在VLOOKUP中解决#VALUE!错误的详细信息,请参阅如何在VLOOKUP函数中更正#VALUE!错误.
#NAME?(显示在单元格中)
错误值#NAME?通常意味着该公式缺少引号。要查找人员的姓名,请确保在公式中的姓名左右加上引号。例如,在=VLOOKUP(“袁”,B2:E7,2,FALSE)中输入姓氏“”袁””。
有关详细信息,请参阅如何更正#NAME!错误.
Excel中的#SPILL!(显示在单元格中)
此特定#SPILL!错误通常意味着你的公式依赖于查找值的隐式交集,并使用整个列作为引用。例如=VLOOKUP(A:A,A:C,2,FALSE)。你可以通过使用@运算符(如下所示)定位查找引用来解决此问题:=VLOOKUP(@A:A、A:C、2、FALSE)。或者,你可以使用传统VLOOKUP方法并引用单个单元格,而不是整个列:=VLOOKUP(A2,A:C,2,FALSE)。
最佳做法 要执行的操作 原因
对range_lookup使用绝对引用
通过使用绝对引用,可以向下填充公式,这样该公式始终在完全精确的查找区域内查找。
了解如何使用绝对单元格引用。
请勿将数字或日期值存储为文本。
在搜索数字或日期值时,请确保table_array第一列中的数据未存储为文本值。否则,VLOOKUP可能返回不正确或意外的值。
对第一列排序
range_lookup为TRUE时使用VLOOKUP之前对table_array的第一列排序。
使用通配符
如果range_lookup为FALSE且lookup_value为文本,您可在lookup_value中使用通配符 -问号(?)和星号(*)。问号匹配任何单个字符。星号匹配任何字符序列。如果要查找实际的问号或星号,则在字符前键入代字号(~)。
例如,=VLOOKUP(”Fontan?”,B2:E7,2,FALSE)将搜索最后一个字母可能会发生变化的所有Fontana实例。
请确保您的数据中不包含错误的字符。
在第一列中搜索文本值时,请确保第一列中的数据没有前导空格、尾部空格、直引号(’或”)与弯引号(‘或“)不一致或非打印字符。否则,VLOOKUP可能返回意外的值。
要获得准确的结果,请尝试使用CLEAN函数或TRIM函数删除单元格中表格值后后面的后置空格。
需要更多帮助吗?可随时在Excel技术社区中咨询专家,在解答社区获得支持,或在ExcelUserVoice上建议新功能或功能改进。
另请参阅课程摘要卡:VLOOKUP复习课程摘要卡:VLOOKUP疑难解答提示YouTube:来自Excel社区专家的VLOOKUP视频有关VLOOKUP的全部须知内容如何更正VLOOKUP函数的#VALUE!错误如何更正VLOOKUP函数的#N/A错误Excel中的公式概述如何避免损坏的公式检测公式中的错误Excel函数(按字母顺序)Excel函数(按类别列出)VLOOKUP(免费预览)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。