获取列Google表格的最后一个非空白行

时间:2019-03-30 08:37:52

标签: google-apps-script

我需要转到列中的最后一个非空白单元格。 很长一段时间,我一直很高兴地使用此代码:

ss.getRange('A500').activate();
ss.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.UP).activate();

但是现在它崩溃了,并说:“很抱歉,发生服务器错误。请稍候,然后重试。” 几天后,我仍然收到相同的消息!

当我调试时,它不会超过上面的第二行,所以我想这就是问题所在。

我一直在寻找解决方案,但只能找到不依赖该列空白的代码。我的列的最后一个单元格上方有许多空白单元格,其中有数据。

请帮助。

2 个答案:

答案 0 :(得分:1)

const data = ss.getRange('A:A').getValues();
let ar=data.map(x => x[0]); //turns 2D array to 1D array, so we can use indexOf
const lastRow=ar.indexOf('');

答案 1 :(得分:0)

一个简单的循环就可以完成这项工作:

var data = ss.getRange('A1:A500').getValues();
for(var i = data.length - 1; i>=0; --i){//bottom-up loop
  if(data[i][0] !== '') break;
}
console.log(i+1);//row number of the non-blank row in a column.