两张表,一张全班名单,一张交了作业的名单,要标出谁没交;或者一张订单表一张客户表,要把客户电话匹配到订单上。这种按关键字去另一块区域里找信息的活,就是 vlookup 最典型的使用场景,公式写一次,下拉全搞定。

先把公式写对

语法是 =VLOOKUP(查找值, 查找区域, 返回第几列, 匹配方式)。假设 E 列放着要查的姓名,名单在 A2:C30,学号在第二列,公式写成:

=VLOOKUP(E2,$A$2:$C$30,2,0)

最后那个 0 是精确匹配,别省。省略默认近似匹配,数据没排序时会返回莫名其妙的结果,很多查错人的事故就出在这一步。

下拉之前先锁区域

公式往下拖的时候,区域不锁定会跟着跑:A2:C30 变成 A3:C31、A4:C32,越往下错得越离谱,结果一片 #N/A 多半是这个原因。选中公式里的区域引用按 F4,自动加上美元符号变成 $A$2:$C$30,再拖就稳了。

报错对照着查

  • #N/A:查找值不在区域第一列里,或者一边是文本型数字一边是数值型,用分列或乘 1 的办法把格式统一
  • 返回的列不对:第三参数从区域第一列开始数,不是从工作表的 A 列开始数
  • 结果时对时错:十有八九是区域没加美元符号
  • 要反向查找:vlookup 只能从左往右找,查找值右边的数据拿不到,这种情况换 INDEX 加 MATCH 组合

记住三条就够用:查找值必须在区域第一列,区域加美元符号锁定,第四参数写 0。这三点不出错,日常的匹配任务基本不会翻车,遇到多条件匹配再往 INDEX MATCH 和 XLOOKUP 那边进阶。