У меня есть два простых сценария, два из которых создают динамические c зависимые раскрывающиеся списки, основанные на двух разных источниках данных в листе Google. В моем листе значение в столбце B зависит от A, а значение в столбце I зависит от H. Если я запускаю один скрипт, второй не работает. Я знаю, что должен объединить их в одну функцию, но я совершенно новичок в JavaScript, поэтому я и спрашиваю вас.
function onEdit(){
var tabLists = "source1";
var tabValidation = "main";
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var datass = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(tabLists);
var activeCell = ss.getActiveCell();
if(activeCell.getColumn() == 1 && activeCell.getRow() > 1 && ss.getSheetName() == tabValidation){
activeCell.offset(0, 1).clearContent().clearDataValidations();
var makes = datass.getRange(1, 1, 1, datass.getLastColumn()).getValues();
var makeIndex = makes[0].indexOf(activeCell.getValue()) + 1;
if(makeIndex != 0){
var validationRange = datass.getRange(3, makeIndex, datass.getLastRow());
var validationRule = SpreadsheetApp.newDataValidation().requireValueInRange(validationRange).build();
activeCell.offset(0, 1).setDataValidation(validationRule);
}
}
}
function onEdit(){
var tabLists = "source2";
var tabValidation = "MAINTENANCE";
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var datass = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(tabLists);
var activeCell = ss.getActiveCell();
if(activeCell.getColumn() == 8 && activeCell.getRow() > 1 && ss.getSheetName() == tabValidation){
activeCell.offset(0, 1).clearContent().clearDataValidations();
var makes = datass.getRange(1, 1, 1, datass.getLastColumn()).getValues();
var makeIndex = makes[0].indexOf(activeCell.getValue()) + 1;
if(makeIndex != 0){
var validationRange = datass.getRange(3, makeIndex, datass.getLastRow());
var validationRule = SpreadsheetApp.newDataValidation().requireValueInRange(validationRange).build();
activeCell.offset(0, 1).setDataValidation(validationRule);
}
}
}
Я попытался объединить их в один оператор If с большим количеством переменных, таких как "tablist1", "tablists2", "datass1", "datass2" et c. Я так истощен, что буду благодарен, если вы мне поможете.
С уважением