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

Google Sheets按条件触发邮件脚本发送空白邮件问题求助

问题原因

你的代码有三处核心错误导致邮件内容为空:

  • getValues() 方法返回的是二维数组,直接比较 values[i] 和 value1s[i] 实际是在对比数组对象,而非单元格内的数值,需要取二维数组第一层的第一个元素才能拿到对应单元格的实际值。
  • 数组的 concat() 方法不会修改原数组,只会返回拼接后的新数组,你写的 results.concat(value5) 没有对原结果数组做任何修改,因此results始终是空数组。
  • 发送邮件时直接传入数组作为内容,会出现格式异常,需要先转换为字符串格式。

修复后代码

function Mailer1() {
  // 此处引号内填写你的Google Sheets表格ID
  var ss = SpreadsheetApp.openById("");    
  var sheet = ss.getSheetByName("Today");  
  var values = sheet.getRange("AD2:AD").getValues();
  var value1s = sheet.getRange("AE2:AE").getValues();
  var results = [];
  for(var i=0;i<values.length;i++) {
    // 取二维数组内的实际数值做对比
    if(values[i][0] > value1s[i][0]) {
      var value5 = sheet.getRange(i+2,1).getValue();
      // 用push方法往结果数组添加内容
      results.push(value5);
    }
  }
  // 把结果数组拼接为带换行的字符串再作为邮件内容发送,无匹配结果时也会返回提示内容避免空白邮件
  var mailContent = results.length > 0 ? results.join('\n') : "今日无需要补货的商品";
  MailApp.sendEmail('vinay_narayanan@playshifu.com','Restock Needed At:',mailContent);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:24:03