一个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
可以工作。
感谢您的回复。 但是,如果我按照[[1],[2],[3]] + [[2],[3],[4]]这样做, ,结果将变成[[12 ],[23],[34]] –
我想我知道该怎么做。谢谢! –
你仍然需要做你以前做过的演员 –