2016-12-20 3 views
0

私は小さな契約会社を所有しています。私の目標は、請負業者が自分の時間を報告し、顧客が支払った総時間から差し引くことができるGoogleスクリプトを作成することです。両方の値はGoogleスプレッドシートにあります。しかし、私はそれらをまとめることに深刻な問題を抱えています。私が持っていたGoogleドライブスプレッドシートの特定の行を編集する

function sessionSubtractor() { 

var phone = "+phoneNumber"; 
var messageBody = "clientName"; 

var twilio = SpreadsheetApp.openByUrl("spreadsheetURL"); 
var sheet = twilio.getActiveSheet(); 
var data = sheet.getDataRange(); 
var cells = data.getValues().toString(); 

    for (var i = 1; i<sheet.getLastRow(); i++) { 

    if (phone === data.getCell(i,7).getValue()) { 

    if (messageBody === data.getCell(i,2) { 
    //decrease total session count here 
    } 

} 





} 

基本的な考え方は、シート上のすべてのデータによるプログラムループを持っていることだった、と請負業者の入力はエントリにマッチしたとき、その合計額から控除する:これは私がこれまで持っているものです顧客が会社から購入した時間数。つまり、編集するセルをハードコーディングせずにスプレッドシートを編集する方法はわかりません。どんな助けも非常に高く評価されます。

+0

なぜgetValues()をstringにキャストしていますか?それが問題ならば私は驚かないでしょう。そうでなければ、サンプルデータを私たちに提供してください。 –

答えて

0

これは、スクリプトを構成する標準的な方法である:

function sessionSubtractor() { 
    var phone = "+phoneNumber"; 
    var messageBody = "clientName"; 

    var twilio = SpreadsheetApp.openByUrl("spreadsheetURL"); 
    var sheet = twilio.getActiveSheet(); 
    var data = sheet.getDataRange(); 
    var cellsValues = data.getValues(); 

    for (var i = 1; i < cellsValues.length; i++) { 
    if (phone === cellsValues[i][7]) { 
     if (messageBody === cellsValues[i][7]) 
     { 
     //decrease total session count here 
     } 
    } 
    } 
} 

(私は間違いを犯すことに注意してください、と私は本当にあなたのデータはあなたがしようとしているものを解釈するように、どのようなものであるかを知っているしないでください達成する...つまり、私のスクリプトは、あなたが考えるべきことをしないかもしれません。)

関連する問題