Google apps script Google应用程序脚本:查找一行中的第一个空单元格

Google apps script Google应用程序脚本:查找一行中的第一个空单元格,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在学习谷歌应用程序脚本,同时构建仪表板。我正在从几张纸上收集数据。我的目标是通过每一张纸每周增加多少行来观察。这让我对自己的业务有了更深入的了解 我可以得到我想要检查的所有表格的长度,但是我找不到任何代码来帮助我找到特定行中的第一个空单元格。我希望将每个工作表的长度放在那里(在我的仪表板数据收集工作表中),以便稍后创建图表 我得到的是: var range = ss.getRange(2, 1, 1, 1000); var waarden = range.getValues(); Logge

我正在学习谷歌应用程序脚本,同时构建仪表板。我正在从几张纸上收集数据。我的目标是通过每一张纸每周增加多少行来观察。这让我对自己的业务有了更深入的了解

我可以得到我想要检查的所有表格的长度,但是我找不到任何代码来帮助我找到特定行中的第一个空单元格。我希望将每个工作表的长度放在那里(在我的仪表板数据收集工作表中),以便稍后创建图表

我得到的是:

var range = ss.getRange(2, 1, 1, 1000);
var waarden = range.getValues();
Logger.log(waarden);
var counter = 0
for (var j = 0; j < ss.getLastColumn(); j++) {
    Logger.log(waarden[0][j]);
    if (waarden[0][j] == ""){
        break
    } else {
        counter++;
    }
    Logger.log(counter);
}
var range=ss.getRange(2,1,1,1000);
var waarden=range.getValues();
Logger.log(瓦登);
变量计数器=0
对于(var j=0;j
这是可行的,但我无法想象这是最好的解决方案(或最快的解决方案)。如果我的长度超过1000而我没有注意到它,有什么建议吗(尽管在这种情况下需要几年时间;)?!为什么
getLastColumn()
的行为与
getLastRow()的行为如此不同

谢谢你帮我学习:)

***编辑我发现我必须使用
if(waarden[0][j]===”){
和三个
=
否则,如果我用作检查的行中的工作表的长度为
0
,那么这也会被两个
=
运算符计为空。

试试看

这将为您提供从0索引开始的空单元格的列位置。因此,如果返回的索引为4,则列为“E”

编辑:对于
getLastColumn()
问题,您可以使用.Updated代码来获取工作表中的所有列。

ss.getRange(),与4个参数一起使用时,将使用起始行和列,然后使用行和列计数,因此您将获得从第一列开始的第二行,并仅检索包含1000个单元格的1行。如果您只需要一行,我将为ss.getLastColumn()的值创建一个变量用它来代替1000,也可以用它来代替你们所说的那个点。若你们在寻找更多的行,那个么一个完整的答案可能是正确的。
function firstEmptyCell () {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];

  var range = ss.getRange(2, 1, 1, ss.getMaxColumns());
  var waarden = range.getValues();

  // Get the index of the first empty cell from the waarden array of values
  var empty_cell = waarden[0].indexOf("");

  Logger.log("The index of the first empty cell is: %s", empty_cell);
}