Google apps script 比较google电子表格中的两列,如果值不匹配,则使用google脚本发送邮件

Google apps script 比较google电子表格中的两列,如果值不匹配,则使用google脚本发送邮件,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在为google sheet上的一列中的费率列表创建一个身份验证模块。 我在c栏中有一份原始税率表。我在b栏有实际售价。每个销售率(sRate)记录在b列中。脚本应将b列中的销售费率与c列中的原始费率列表进行比较,如果任何值不相等,则应在d列中记录“相等”或“不相等”,并且我应收到一封警报邮件,因为每个“不相等”条目都提到了与费率不匹配的产品名称。(名字是用可乐写的)。我已经写了剧本的一部分,但并不令人满意 数据格式 A B C D

我正在为google sheet上的一列中的费率列表创建一个身份验证模块。 我在c栏中有一份原始税率表。我在b栏有实际售价。每个销售率(sRate)记录在b列中。脚本应将b列中的销售费率与c列中的原始费率列表进行比较,如果任何值不相等,则应在d列中记录“相等”或“不相等”,并且我应收到一封警报邮件,因为每个“不相等”条目都提到了与费率不匹配的产品名称。(名字是用可乐写的)。我已经写了剧本的一部分,但并不令人满意

数据格式

      A       B       C         D        E     F    ...
1    name   oRate   sRate  is equal?
2    item1   10       10     equal   
3    item2   30       28     not equal 
.
n
A部分-曲目更改

function trackChange() {
 var s = SpreadsheetApp.getActiveSheet();
 if( s.getName() == "Auth" ) { //checks that we're on the correct sheet
   var orate = s.getActiveCell();
   if( orate.getColumn() == 2 ) { //checks the column
     var srate = r.offset(0, 1);
     if( srate.getValue() != orate.getValue() ) //is it equal?
       var auth = 'not equal';
       var authCell = srate.offset(0,1);
       authCell.setValue(auth);
   };
 };
}
设置一个有时间限制的触发器。但它从不编辑工作表

B部分-发送邮件

function sendMail() {
  if (SpreadsheetApp.getActive().getSheetByName('Auth').getRange('E2:E676').getValue()== 'not equal') return;
  MailApp.sendEmail("abc@xyz.com", "URGENT: AUTHORIZE CHANGE OF sale price", "mail body", {
        name: "abc"
    });
它每分钟发送一封邮件,即使所有单元格都相等。我不知道如何添加可乐产品的名称。 请帮忙

尝试使用以下代码:

function checkEqual(){

  var source = SpreadsheetApp.openById("fileID")
  var sheet  = source.getSheetByName("Sheet2");
  var data   = sheet.getDataRange().getValues();
  for (var i=1; i<data.length; i++){
    //first column will be empty for results
    var first = data[i][1];
    var second = data[i][2];

    Logger.log(first + " " +second)

    if(first == second){

      var cell = sheet.getRange(i+1,4);
      cell.setValue("equal")
      //emailOwner();
      var cell2 = sheet.getRange(i+1,5);
      cell2.setValue("emailed")
    }
    else{

    }
  }

}

function emailOwner(){
//email code

}
函数checkEqual(){
var source=SpreadsheetApp.openById(“fileID”)
var sheet=source.getSheetByName(“Sheet2”);
var data=sheet.getDataRange().getValues();

因为(var i=1;我工作得很有魅力!谢谢!