You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Excel INDIRECT函数高效跨多工作表提取批次号至汇总表

使用Excel INDIRECT函数实现跨表数据同步(空值显示空白)

核心公式实现

假设汇总表中:

  • 日期行标题从A3开始(A3=1-Jul-23,A4=2-Jul-23,…,A33=31-Jul-23)
  • C列对应Monday工作表,D列对应Tuesday,E列对应Wednesday,F列对应Thursday,G列对应Friday
  • 各子工作表的批次号从A10开始(A10对应1-Jul-23,A11对应2-Jul-23,…)

在汇总表的C3单元格输入以下公式:

=IF(INDIRECT("'"&CHOOSE(COLUMN()-2,"Monday","Tuesday","Wednesday","Thursday","Friday")&"'!A"&ROW()+7)="","",INDIRECT("'"&CHOOSE(COLUMN()-2,"Monday","Tuesday","Wednesday","Thursday","Friday")&"'!A"&ROW()+7))

公式拆解

  1. CHOOSE(COLUMN()-2,...):根据当前列位置匹配对应的工作表名
    • C列(COLUMN()=3):3-2=1 → 返回Monday
    • D列(COLUMN()=4):4-2=2 → 返回Tuesday,以此类推
  2. ROW()+7:计算子工作表中对应的行号
    • 汇总表第3行(ROW()=3):3+7=10 → 对应子工作表A10
    • 汇总表第4行(ROW()=4):4+7=11 → 对应子工作表A11,以此类推
  3. INDIRECT("'"&工作表名&"'!A"&行号):构建跨表引用路径,动态提取对应单元格的值
  4. IF(...):判断提取值是否为空,为空则显示空白,否则显示提取值,避免出现默认的0

批量应用公式

  1. 选中C3单元格,鼠标移至单元格右下角的填充柄(小方块),按住左键向右拖动至G3,完成一行的公式填充
  2. 选中C3:G3区域,再次按住填充柄向下拖动至A33对应的行,即可完成整个表格的公式批量设置

注意事项

  • 如果子工作表名包含空格或特殊字符,INDIRECT中的工作表名必须用单引号包裹(公式中已包含'"&...&"'处理)
  • 确保子工作表的批次号列确实从A10开始,若起始行不同,调整ROW()+X中的X值即可(比如子工作表从A11开始,就改为ROW()+8)

内容的提问来源于stack exchange,提问作者Nir1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 22:42:50