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

如何为Google Sheets编写脚本实现库存低于阈值时自动发提醒邮件

修改后可实现批量遍历的完整代码
function CheckParts() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 获取库存表全量数据
  const masterSheet = ss.getSheetByName("Master List");
  const allData = masterSheet.getDataRange().getValues();
  const alertList = [];

  // 跳过表头,从第2行(数组索引为1)开始逐行校验
  for (let i = 1; i < allData.length; i++) {
    const row = allData[i];
    const partPN = row[0]; // 零件编号PN在A列,数组索引从0开始,可根据实际表格列位调整
    const currentStock = row[6]; // 现有库存列在G列,可调整
    const minStock = row[7]; // 最低库存阈值在H列,对应原代码配置
    // 库存低于阈值时计算待补数量
    if (currentStock < minStock) {
      const needCount = minStock - currentStock;
      alertList.push(`${partPN} Needs ${needCount} Made`);
    }
  }

  // 存在缺料零件时触发邮件
  if (alertList.length > 0) {
    const emailAddress = ss.getSheetByName("Sheet1").getRange("B2").getValue();
    const subject = 'Low Parts Alert';
    const message = alertList.join('\n');
    MailApp.sendEmail(emailAddress, subject, message);
  }
}
调整说明
  • 代码中partPN = row[0]、currentStock = row[6]的索引值可根据实际表格列位修改,数组索引从0开始计数,对应表格列号减1,例如B列对应索引1
  • 当前默认将所有缺料信息合并为单封邮件发送,若需要每个零件单独发提醒,将发邮件逻辑移入遍历循环内即可
原代码问题修复
  • 修复变量名拼写错误(valule→value)
  • 修复错误比较逻辑(原代码错误将数值和Range对象直接对比)
  • 修复未定义变量monthSales的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:15:04