Create Dependent Dropdown Menus

I have 2 related tutorials here: how to create a dependent dropdown menu with a FILTER() formula and again how to do so with a script.

Sheet (to copy)

Formula:
=FILTER(range_to_filter,range_to_compare=cell_to_compare)
=FILTER(E2:F4,E1:F1=A2)

Script:
function onEdit(e){
var ss = e.source.getActiveSheet();
if (ss.getName() != “Script” || e.range.columnStart > 2) return;
var setup = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Setup”);
var vals = setup.getDataRange().getValues();
var rule,i;
var r = e.range.offset(0,1);
if (e.range.columnStart == 1){
i = vals[0].indexOf(e.value);
rule = SpreadsheetApp.newDataValidation()
.requireValueInRange(setup.getRange(2,i+1,1,2))
.setAllowInvalid(false)
.build();
} else if (e.range.columnStart == 2){
i = vals[1].indexOf(e.value);
rule = SpreadsheetApp.newDataValidation()
.requireValueInRange(setup.getRange(3,i+1,3))
.setAllowInvalid(false)
.build();
}
r.setDataValidation(rule);
}

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *