【发布时间】:2020-06-02 19:50:36
【问题描述】:
首先,对不起我的技能;我的编码背景为零,我只是想修改一个脚本以满足我的需要。
我需要setValues 在两行数据表数据范围内。
当前脚本设置第一行中的值。 我应该如何修改脚本,以便从 2 行中的 4 个值中获取数据?
当前行为:
我的首选行为:
要运行的函数:打印
function Print() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet").getRange(1, 1, 1, 2).setValues(Data());
}
function Data() {
var array = [];
var score = "retrieved score";
var time = (2+2);
var device = "device";
var speed = 3+3;
array.push([score,time]);
Utilities.sleep(1000);
return array;
}
【问题讨论】:
-
扩展您通过
getRange()获得的范围 - 目前,您只能获得第一行、第一列、一行、两列(因此参数为 1,1,1 ,2) -
不幸的是,它不起作用。我设置 getRange(1, 1, 2, 2) 然后 array.push([score,time,device,speed]) 但我收到此错误:“数据中的列数与数据中的列数不匹配范围。数据有 1,但范围有 2。"
-
哦,是的,当然——你需要确保每一行只有两列——目前你创建一个单行两列矩阵,你需要
[ [score, time], [device, speed] ]ofc -
刚刚更新了这一行:
array.push( [[score,time],[device,speed]] );但我想我需要重新定义 var 因为var array = [];似乎是一个单行列矩阵。我没有成功地尝试定义 var :-( . -
我的意思是
[[ ]]作为一个整体,当然push在array中应该只有两行,而不是我提到的矩阵。请阅读push()方法 works
标签: javascript google-apps-script multidimensional-array google-sheets