(Колонка не 10) <b>ИЛИ</b> (значение не "выполнено")
при этом
(колонка не 13)<b> ИЛИ </b>(значение не "312")
Странное условие. Сгруппируйте по-другому, это должно помочь.
Я часто пользуюсь такой универсальной конструкцией:
// Файл config.gs
const config = {};
config.onEditTrigger = {
isAllowSheetName: sheetName=>(["1", "2", "3"].includes(sheetName)), // Лист - "1", "2" или "3"
isAllowColumn: column=>([11,12,13].includes(column)), // колонка - 11,12 или 13
isAllowRow: row=>(row>1), // строка - больше 1
isAllowNewValue: value=>(value==="OK"), // новое значение - "ОК"
isAllowOldValue: value=>true, // старое значение - любое
};
// Файл onEdit.gs
function onEditTrigger(event) { // переименовать onEditTrigger в onEdit, если хватит simple триггера. Если нужен полноценный триггер - установить триггер на редактирование на эу функцию
let conf = config.onEditTrigger;
let ss = SpreadsheetApp.getActiveSpreadsheet();
let sourceSheet = event.source.getActiveSheet();
let row = event.range.getRow();
let col = event.range.getColumn();
let newValue = event.value;
let oldValue = event.oldValue;
if(
conf.isAllowColumn(col) &&
conf.isAllowRow(row) &&
conf.isAllowNewValue(newValue) &&
conf.isAllowOldValue(oldValue) &&
conf.isAllowSheetName(sourceSheet.getName())
){
// что-то делаем
};
};
Меняются условия работы в конфиге - для строки/столбца/имени листа/старого значения/нового значения.