检查 google 工作表中一列中每个单元格中大于 0 的数字

Checking google sheets for number bigger than 0 in every cell in a column

提前感谢您的帮助。

如果单元格等于或大于 0,我需要接收电子邮件。我每隔几个小时用 =IMPORTXML 填充此单元格。 我需要它适用于 L 列中的任何单元格。 在电子邮件中,我需要查看同一行的单元格 L 和单元格 A 的内容。

通过四处挖掘,我设法做到了这一点。 很明显,这大约是所需的一半。

thisfunction myNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var value = ss.getSheetByName("Sheet1").getRange("L2").getValue();
  if( value > 0 ) {
    var last = ScriptProperties.getProperty("last");
    value = value.toString();
    if( value != last ) {
      var email = Session.getUser().getEmail();
      MailApp.sendEmail(email, 'My Notification',
                        'new value: '+value+'\n\n'+ss.getUrl ());
      ScriptProperties.setProperty("last", value);
    }
  }
}

这将遍历 Sheet1 中包含数据的所有行,如果列 L 大于 0,则发送电子邮件。
它还将更新 PropertiesService 的较新脚本属性。

var sp = PropertiesService.getScriptProperties();


function myNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var data = ss.getSheetByName("Sheet1").getDataRange().getValues();
  var targetCell = 11; // L

  function sendMail(row) {
    MailApp.sendEmail(
      Session.getUser().getEmail(), 
      'My Notification',
      'new value: ' + row[targetCell] + '\nin: ' + row[0] + '\n' + ss.getUrl ());
    return row;
  };

  function updateScriptProperties(row) {
    sp.setProperty(row[0], row[targetCell]);
    return row;
  };

  function aChanged(row) {
    return sp.getProperty(row[0]) != row[targetCell];
  };

  function colLGreater0(row) {return row[targetCell] > 0;};

  data.filter(colLGreater0)
      .filter(aChanged)
      .map(sendMail)
      .map(updateScriptProperties);
};