我当前正在使用Google应用脚本。我在列中有3个列表,在编辑它们时,我需要检查该列中的数量。每列分配三个人,如果一列下降到1列,而其他列则下降到3列,那么我将在列表中重新分配这些人。
那么,我可以在给定的列上“ getLastRow”吗? range类具有getLastRow可用,但是,range函数本身似乎未返回具有值的单元格,例如
Logger.log(sheet.getRange("B:B").getLastRow());
。
返回'999.0'-内容的最后一行是第6行。
有什么想法吗?谢谢。
答案 0 :(得分:1)
除了getValues()并检查每个值外,没有其他方法。
var lastRow = -1;
sheet.getRange("B:B")
.getValues()
.some(function(e){
lastRow++;
return !(e[0])
});
Logger.log(lastRow);
如果还要在脚本中使用所有这些值,则可以使用map
var flattenedValues = sheet.getRange("B:B").getValues().map(function(e){
return e[0]; //flatten Array
});
var lastRow = flattenedValues.indexOf('');
Logger.log(lastRow);
也使用
sheet.getRange("B1:B"&sheet.getLastRow());
将有助于避免一堆空值。
以上所有功能均假定没有空白。如果存在,则倒转以找到lastRow。