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

请求编写Google Sheets脚本:单元格达阈值时触发邮件

Google Sheets 脚本实现:D列值达标时自动发送邮件

核心脚本代码

以下是适配需求的完整脚本,当"Tracking"工作表D列单元格值≥4时,自动发送包含对应C列学生姓名的邮件:

function checkAndSendEmail() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tracking");
  const data = sheet.getDataRange().getValues();
  const recipient = "你的接收邮箱@xxx.com"; // 替换为你的实际邮箱
  const subject = "学生数值达标提醒";
  
  // 遍历数据行(跳过表头,从第2行开始)
  for(let i = 1; i < data.length; i++) {
    const studentName = data[i][2]; // C列对应索引2(从0开始计数)
    const currentValue = data[i][3]; // D列对应索引3(从0开始计数)
    
    // 校验数值≥4且为有效数字,避免重复发送(可选标记列)
    if(currentValue >= 4 && !isNaN(currentValue)) {
      const emailBody = `学生 ${studentName} 的当前数值已达到 ${currentValue},满足提醒条件。`;
      MailApp.sendEmail(recipient, subject, emailBody);
      
      // 可选:在E列标记已发送,防止重复触发
      sheet.getRange(i+1, 5).setValue("已发送");
    }
  }
}

配置与使用说明

  • 替换邮箱:将代码中你的接收邮箱@xxx.com替换为你实际接收提醒的邮箱地址。
  • 避免重复发送:脚本内置了E列标记逻辑,可在"Tracking"工作表E列添加「发送状态」表头,标记后不会重复发送同一学生的提醒。
  • 设置触发规则:
    1. 打开表格的「扩展程序」→「Apps脚本」
    2. 粘贴代码并保存项目
    3. 点击左侧「触发器」图标,添加新触发器:
      • 选择函数:checkAndSendEmail
      • 事件源:「从电子表格」
      • 事件类型:选「编辑时」(实时触发)或「定时触发」(如每小时检查一次),按需选择

问题排查提示

如果此前字符串匹配脚本正常,当前数值判断失效,大概率是这两个原因:

  • D列格式问题:确保D列设置为「数字」格式,而非文本格式,否则数值比较逻辑会失效
  • 表头行数差异:脚本默认跳过第1行表头,若你的表头行数不同,需调整for循环的起始值i

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:24:26