VLOOKUP 适合解决一个非常具体的问题:根据左侧第一列中的编号,在同一行返回右侧某一列的结果。下面使用客户编号查找客户名称,公式、数据区域和预期结果都可以在配套工作簿中直接验证。

Excel 查找匹配练习工作簿包含 7 个工作表、14 个公式与排错清单,示例数据均为虚构数据。
下载 .xlsx 文件

先看可以直接使用的公式

假设当前表 A2 是客户编号,客户表的 A 列到 F 列依次是编号、区域、城市、名称、等级和金额,要返回第 4 列的客户名称,可输入:

=VLOOKUP(A2,客户表!$A$2:$F$11,4,FALSE)

按 Enter 后,如果 A2 为 C003,结果应是“新桥咨询”。第四个参数使用 FALSE,表示必须精确匹配编号。

四个参数分别控制什么

参数本例内容作用
查找值A2当前要寻找的客户编号
数据区域客户表!$A$2:$F$11编号必须位于区域第一列
列序号4从区域第一列开始计数,返回第 4 列
匹配方式FALSE只接受完全相同的编号

跨表查找的操作步骤

  1. 在结果单元格输入 =VLOOKUP(
  2. 单击当前行的客户编号 A2,然后输入逗号。
  3. 切换到“客户表”,选中 A2:F11,并按 F4 将引用锁定为绝对引用。
  4. 输入列序号 4,再输入 FALSE 和右括号。
  5. 确认首行结果正确后,再向下填充公式。
为什么要按 F4?

向下复制公式时,A2 应变为 A3、A4,但客户表的数据区域不应移动。锁定后的 $A$2:$F$11 会保持不变。

未找到时显示友好提示

旧版 Excel 可以用 IFERROR 包住 VLOOKUP,避免直接显示 #N/A:

=IFERROR(VLOOKUP(A2,客户表!$A$2:$F$11,4,FALSE),"未找到")

IFERROR 会隐藏所有错误,因此正式表格仍应先检查编号是否存在、数据类型是否一致,再决定是否使用提示文字。

结果不对时优先检查

  • 第四个参数是否遗漏。省略后可能执行近似匹配,返回看似正常但实际错误的结果。
  • 编号列是否位于数据区域第一列。VLOOKUP 不能直接向左返回。
  • 列序号是否与区域一致。删除或插入列后,要重新核对序号。
  • 文本编号和数字编号是否混用,例如文本“001”和数字 1 并不相同。

完成后的验证方法

不要只看第一行。至少选择一个首行编号、一个末行编号和一个不存在的编号测试;再随机抽取两行,与客户表原始数据逐项比对。批量填充前保留原文件副本。

参考资料

  • Microsoft Excel 函数说明:VLOOKUP 函数的语法和精确匹配参数。
  • 配套工作簿:VLOOKUP练习、客户表和排错清单工作表。