寻找第一个空行+更新列中的值,直到最后一个非空行

时间:2017-11-09 10:06:22

标签: google-apps-script google-sheets

在Google表格中,我尝试创建一个查找第一个空行的脚本(基于列A中的值)。 找到该行(例如第10行)后,我希望脚本使用以下值填充单元格B2:B9'Example'

我查看了以下脚本,但似乎无法修改它以上述方式工作:

  function getFirstEmptyRow() {
  var spr = SpreadsheetApp.getActiveSpreadsheet();
  var column = spr.getRange('A:A');
  var values = column.getValues(); // get all data in one call
  var ct = 0;
  while ( values[ct][0] != "" ) {
    ct++;
  }
  return (ct);
}

2 个答案:

答案 0 :(得分:1)

使用indexOf()查找数组中给定元素的第一个索引。然后setValue("Example")到您想要的列中的第一行/单元格,并使用copyValuesToRange()用该值填充所需的范围。

function getFirstEmptyRow() {
  var spr = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spr.getSheets()[0];
  var column = spr.getRange('A:A');

  // get all data in one call & flatten array
  var values = column.getValues().join().split(","); 

  // find first empty row
  var empty_row = values.indexOf("");
  var example_range = sheet.getRange("B2");

  // set the first value
  example_range.setValue("Example");

  // copy that value in all rows in col b until the first empty row index
  example_range.copyValuesToRange(sheet.getSheetId(), 2, 2, 2, empty_row);
}

答案 1 :(得分:0)

已经有一段时间了,但是也许您应该检查Sheet.getLastRow()