乐于分享
好东西不私藏

EXCEL篇-个公式批量合并几十张表,再也不用一个个改引用啦!

EXCEL篇-个公式批量合并几十张表,再也不用一个个改引用啦!
每个部门一张sheet,费用项目排列顺序还不一样…… 你是准备一个一个用VLOOKUP把数据“抓”过来,然后把公式里的表名手动改成“市场部”、“财务部”、“行政部”……改到怀疑人生?
今天这篇文章,就是来拯救你的“重复劳动强迫症”。只需学会一个“中介”函数——INDIRECT,跨表合并数据,就跟吃饭喝水一样简单
  • 如下图,假设你手上有三张分表,分别是:行政部市场部财务部
  • 每个部门的费用预算表结构都一样(费用项目 + 金额),但顺序可能不同。
  • 现在要把这三个部门的数据,全部汇总到一张“总表”里。👇
函数语法:[]内为可选填参数,剩余参数为必选项
=INDIRECT (引用文本,[引用样式])
作用:把文本字符串转换成真实单元格 / 区域引用,实现动态取单元格内容
参数
说明
引用文本
代表单元格地址的文本字符串
引用样式
TRUE/ 省略:A1 引用样式(普通 A1、B10)-常用这种方式FALSE:R1C1 引用样式(R5C2 = 第 5 行第 2 列,等价 B5)

本文以行政部为例:

常规的公式是这样写的

=VLOOKUP(A2,行政部!A:B,2,0)

现在我们要做的,就是把公式中写死的“行政部”,变成一个可以自动变化的动态引用。具体操作如下:

在总表的B1单元格(也就是“行政部”这个标题下方),输入这个公式:

=VLOOKUP($A2, INDIRECT(B$1&"!A:B"), 2, 0)

  1. B$1 提取的是当前列的表头 —— “行政部”(注意锁定行号,这样下拉时表头不变)。

  2. 用连接符 & 拼接上 "!A:B",就变成了一个文本字符串:“行政部!A:B”

  3. INDIRECT(行政部!A:B) 立刻把这个文本翻译成真正的单元格区域引用

  4. 最后交给VLOOKUP去查找

当你把这个公式向右拖动到“市场部”那一列时,B$1 会自动变成 C$1INDIRECT 就会自动去引用 “市场部!A:B” 的区域。

  • 为方便理解,我们在F1单元格输入文本B3

  • F2单元格输入公式=F1,结果显示F1单元格的内容【B3】,只是抄了一遍文字

  • F3单元格输入公式=INDIRECT(F1),结果显示的是【8】,是B3单元格对应的文本内容

INDIRECT 就是个“翻译官”,把文本字符串翻译成真正的单元格引用


👉 收藏 + 在看,用的时候不迷路