2017-07-18 77 views
0

我編寫了一個Google腳本,用於在Google電子表格中對兩列最多50個數字進行求和。但是,我無法得到正確的結果。代碼附在下面。一個Google腳本,用於從電子表格中對兩列進行求和並顯示回電子表格

function DailyCreditCalculation() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Sheet1"); 
    var values_old = sheet.getSheetValues(7,2,50,1); 
    var values_new = sheet.getSheetValues(7,3,50,1); 
    for(i = 0; i <= values_new.length-1; i++){ 
    values_old[i] = +values_old[i]; 
    values_new[i] = +values_new[i]; 
    values_old[i] = values_old[i] + values_new[i]; 
    } 
    var cell = sheet.getRange(7,2,50,1); 
    cell.setValues(values_old); 
} 

當我運行該腳本,它顯示錯誤

「無法轉換數組爲Object [] []」

我如何修改腳本,以便它可以成功運行?

回答

0

您正在檢索的數據是兩列矢量,它們表示爲數組陣列以保持一致性,例如,

[[1], 
[2], 
[3]] 

這就是爲什麼你必須做+values_old[i]轉換。

循環的輸出使錯誤消息中指定的結果成爲數組,因此如果有兩個相同的數組,結果將會是[2,4,6]

setValues需要一個數組來寫入數據(Object[][])。
既然你希望它是一列向量可以說values_old[i] = [values_old[i] + values_new[i]];這將使結果

[[2], 
[4], 
[6]] 

格式setValues可以工作。

+0

感謝您的回覆。 但是,如果我按照[[1],[2],[3]] + [[2],[3],[4]]這樣做, ,結果將變成[[12 ],[23],[34]] –

+0

我想我知道該怎麼做。謝謝! –

+0

你仍然需要做你以前做過的演員 –

相關問題