2016-12-22 52 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

您也可以打印电子表格,阵列,对于使用该!希望你的任务完成,顺便祝你圣诞快乐! –