我正在尝试一种功能,使其能够在Google表格中“从上次停止的地方收起”。
我需要在具有数据的特定列中找到最后一行。 但是:
工作表还有许多其他的列,甚至还有更多的行,所以我不能使用 工作表上的getLastRow。
我正在尝试确定要定位的范围,因此getLastRow现在将 还是在范围级别上工作,因为我还没有范围。
我无法处理array.filter(String),因为我正在处理数字值。
我无法过滤删除虚假元素(通常用于过滤空白 数组值)。
示例:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var range = sheet.getRange(B1:B);
var values = range.getValues(); //Pseudo Array values = [0,0,1,"",""]
var quantityOfValues= values.filter(?????).length //Goal: quantityOfValues== 3
var dataRange = sheet.getRange(1,2,quantityOfValues,1).... // do stuff to this range
答案 0 :(得分:3)
删除所有虚假值的最简单方法是将值设为零,您可以检查真实值还是零。
result = array.filter(v => v || v === 0);
答案 1 :(得分:0)
这就是我的工作
function getColumnHeight(col,sh,ss){
var ss=ss || SpreadsheetApp.getActive();
var sh=sh || ss.getActiveSheet();
var col=col || sh.getActiveCell().getColumn();
var rg=sh.getRange(1,col,sh.getLastRow(),1);//This is just a reasonable starting point.
var vA=rg.getValues();
while(vA[vA.length-1][0].length==0){
vA.splice(vA.length-1,1);
}
return vA.length;
}