Javascript 使用google apps脚本在电子表格的一列中获取值

Javascript 使用google apps脚本在电子表格的一列中获取值,javascript,google-apps-script,google-apps,Javascript,Google Apps Script,Google Apps,我想使用Google apps脚本从电子表格中的一列中获取一个字符串值,以便稍后与if条件进行比较。 我搜索了互联网,发现了这个链接-抱歉,如果这听起来很愚蠢,我是谷歌应用程序脚本的新手- 我想这一定很有帮助,唯一的问题是我想从中获取值的列是动态的,因此如果您仅使用以下命令,我如何设置此列的范围: var values=SpreadsheetApp.getActiveSheet().getDataRange().getValues() 您将获得一个二维数组,其中包含按行和列索引的工作表中的所有数

我想使用Google apps脚本从电子表格中的一列中获取一个字符串值,以便稍后与if条件进行比较。 我搜索了互联网,发现了这个链接-抱歉,如果这听起来很愚蠢,我是谷歌应用程序脚本的新手-

我想这一定很有帮助,唯一的问题是我想从中获取值的列是动态的,因此如果您仅使用以下命令,我如何设置此列的范围:

var values=SpreadsheetApp.getActiveSheet().getDataRange().getValues()

您将获得一个二维数组,其中包含按行和列索引的工作表中的所有数据

因此,要获取A列第1行中的值,您可以对A列第2行使用
值[0][0]
值[1][0]
,对C列第1行使用
值[0][2]

如果需要在for循环中迭代(在单个列中):


for(n=0;n循环遍历行并获取列值的更简单的方法..希望对您有所帮助

var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();

values.forEach( function(row) {
  row[4] // column index as 4
});

下面是我用来获取动态列中的值的脚本:

var SS = SpreadsheetApp.getActiveSheet()
var Avals = SS.getRange("A1:A").getValues();
var numberOfValues = Avals.filter(String).length;
var RangeVals = SS.getRange(1,1,numberOfValues).getValues();
我从来没有根据动态变化的起始点来改变哪一行起始。我很想看看这是怎么做到的

这里有一个类似的例子。
另一个示例。

假设您希望列
A
中的所有行/单元格使用:


但是,这真的是一种有效的方法吗?检索整个数据范围,然后只需要一列,这似乎太过分了。获取所有数据或只获取一列数据需要相同的时间,所以这真的没有任何区别:-)您可以很容易地在执行记录中检查,其中所有执行时间都由服务调用记录。这确实有助于我理解2D数组。感谢在表现上有巨大的差异。getRange(“A:A”)更快。
for(n=0;n<values[0].length;++n){
var cell = values[x][n] ; // x is the index of the row starting from 0
}
var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();

values.forEach( function(row) {
  row[4] // column index as 4
});
var SS = SpreadsheetApp.getActiveSheet()
var Avals = SS.getRange("A1:A").getValues();
var numberOfValues = Avals.filter(String).length;
var RangeVals = SS.getRange(1,1,numberOfValues).getValues();
  var values = SpreadsheetApp.getActiveSheet().getRange("A:A").getValues();