一个Google脚本,用于从电子表格中对两列进行求和并显示回电子表格

问题描述:

我编写了一个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 [] []”

我如何修改脚本,以便它可以成功运行?

您正在检索的数据是两列矢量,它们表示为数组阵列以保持一致性,例如,

[[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

你仍然需要做你以前做过的演员 –