我正在尝试获取K列中没有空白单元格的行的值。
var spreadsheet = SpreadsheetApp.getActive();
var bigrange = spreadsheet.getSheetByName('sheet').getRange("K2:K").getValues();
// var smallrange= bigrange .filter(String);
for (var i=0; i < smallrange.length; i++) {
var calId = spreadsheet.getSheetByName('sheet').getRange("M" + [i+ 2]).getValue();
}
如果我不使用.filter(String),则上面的代码有效。但是由于我的数据很大,并且K2:K范围的大部分为空白,我认为我应该使用.filter(String)。
获取K2:K中不为空的少数单元格范围的最佳方法是什么?
答案 0 :(得分:0)
这个答案怎么样?
sheet
。在此工作表中,您希望在“ K”列的单元格为空时检索范围。如果我的理解是正确的,那么该修改如何?
首先,在此修改后的脚本中,从“ K2:K”中检索值。然后,从值中检索范围。
var sheetName = "sheet"; // Please set the sheet name here.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(sheetName);
var values = sheet.getRange("K2:K").getValues();
var ranges = values.map(function(e, i) {return e[0] ? sheetName + "!K" + (i + 2) : ""}).filter(String);
Logger.log(ranges)
sheet
。在此工作表中,您希望在“ K”列的单元格为空时检索“ M”列的值。从您的问题和脚本来看,我也理解如上。如果我的理解是正确的,那么该修改如何?
首先,在此修改后的脚本中,从“ A2:M”中检索值。然后,检索列“ K”为空时列“ M”的值。
var sheetName = "sheet"; // Please set the sheet name here.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(sheetName);
var values = sheet.getRange("A2:M").getValues();
var res = values.map(function(e) {return e[10] ? e[12] : ""}).filter(String);
Logger.log(res)
sheet
的工作表中检索值。如果我误解了您的问题,而这不是您想要的结果,我深表歉意。