@Suil

Как перенести строку на другой лист по условию?

Добрый день.
Подскажите, пожалуйста, как можно реализовать.

При смене статуса заявки на "Выполнено" вся строчка переносится на другой лист.

5f7ec3ece1b6b716933504.png
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
Если через Google Script:
let ss = SpreadsheetApp.getActiveSpreadsheet();
let zayvkaSheet = ss.getSheetByName('Заявки'); //или как нужно лист назвать
let doSheet = ss.getSheetByName('Выполнено');

function onEdit(e) {
  let cell = e.range;
  if (cell.getSheet().getSheetName() === zayvkaSheet.getSheetName()){ // проверка на то, что изменение происходит именно на листе со списком заявок
    if (cell.getValue() === 'Выполнено'){
      zayvkaSheet.getRange(cell.getRow(), 1, 1, zayvkaSheet.getLastColumn()).copyTo(doSheet.getRange(doSheet.getLastRow() + 1, 1)); //перенос на другой лист
      zayvkaSheet.deleteRow(cell.getRow()); // удаление строки из листа
    }
  }
}

Добавьте, сохраните, запустите один раз через редактор скриптов (он попросит разрешение на изменение текста в таблице) и все
так же добавьте проверку данных для выпадающих списков
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ForestAndGarden
@ForestAndGarden
  • Формулой (см. FILTER(); только это будет не перенос, а показ/вывод).
  • Дополнением для Гугл-таблиц (см. Reactor).
  • Сервисом интеграции (Zapier, Integromat, automate.io, etc.)
  • Google Apps Script .
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы