此处,列A-F和H具有仅使用工作表中的值的值或公式,其余列使用VLOOKUP和列A(客户端代码)和列B(律师)的值从其他表中获取数据 。
- 将具有公共字段的表复制到新工作表上,并为其命名 。
- 单击”数据>数据工具>关系”以打开”管理关系”对话框 。
- 对于列出的每个关系,请注意以下事项:
- 链接表的字段(列在对话框中的括号中) 。这是VLOOKUP公式的lookup_value 。
- 相关的查阅表格名称 。这是VLOOKUP公式中的table_array 。
- 在新列中具有所需数据的相关查阅表格中的字段(列) 。”管理关系”对话框中不显示此信息-您必须查看相关的查阅表才能查看要检索的字段 。你想要记下列号(A=1),这是公式中的col_index_num 。
- 链接表的字段(列在对话框中的括号中) 。这是VLOOKUP公式的lookup_value 。
- 若要将字段添加到新表,请使用步骤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表示未找到精确匹配项 。
#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
猜你喜欢
- MATCH 函数
- HLOOKUP 函数
- CHOOSE 函数
- INDEX 函数
- INDIRECT 函数
- TRANSPOSE 函数
- 参考 查找和引用函数
- DATE 函数
- VBA 怎么使用DATEADD函数
- Excel函数:AVERAGE函数
