Наконец-то придумали, что, кажется, делает свое дело. Не уверен, что это самый упрощенный метод, но пока он работает.
// Populate sub-item data validations
if(activeCell.getColumn() == 3 && activeCell.getRow() > 1){
if(e.range.getSheet().getName() != 'task-itemAssociations') return;
activeCell.offset(0, 1).clearDataValidations();
var subItem = taskSubItemDVss.getRange(activeCell.getRow(),activeCell.getColumn(),itemss.getLastColumn()).getValues();
var subItemIndex = subItem[0].indexOf(activeCell.getValue()) + 2;
if(subItemIndex != 0){
var subItemValidationRange = taskSubItemDVss.getRange(activeCell.getRow(),4,1,taskSubItemDVss.getLastColumn());
var subItemValidationRule = SpreadsheetApp.newDataValidation().requireValueInRange(subItemValidationRange).build();
activeCell.offset(0, 1).setDataValidation(subItemValidationRule);
}
var task = taskDVss.getRange(activeCell.getRow(),activeCell.getColumn(),taskss.getLastColumn()).getValues();
var taskIndex = task[0].indexOf(activeCell.getValue()) + 2;
if(taskIndex != 0){
var taskValidationRange = taskDVss.getRange(activeCell.getRow(),5,1,taskDVss.getLastColumn());
var taskValidationRule = SpreadsheetApp.newDataValidation().requireValueInRange(taskValidationRange).build();
activeCell.offset(0, 2).setDataValidation(taskValidationRule);
}
}