有没有办法只在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脚本中过滤掉值的代码。有什么建议?
答案 0 :(得分:2)
如果你想使用脚本,可以这样做:
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'")