欢迎光临
我们一直在努力

一个公式看懂动态跨表查找:P8 + VLOOKUP

公式:=P8+VLOOKUP($A8,INDIRECT("'"&$B$1&"'!$A:$AH"),17,0)

一、这个公式到底在算什么?

把它拆成两块就清楚了:

= P8 + VLOOKUP(查找值, 查找区域, 返回列, 精确匹配)

部分作用
P8 当前工作表的某个基础数值
VLOOKUP(…) 根据 A8 的值,去另一个工作表里查找对应数据
+ 把两部分加起来,得到最终结果

二、VLOOKUP 的参数逐个拆解

1. 查找值:$A8

  • 在当前表第 A 列第 8 行取一个值。
  • $A 表示列固定,8 表示行会随公式下拉而变化。
  • 比如下拉一行会变成 $A9、再下是 $A10。

2. 查找区域:

INDIRECT("'"&$B$1&"'!$A:$AH")

这是整个公式最灵活的部分。

INDIRECT 的作用

INDIRECT 把一段文本变成真正的 Excel 引用。

比如 B1 单元格里写的是 Sheet2,那么:

INDIRECT("'"&$B$1&"'!$A:$AH")

实际等价于:

'Sheet2'!$A:$AH

也就是说,查找哪个工作表,是由 B1 的内容动态决定的。

为什么要加单引号 '?

如果工作表名里包含空格、特殊符号,或者和区域地址连在一起,Excel 要求用单引号包裹工作表名。

比如:

'2026 年数据'!$A:$AH

加单引号是最稳妥的写法,所有表名都兼容。

$B$1 的 $ 含义

$B$1 是绝对引用,无论公式复制到哪里,都锁定在 B1 单元格。

这样整条公式向下填充时,查找的表名不会跟着变。

3. 返回列:17

VLOOKUP 的第三个参数表示返回查找区域中的第几列。

区域是从 A 列到 AH 列,第 1 列是 A,第 17 列对应:

A(1)、B(2)、C(3)、D(4)、E(5)、F(6)、G(7)、H(8)、I(9)、J(10)、K(11)、L(12)、M(13)、N(14)、O(15)、P(16)、Q(17)

所以返回的是目标表中 Q 列的值。

4. 匹配方式:0

0 表示精确匹配。如果 A8 的值在目标表 A 列里找不到,公式会返回 #N/A。

如果想模糊匹配,可以改成 1,但通常数据查找用 0 更安全。

三、整个公式的执行流程

  • 读取当前表 P8 单元格的值。
  • 读取 B1 单元格里的工作表名称。
  • 用 INDIRECT 把表名和区域拼接成跨表引用。
  • 在目标表的 A 列里找 A8 的值。
  • 找到后,返回同一行里第 17 列(即 Q 列)的值。
  • 最后把 P8 和查找到的值相加。
  • 四、实际例子

    假设:

    • 当前表是 汇总表。
    • B1 单元格的内容是 销售数据。
    • A8 的值是 S001。
    • P8 的值是 100。

    在 销售数据 表中:

    A列(编号)B列…Q列(金额)
    S001 … … 500

    那么公式计算过程就是:

    = 100 + VLOOKUP("S001", '销售数据'!$A:$AH, 17, 0)
    = 100 + 500
    = 600

    赞(0)
    未经允许不得转载:171主机测评 » 一个公式看懂动态跨表查找:P8 + VLOOKUP
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址