У меня есть таблица Google для подсчета моих финансовых расходов.Есть несколько категорий, например, еда.Каждый раз, когда я добавляю новую категорию, значение UNIQUE добавляет значение.Этот лист предназначен для нескольких человек, поэтому у меня есть несколько УНИКАЛЬНЫХ формул, по одной для каждого человека.
Я создал скрипт, который копирует все значения из УНИКАЛЬНЫХ формул в один столбец, а затем делает его уникальным, чтобы убедиться, что все люди имеютте же категории.
Я хотел сделать это автоматически, поэтому каждый раз, когда я добавляю новую категорию, обновляется один из уникальных списков и должен запускаться скрипт.Однако есть моя проблема.Сценарий onEdit не обнаруживает изменения, если он из формулы UNIQUE.
Сценарий onEdit не работает.
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var range = e.range;
var editRange = { // B4:J6
top : 3,
bottom : 20,
left : 22,
right : 23
};
// Exit if we're out of range
var thisRow = e.range.getRow();
if (thisRow < editRange.top || thisRow > editRange.bottom) return;
var thisCol = e.range.getColumn();
if (thisCol < editRange.left || thisCol > editRange.right) return;
sheet.getRange('X3:X1000').clearContent();
var base = 3;
var counter = 3;
var counterResult = 3;
while(sheet.getRange(counter, 22).getValue().length != 0){
var getValue = sheet.getRange(counter++, 22).getValue();
sheet.getRange(counterResult++, 24).setValue(getValue);
}
counter = base;
while(sheet.getRange(counter, 23).getValue().length != 0){
var getValue = sheet.getRange(counter++, 23).getValue();
sheet.getRange(counterResult++, 24).setValue(getValue);
}
}
Функция, которая обнаруживает изменения в уникальной формуле.