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

如何让Google Sheets脚本自动遍历所有工作表批量执行相同逻辑

优化后可适配所有工作表的脚本如下

function priceSearchAllSheets() {
  const date = new Date();
  const currenthour = date.getHours();
  // 原24个if判断优化为直接计算目标单元格,0点对应B6,1点对应C6以此类推
  const targetCell = `${String.fromCharCode(66 + currenthour)}6`;
  const formula = '=--SPLIT(REGEXEXTRACT(JOIN(",", IMPORTDATA(B1)),"LCPrice"":"(.*)"), CHAR(34))';
  
  // 获取当前电子表格的所有工作表
  const allSheets = SpreadsheetApp.getActive().getSheets();
  
  // 遍历每个工作表执行逻辑
  allSheets.forEach(sheet => {
    // 如果需要跳过特定工作表,可取消下面的注释修改表名即可
    // if (['不需要执行的表1', '不需要执行的表2'].includes(sheet.getName())) return;
    sheet.getRange(targetCell).setValue(formula);
  });
}

核心修改说明

  • 移除了冗余的小时判断逻辑,通过ASCII码直接计算目标单元格,代码量大幅减少,后续调整规则也更方便
  • 调用getSheets()方法直接获取当前文件内的所有工作表,自动适配新增的工作表,无需每次修改代码新增判断
  • 修复了原代码中获取Sheet2后未绑定操作对象的问题:原代码getRange默认操作当前激活的工作表,不是固定的Sheet2,修改后所有操作都绑定遍历到的工作表对象,逻辑更严谨
  • 预留了跳过特定工作表的判断位,如果你有不需要执行该逻辑的汇总表、配置表等,直接修改注释中的过滤列表即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:06:00