Microsoft Lab
全部软件
Excel查找与引用(Lookup & Reference)约 6 分钟

VLOOKUP Function VLOOKUP 函数

🧪 动手试试

试试看:VLOOKUP 是怎么找到答案的

改一改下面三个设置,看它在表里怎么找。

重点内容


函数速查

函数语法用途例子
VLOOKUP=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])在表格最左列查找值,返回同行指定列的数据=VLOOKUP(53,A2:D10,4,FALSE)

精确匹配

第四参数(range_lookup)设为 FALSE,表示要精确匹配:

=VLOOKUP(53,A2:D10,4,FALSE)

在最左列找到 53,返回同一行第 4 列的数据。如果最左列找不到 53,公式会返回 #N/A 错误。


近似匹配

第四参数设为 TRUE,表示允许近似匹配(找不到精确值时,返回小于等于查找值的最大值所在行):

=VLOOKUP(53,A2:D10,4,TRUE)

📌 用 TRUE 近似匹配时,表格最左列必须先按升序排序,否则结果会不准确(比如 EP03 税率表就是这种用法)。

📷 画面提示

VLOOKUP 用错第四参数导致返回近似值的单元格结果,对比 TRUE/FALSE 两种设置的输出差异


VLOOKUP 只能向右查找

VLOOKUP 只能在"查找列"右边的列返回数据,没办法查找左边的列。如果需要向左查找,要改用 INDEX+MATCH(见 EP07)或 XLOOKUP(见 EP13)。

flowchart TD
    A[要查找数据] --> B{查找列在最左边吗}
    B -->|是,正常向右查| S1
    B -->|不是,需要向左查| C{Excel 是 365 / 2021 吗}
    C -->|是| S2
    C -->|旧版本| S3

    subgraph S1["📋 VLOOKUP 本篇"]
        direction TB
        M1["=VLOOKUP(...)<br/>操作最简单<br/>只能向右查"]
    end
    subgraph S2["⚡ XLOOKUP 见 EP13"]
        direction TB
        M2["新一代查找函数<br/>不受方向限制<br/>需要 Excel 365 / 2021"]
    end
    subgraph S3["🧩 INDEX+MATCH 见 EP03/EP07"]
        direction TB
        M3["旧版本也能用<br/>MATCH 找位置 + INDEX 取值<br/>突破向右查限制"]
    end

重复值只匹配第一个

如果最左列里有重复值,VLOOKUP 只会返回第一个匹配到的结果,后面的重复项不会被考虑。


部分匹配(通配符)

在 lookup_value 里用星号 * 通配符,可以匹配"包含某段文字"的项目,星号代表零个或多个任意字符。


不区分大小写

VLOOKUP 本身查找时不区分大小写。


错误处理

找不到匹配值时会返回 #N/A,可以用 IFNA 包起来显示更友好的提示:

=IFNA(VLOOKUP(53,A2:D10,4,FALSE),"未找到")

跨多表查询

搭配 IF 函数,根据条件动态决定要查哪一张表:

=VLOOKUP(A2,IF(条件,表1,表2),3,FALSE)

学完你会

常见错误

  • 忘记表格最左列必须是"查找依据"那一列,VLOOKUP 只会往右找、不会往左找
  • 用近似匹配(TRUE)却没先把最左列排序,导致结果错误但公式不报错,很难发现问题
  • col_index_num 数错列数(是从查找范围最左列开始数第几列,不是整个工作表的列号)

Sources

Blog / Website:

  1. Vlookup
只记在你的浏览器里,换设备不会同步。