有没有办法只在 Google App Script 中获取未过滤的值? (即获取显示的值而不是隐藏的值?
例如,假设我在 Google 表格中有以下单元格 + 值。
A1=abc B1=x
A2=def B2=y
A3=ghi B3=y
A4=kjl B4=x
我过滤了 B 列,因此它只显示 [y]。
A2=def B2=y
A2=ghi B3=y
当我使用以下脚本时,隐藏值和非隐藏值都会打印到 msgBox。
function msgBoxTest(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var lastColumn = ss.getLastColumn();
var range_input = ss.getRange("A1:A").getValues();
var result = [i for each (i in range_input)if (isNaN(i))];
// remove commas originating from empty cells
Browser.msgBox(result);
//I want only def & ghi to display here.
//Instead, I get all values -> abc,def,ghi,kjl
}
我用谷歌搜索并在线查看,但找不到有关在 Google App 脚本中过滤掉值的代码。有什么建议么?
最佳答案
如果你想使用脚本,这样做就可以了:
function msgBoxTest(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var lastColumn = ss.getLastColumn();
var range = ss.getRange("A1:B").getValues();
var filter=[]//new array
for(var i=0;i<range.length;i++){
if (range[i][1]=="y"){
filter.push(range[i][0])
}}
Browser.msgBox(filter);
//I want only def & ghi to display here.
}
或者您可以使用一个简单的查询公式来完成:
=query(A1:B,"Select A where B='y'")
关于javascript - 仅为 Google App Script getRange 获取未过滤的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616109/