gpt4 book ai didi

google-apps-script - 谷歌应用程序脚本: find first empty cell in a row

转载 作者:行者123 更新时间:2023-12-03 04:22:18 24 4
gpt4 key购买 nike

我正在学习 Google 应用程序脚本,同时构建仪表板。我正在从几张纸上收集数据。我的目标是查看每张纸每周增长多少行。这使我能够深入了解我的业务的运作情况。

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

我拥有的是:

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);
}

这可行,但我无法想象这是最好的解决方案(或最快的解决方案)。如果我的长度在我没有注意到的情况下超过 1000,有什么建议吗(尽管在这种情况下需要几年时间才能做到这一点;))?!为什么 getLastColumn() 的行为与 getLastRow() 有如此大的不同?

感谢您帮助我学习:)

*** 编辑后我发现我必须使用 if (waarden[0][j] === ""){ 和三个 = 否则如果我我用作检查的行中的工作表的长度为 0,但使用两个 = 运算符也将其视为空。

最佳答案

尝试indexOf()

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);
}

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

编辑:至于getLastColumn()问题;你可以使用 getMaxColumns()反而。更新了代码以获取工作表中的所有列。

关于google-apps-script - 谷歌应用程序脚本: find first empty cell in a row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45568250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com