在电子表格中的一列中获得价值使用谷歌Apps脚本(get value in one column i

2019-07-20 06:35发布

我希望得到一个字符串值-to以后使用if条件 - 从只有一列在电子表格中使用谷歌Apps脚本进行比较。 我在网上搜索,我发现这个链接-对不起,如果这听起来很愚蠢,我是新来的谷歌Apps脚本- https://developers.google.com/apps-script/class_spreadsheet

var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues(); 

我想这一定是有帮助的,唯一的问题是,在专栏中,我想要得到的值从是动态的,所以我怎么设置此列的范围

Answer 1:

如果你使用简单:

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

你会得到所有的片通过行和列索引的数据的2维数组。

因此,要获得在A列中的值,ROW1您使用values[0][0] values[1][0]为columnA,第2行, values[0][2]为C列ROW1,等等。

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

for(n=0;n<values.length;++n){
var cell = values[n][x] ; // x is the index of the column starting from 0
}

如果你需要在一个迭代的for循环(在单个行):

for(n=0;n<values[0].length;++n){
var cell = values[x][n] ; // x is the index of the row starting from 0
}


Answer 2:

更简单的方法来通过行循环,并得到一个列值..希望帮助

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

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


Answer 3:

下面是我用它来获得一个动态的列中的值的脚本:

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();

我从来没有改变其起始行基于基于动态变化的出发点虽然。 有兴趣看到,将如何来实现。

这是一个类似的职位 。 另一个例子在这里 。



文章来源: get value in one column in spreadsheet using google apps script