Σ表格公式学堂EXCEL FORMULA & SCENARIO
组合多 Sheet 联动 · 4 个 Sheet

按条件动态引用不同 Sheet 的数据

选一个部门,自动显示对应分表的数据。

1

场景背景

做部门看板时,希望在一个单元格选择部门,下面的表格就自动显示该部门分表的数据。核心是 INDIRECT:把「部门名」和「单元格地址」拼成字符串,再让 INDIRECT 当成真实引用去取值。

2

数据结构

共 2 个 Sheet
Sheet:销售部 / 技术部 / 市场部
字段含义示例值
姓名 / 月薪各分表结构一致张三 / 8000
Sheet:看板
字段含义示例值
选择部门下拉选择销售部
姓名 / 月薪INDIRECT 动态取数张三 / 8000
3

解决步骤

1
第 1 步:做一个部门下拉
数据 → 数据验证 → 序列,来源写 销售部,技术部,市场部。
2
第 2 步:拼出引用地址
把部门名和单元格地址拼起来,注意表名要用引号包住(这里没空格可省略)。
=B1&"!A"&ROW()
3
第 3 步:INDIRECT 取值
用 INDIRECT 把拼出来的字符串当地址,取对应分表的值。
=IFERROR(INDIRECT($B$1&"!A"&ROW()),"")
4
第 4 步:多列一起取
把 A 换成 B、C 就能取其他列,或者用 INDIRECT 拼区域再 INDEX。
=IFERROR(INDIRECT($B$1&"!B"&ROW()),"")
4

完整公式与逐段拆解

=IFERROR(INDIRECT($B$1&"!A"&ROW()),"")
$B$1选择的部门名,比如「销售部」
&"!A"&ROW()拼出 "销售部!A4" 这样的地址字符串
INDIRECT(...)把这个字符串当成真实引用去取值
IFERROR(...,"")分表不存在或超范围时显示空白
5

多 Sheet 示例

在编辑器中打开 ↗
ABCD
1工号姓名部门月薪
2E01张三销售部8000
3E03王五销售部7600
4E05孙七销售部8200
5
6
7
8
9
当前表:销售部 · 公式单元格 A2 · 绿色底为公式,蓝色底为动态数组溢出结果

切换分表就能看到各部门的数据,INDIRECT 可以按部门名动态定位

6

数据流向

数据流向演示1 / 4
来源看板!B1
➜
去向拼接表名
选择「销售部」
来源拼接表名
→
去向INDIRECT
拼成 销售部!A4
来源INDIRECT
→
去向分表单元格
去对应分表取值
来源分表单元格
→
去向看板!A4
显示在看板上
跟着高亮一步步看数据怎么流动
7

注意事项与坑

!INDIRECT 拼出来的表名必须和实际 Sheet 名完全一致,多一个空格都不行。
!表名含空格时必须写成 "'销售 部'!A1"。
!INDIRECT 是易失函数且不支持引用已关闭的工作簿,注意性能。
8

相关场景