根据Google电子表格中的值创建下拉列表

时间:2017-01-12 02:16:25

标签: drop-down-menu google-apps-script google-sheets spreadsheet

我正在寻找基于价值创建下拉列表。

enter image description here

我在Sheet 1中有2个列有值,在A列是Category,B列是Value,我想要的是在不同的工作表上,我想根据Column Category创建一个DropDown列值列表,

例如。在Sheet 2 A列上,DropDownList选项应该只是那些在Category中具有Sample1值的值。在B列中,我希望下拉列表中的所有选项都只是具有Sample2类别的值。

我知道级联下拉列表,但我认为这有点不同。

先谢谢。

1 个答案:

答案 0 :(得分:1)

如何关注以下脚本?

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheets()[0];
  var data = sheet1.getRange('a1:b7').getValues();
  var choises = ['Sample1', 'Sample2'];
  var list = [];
  for (var i in choises){
    var ar = data.filter(function(e){return (e[0]==choises[i])}).map(function(e){return e[1]});
    list.push(ar);
  }
  var sheet2 = ss.getSheets()[1];
  for (var i=0; i<list.length; i++){ 
    var rule = SpreadsheetApp.newDataValidation().requireValueInList(list[i], true).build();
    var range = sheet2.getRange(2,i+1)
    range.setValue(list[i][0]);
    range.setDataValidation(rule);
  }
}

Sample1的下拉列表

enter image description here

Sample2的下拉列表

enter image description here

如果我误解了,这不是你想要的,请随时告诉我。我会对此进行修改。