ЕСЛИ / ТО на дальности - PullRequest
0 голосов
/ 12 июня 2019

Я хочу протестировать диапазон ячеек (например, L1: S22), и если в ячейке этого диапазона находится значение больше 0, оно должно отправить уведомление по электронной почте.

Пока что яЯ могу получить одно значение ячейки, но не диапазон.

function CheckSales(){

var app = SpreadsheetApp;
var activeSheet = app.getActiveSpreadsheet().getActiveSheet();

var temp = activeSheet.getRange("L1:S22").getValues();
var ui = SpreadsheetApp.getUi(); 

Logger.log(temp);

if (temp > 0){
  // Fetch the email address
  var emailRange = SpreadsheetApp.getActiveSpreadsheet()
                   .getSheetByName("Sheet1").getRange("L1:S22");
  var emailAddress = emailRange.getValues();

  // Send Alert Email.
  var message = 'This month your values were ' + temp; 
  var subject = 'Range exceeded Alert';
  MailApp.sendEmail(emailAddress, subject, message);
 }
} 

Я ожидаю, что результат будет таким: В этом месяце ваши значения в этой ячейке "" были 800

1 Ответ

0 голосов
/ 12 июня 2019

Это может помочь!Он будет делить сумаари все все месяцы только в одном письме.

function CheckSales(){

  var app = SpreadsheetApp;
  var activeSheet = app.getActiveSpreadsheet().getActiveSheet();

  var data=activeSheet.getDataRange().getValues();

  var emailAddress=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2").getValue();
  var resultArr=[];

  //To Loop through the whole data Rows
  for(var i=1;i<data.length;i++)
  {
    //Takes columns from L to S (To loop through the Columns)
    for(var j=11;j<19;j++)
    {
      var cellVal=data[i][j];
      Logger.log(cellVal)
      if(cellVal>0)
      {
        //Stores the Part No, Month Header Value of the Column, Cell Value which is greater then 0
        resultArr.push([data[i][0],data[0][j],cellVal])
      }
    }
  }
  if(resultArr.length>0)
  {
    var subject = 'Range exceeded Alert';

    //Creates a body through the obtained values
    var body='';
    for(var m=0;m<resultArr.length;m++)
    {
      body+="For Part No "+resultArr[m][0].toString()+" and Month "+resultArr[m][1].toString()+", Value is "+resultArr[m][2].toString()+"<br>";
    }

    MailApp.sendEmail({to:emailAddress,subject:subject,htmlBody:body});
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...