2017-11-16 3 views
0

を使用してメールを送信します。Googleシートの列にレートリストの認証モジュールを作成しています。 私は元のレート(oRate)リストをc列に持っています。私はb列に実際の販売価格を持っています。すべての販売率(sRate)はb欄に記録されます。スクリプトは列bの販売率を列cの元の金利一覧と比較し、値が等しくない場合は列dに「等しい」または「等しくない」と記録し、警告メールを受け取る必要があります。商品の名前に言及している「等しくない」エントリごとに、料金は一致しません。 (名前はcolAで書かれています)。私はスクリプトの一部を書いたが、満足できるものではない。Googleスプレッドシートの2列を比較し、値が一致しない場合は、Googleスクリプト

データフォーマット

 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("[email protected]", "URGENT: AUTHORIZE CHANGE OF sale price", "mail body", { 
     name: "abc" 
    }); 

を送るこれは、すべての細胞が同じである場合でも、すべての毎分のメールを送信します。そして、私はcolAから製品の名前を追加する方法を見つけることができません。 助けてください!

答えて

0

は、このコードを使用してみてください:

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 

} 

これは、そうでない場合、彼らは等しいとメールしている場合は、列をチェックするに役立つはずです。

これが役に立ちます。

+0

魅力的な作品です!ありがとうございました! –

関連する問題