2016-12-22 50 views
0

經過一段幫助循環瀏覽谷歌腳本中的數據之後。谷歌腳本循環單元

我想要做的就是通過一個可變範圍(列A)循環並獲得B列的唯一值,其中它符合我的「搜索條件」在列A

比如我有足球隊的多個occurances。

在B列是玩家的名字

我的搜索條件「利物浦」

的代碼就遍歷列A和在那裏找到「利物浦」,它會在相鄰列中添加值到一個數組(如果它已經存在於數組中不會添加它)

(那麼我將最後使用這個數組是一個數據驗證 - 下拉球員名單)

感謝

回答

1

我相信你對appscript是全新的。所以,在這裏,我提出了一些基本知識,如果您有循環和數組的知識,這將幫助您輕鬆完成任務。

可以使用:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("YOUR_SHEET_NAME"); 
    var data = sheet.getDataRange().getValues(); 

sheet變量將具有整個電子表格和data變量將具有整片作爲2D陣列。

現在,當你得到數組,你可以做正常的循環。 所以,你可以使用:

var dropDownArray = []; 
    for(var i=0; i<data.length; i++) //Loop through non-blank values 
    { 
    if(data[i][0] == "Liverpool") //search for liverpool in 1st column 
    { 
     if(dropDownArray.indexOf(data[i][1])<0) //check whether 2nd column's corresponding value is not duplicate 
     { 
     dropDownArray.push(data[i][1]); //If its unique, push into array 
     } 
    } 
    } 

因此你會得到所有利物浦球員的數組。只需在循環結束後打印它的值即可:Logger.log(dropDownArray);

您可以使用Ctrl + Enter從鍵盤檢查日誌,或單擊查看 - >日誌。 @Redex歡迎您

sheet.getRange(row, column).setValue(value) 
+0

,這是非常有用的,幫助了我很多獲取代碼,感謝您的幫助 – Redex

+0

您也可以打印電子表格,陣列,對於使用該!希望你的任務完成,順便祝你聖誕快樂! –