1

有沒有辦法只在Google App腳本中獲得非過濾值? (即獲得被展示,而不是所隱藏的價值?只獲取Google應用腳本的非過濾值getRange

例如,假設我有以下的谷歌表細胞+值。

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搜索並在線查找,但找不到有關在Google App腳本中過濾值的代碼。有什麼建議麼?

回答

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'") 
+0

嗨版,這是非常接近了什麼我在尋找。謝謝!!! 我在想這是我尋找的90%(腳本部分) 想知道是否有可能過濾沒有第二列(也許我不應該在例子中使用列B +'y') 例如,假設只有列A並且沒有列B. 您是否仍然想到一種只抓取未過濾數據的方法? – user1717390

+0

你能舉個例子嗎?也許問一個新問題。 –

+0

其實通過這個建議閱讀,我認爲稍微修改它會起作用。所以請不要理睬我最後的信息。再次感謝您的建議,非常有幫助。 – user1717390

相關問題