电子表格非相邻列数据

HSP*_*SPL 4 google-sheets google-apps-script

我想要使​​用应用程序脚本的电子表格中的数据。我试图从两个不相邻的列的多行中获取数据,但我无法使用以下语法这样做。说 A1 到 A19 和 C1 到 C19。请告诉我代码是否有问题。谢谢。

data = sheet.getRange("A1:A19","C1:C19").getValues();

Rub*_*bén 5

最近,类 RangeList被添加到 Google Apps 脚本电子表格服务中,因此现在可以对不相邻的单元格/范围进行一些操作。

代替

data = sheet.getRange("A1:A19","C1:C19").getValues()
Run Code Online (Sandbox Code Playgroud)

你可以使用类似的东西

var data = [];
var ranges = sheet.getRangeList(["A1:A19","C1:C19"]).getRanges();
for(var i = 0; i < ranges.length; i++){
  data = Array.concat(data, ranges[i].getValues());
}
Run Code Online (Sandbox Code Playgroud)


Riy*_*eed 2

您无法通过一次调用将彼此不相邻的两列中的数据获取到单个数组中。但您可以执行以下操作:

var range1=sheet.getRange("A1:A19").getValues();
  var range2=sheet.getRange("C1:C19").getValues();
  var range=[],i=-1;
  while ( range1[++i] ) { 
  range.push( [ range1[i][0], range2[i][0] ] );
}
Run Code Online (Sandbox Code Playgroud)

其中范围将包含两列的内容。您使用的 getRange() 方法不正确