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

如何将Google Sheet脚本的每行邮件告警合并为每个工作表1封邮件?

优化Google Sheet邮件告警脚本:每个工作表仅发一封汇总邮件

修改后的完整代码

function feedbackAlert() {
  var today = new Date();
  var todayMonth = today.getMonth() + 1;
  var todayDay = today.getDate();
  var todayYear = today.getFullYear();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var only = [
    'Sheet 1',
    'Sheet 2',
    'Sheet 3'
  ];
  
  only.forEach(function(name){
    var s = ss.getSheetByName(name);
    var startRow = 14;
    var numRows = 100;
    var dataset = s.getRange(startRow, 1, numRows, 999);
    var value = dataset.getValues();
    var productName = s.getRange("C5").getValue();
    // 初始化工作表专属的汇总消息和主题
    var subject = 'NPD Feedback is Due: ' + productName;
    var summaryMessage = '📢 Feedback is Due - ' + productName + '\n\n';
    var hasAlert = false;

    for (var u = 0; u < value.length; ++u) {
      var row = value[u];
      // 跳过空行(避免无效数据)
      if (!row[5]) continue;
      
      var dueDate = new Date(row[5]);
      var dueDateMonth = dueDate.getMonth() + 1;
      var dueDateDay = dueDate.getDate();
      var dueDateYear = dueDate.getFullYear();
      
      if (dueDateMonth === todayMonth && dueDateDay === todayDay && dueDateYear === todayYear) {
        hasAlert = true;
        var dueDateFormat = Utilities.formatDate(dueDate, 'ET', 'MM/dd/yyyy');
        // 将当前符合条件的行追加到汇总消息中
        summaryMessage += 
          'Name: ' + row[1] + '\n' +
          'Formula #: ' + row[2] + '\n' +
          'Feedback Due Date: ' + dueDateFormat + '\n\n';
      }
    }
    
    // 只有当有符合条件的告警时才发送邮件
    if (hasAlert) {
      MailApp.sendEmail('your-email@example.com', subject, summaryMessage);
      Logger.log('NPD Feedback Alert sent for ' + productName);
    }
  })
}

关键优化点

  • 汇总消息存储:在每个工作表的遍历开始前,初始化summaryMessage变量,用来累积所有符合条件的行内容,而非每找到一行就发邮件。
  • 空行过滤:添加if (!row[5]) continue;跳过无截止日期的空行,避免无效处理。
  • 日期对象复用:仅创建一次dueDate对象,避免重复解析日期,提升脚本运行效率。
  • 条件发送:用hasAlert标记是否存在需告警内容,遍历完所有行后统一发送邮件,确保每个工作表最多发送一封告警邮件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 17:06:05