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

如何通过脚本按钮自动生成Google表格多工作表评论汇总报告

实现Google Sheets按日工作表汇总报告的脚本方案

核心结论

完全可以通过绑定按钮的Google Apps Script实现按需生成汇总报告,以下是具体实现方案:

实现步骤与代码

1. 编写汇总脚本

打开目标Google表格,进入「扩展程序」→「Apps 脚本」,粘贴以下代码:

function generateDailyReport() {
  const activeSheet = SpreadsheetApp.getActiveSpreadsheet();
  // 筛选出对应日期的工作表(可根据实际命名规则调整正则,示例匹配"1日""2日"格式)
  const dailySheets = activeSheet.getSheets().filter(sheet => /^\d+日$/.test(sheet.getName()));
  
  // 创建/替换汇总工作表
  let reportSheet = activeSheet.getSheetByName("每日工作汇总报告");
  if (reportSheet) activeSheet.deleteSheet(reportSheet);
  reportSheet = activeSheet.insertSheet("每日工作汇总报告");
  
  // 设置表头
  reportSheet.getRange("A1:C1").setValues([["日期", "工作描述", "评论"]]).setFontWeight("bold");
  
  let currentRow = 2;
  // 遍历所有日期工作表提取数据
  dailySheets.forEach(sheet => {
    const allData = sheet.getDataRange().getValues();
    // 跳过表头(若工作表无表头,将i的起始值改为0)
    for (let i = 1; i < allData.length; i++) {
      const task = allData[i][0]; // A列工作描述
      const comment = allData[i][3]; // D列评论
      
      // 仅写入有工作描述的有效行
      if (task) {
        reportSheet.getRange(currentRow, 1).setValue(sheet.getName());
        reportSheet.getRange(currentRow, 2).setValue(task);
        reportSheet.getRange(currentRow, 3).setValue(comment || "无评论");
        currentRow++;
      }
    }
  });
  
  // 自动适配列宽
  reportSheet.autoResizeColumns(1, 3);
  SpreadsheetApp.getUi().alert("汇总报告已生成!");
}

2. 绑定触发按钮

  • 返回Google表格,点击「插入」→「绘图」,绘制一个自定义按钮(比如矩形框,添加文字"生成汇总报告")
  • 点击绘制好的按钮,选择「分配脚本」,输入函数名generateDailyReport并确认
  • 首次点击按钮时,按照提示完成权限授权即可正常使用

3. 自定义适配说明

  • 若你的日期工作表命名为"01""02"这类格式,将脚本中的正则改为/^\d{1,2}$/
  • 若工作表没有表头,将循环中的let i = 1改为let i = 0
  • 可根据需求调整汇总表的表头文字、格式样式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 06:26:20