Google Sheets: соответствие OnEdit и понятный скрипт - PullRequest
0 голосов
/ 23 февраля 2020

I w sh для создания функции "onEdit", которая очищает ячейки (от Col L до Col O) из строки, если значение ячейки в Col L не совпадает с ячейкой в ​​Col A.

Col A = "ID"
Col L = "ID Match"

Col A - Col K - импортируемый диапазон. Col L - Col O - диапазон c. Этот диапазон stati c имеет функцию onEdit, которая сортирует строки на основе изменений в Col L. Он синхронизирован c со Col A.

Я новичок в Script Editor, поэтому подробные описания определенно ценим, если у вас есть время, чтобы помочь.

Я хотел бы открыть документ, но он содержит конфиденциальную информацию и слишком сложен, чтобы переписать его.

1 Ответ

1 голос
/ 24 февраля 2020

Если я вас правильно понимаю, вы хотите отслеживать изменения в столбце L, чтобы в случае, если отредактированное значение в столбце L совпадало с любым из значений в столбце A, содержимое столбцов L-O очищалось.

В этом случае вы можете сделать следующее:

function onEdit(e) {
  var range = e.range;
  var sheet = range.getSheet();
  var sheetName = "Sheet1" // Name of the sheet to track. Please change accordingly
  var column = range.getColumn();
  var row = range.getRow();
  var editedValue = range.getValue();
  var colA = sheet.getRange(1, 1, sheet.getLastRow()).getValues().map(function(row) { 
    return row[0]; // Get array of values in column A
  });
  // Check that the edited sheet is the one you want to track.
  // Check that edited column is L
  // Check that the edited value is not found in column A
  if (sheet.getName() === sheetName && column === 12 && colA.indexOf(editedValue) === -1) {
    sheet.getRange("L" + row + ":O" + row).clearContent();
  }
}

Примечание:

onEdit триггеры срабатывают только из-за изменений user, Изменения, сделанные скриптом или данными, импортированными любым другим способом, не запускают редактирование. Если вы хотите отслеживать это, я бы посоветовал вам сделать вместо этого триггер, основанный на времени .

Ссылка:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...