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

如何按列表批量更改Excel公式中的工作表地址(L1-L8)

批量遍历L1-L8工作表提取数据的解决方法

方法1:用INDIRECT函数动态引用工作表

通过INDIRECT函数拼接工作表名称,实现动态引用,无需手动逐个修改公式:

  1. 在空白列(如A列)依次输入L1、L2……L8
  2. 在需要生成公式的单元格(如B1)输入:
=INDEX(INDIRECT("'"&A1&"'!$A$12:$H$59"),MATCH(E$11,$E$11:$AI$11,0),MATCH("Payment",example!$F$6:$F$9,0)+1)
  1. 下拉B1单元格至B8,即可自动生成对应L1到L8的提取公式

注:单引号用于兼容带特殊字符的工作表名称,L1-L8这类名称可省略,但保留能提升公式通用性。

方法2:文本拼接+批量转公式

如果不想用INDIRECT,可通过文本拼接生成公式后转成可执行格式:

  1. 在空白列(如A列)输入1到8,对应L1-L8的数字后缀
  2. 在B1单元格输入文本拼接公式:
=CONCATENATE("=INDEX('L",A1,"'!$A$12:$H$59,MATCH(E$11,$E$11:$AI$11,0),MATCH(""Payment"",example!$F$6:$F$9,0)+1)")
  1. 下拉B1至B8,生成所有公式的文本形式
  2. 选中B1-B8,按Ctrl+C复制,右键选择「选择性粘贴」→「值」,将公式文本转为静态内容
  3. 按Ctrl+H打开替换窗口,查找内容填"",替换为",点击「全部替换」修正引号格式
  4. 选中所有处理后的单元格,按F2进入编辑模式后回车,即可将文本转为可执行公式

方法3:VBA宏批量生成

适合需要频繁批量处理的场景:

  1. 按Alt+F11打开VBA编辑器
  2. 点击「插入」→「模块」,粘贴以下代码:
Sub GenerateSheetFormulas()
    Dim targetSheet As Worksheet
    Dim i As Integer
    
    ' 替换为你要存放公式的工作表名称
    Set targetSheet = ThisWorkbook.Worksheets("目标表")
    
    For i = 1 To 8
        ' 在目标表的第1列逐行生成公式,可根据需求修改Cells(i,1)的行列位置
        targetSheet.Cells(i, 1).Formula = "=INDEX('L" & i & "'!$A$12:$H$59,MATCH(E$11,$E$11:$AI$11,0),MATCH(""Payment"",example!$F$6:$F$9,0)+1)"
    Next i
End Sub
  1. 修改代码中的"目标表"为实际存放公式的工作表名称,按F5运行宏,即可批量生成所有公式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:52:55