【问题标题】:How to get the next empty row in a specific column google spreadsheet using google apps script如何使用谷歌应用脚​​本获取特定列谷歌电子表格中的下一个空行
【发布时间】:2021-09-17 22:30:33
【问题描述】:

我想用一些数据更新电子表格中的下一行,为此,我需要找到最后一行。但是,我需要获取 A 列中的最后一个值,而不是其他列。下面的函数运行良好,可以让我获得 A 列中具有值但返回该值的最后一行,并且我需要具有该值的行下方的行。

function getLastDataRow(sheet) {
  var lastRow = sheet.getLastRow();
  var range = sheet.getRange("A" + lastRow);

  if (range.getValue() !== "") {
    return lastRow;
  } else {
    return range.getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
   }              
}

我是 JavaScript(python 用户)和 Google Apps 脚本的新手,所以我真的可以在这方面使用一些帮助,因为我整个晚上都在尝试获取 A 列中的第一行,该行之后是空的价值。例如,如果 A20 有最后一个值,我想返回 21 而不是 20。

【问题讨论】:

  • 这个帖子怎么样? stackoverflow.com/q/44562592
  • 嗨 Tanaike,谢谢,但我已经有办法找到从底部搜索的第一个非空单元格。我只是不知道如何获得下一行,即空的那一行。这是我感兴趣的特定部分。您给了我一个可以使用的有效解决方案,但并不是我真正要求的答案。不过,谢谢。
  • 我使用的解决方案很简单但很丑陋,它不是 var target = "A" + getLastDataRow ( sheet );我使用了 var target = "A" + (getLastDataRow ( sheet )+1);

标签: javascript google-apps-script google-sheets google-sheets-api


【解决方案1】:

基本上,我使用以下代码来获取范围并使用新内容更新单元格:

if (projdoc.match(regExp)) { 
projdocnum = regExp.exec(projdoc)[1]; 
var target = "A" + (getLastDataRow ( sheet )+1); 
var regExp2 = new RegExp("[A-Za-z]+([0-9]+)","g"); 
var targetnum = regExp2.exec(target)[1]; var rangesheet = sheet.getRange(target+":D"+targetnum);
rangesheet.setValues([[ID, projectname, projdoc, projdocnum]]);
}

我唯一改变的是我以前的版本:

var target = "A" + (getLastDataRow ( sheet )); and I just added +1 to it to get the next row. 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多