Google Sheets автоматически заполняет отметку времени в ячейке, когда определенное значение вводится в любой другой ячейке - PullRequest
1 голос
/ 28 января 2020

Я использую рабочий трекер в Google Sheets. У меня есть столбцы от A до U. У меня есть «Статус» в столбце «L» с опциями раскрывающегося списка - Состояние запроса ожидает, согласование выполнено, Ожидание ответа IM . Когда я устанавливаю статус в «Состояние ожидания запроса», я хочу, чтобы отметка времени была заполнена в столбце «N», и она должна быть stati c. Точно так же - для согласования выполнено, отметка времени должна быть в столбце «E». Для статуса «Ожидание ответа IM» отметка времени должна быть в столбце «R». Все отметки времени должны быть установлены c

1 Ответ

0 голосов
/ 28 января 2020

Лучший способ вставить метку времени в событие редактирования - это Google Apps Script

Apps Script предлагает множество полезных функций для работы с электронными таблицами Google . Он также содержит триггеры , такие как onEdit, которые срабатывают при редактировании в вашей электронной таблице и позволяют вам извлекать объекты событий (полезно для определения, например, отредактированного столбца). Лучший способ познакомиться с Apps Script - это следовать официальному учебнику .

Как реализовать ваш запрос в Apps Script:

  1. Go от вашего электронная таблица Tools -> Script editor
  2. Вставьте скрипт ниже
  3. Сохраните сценарий и нажмите «кнопку воспроизведения» (для запуска сценария)
  4. Игнорируйте полученное сообщение об ошибке , Теперь ваш скрипт работает правильно.
function onEdit(e) {
  var range = e.range;
  var column = range.getColumn();
  Logger.log('edited');
  if (column == 12){
    var timestamp = new Date();
    var row = range.getRow();
    var value = e.value;
    var sheet = e.source.getActiveSheet();
    Logger.log("edited cell: "+range.getA1Notation());
    if( value == "Inquiry Status Pending"){
      sheet.getRange(row, 14).setValue(timestamp);
    } else if(value == "Reconciliation Done"){
      sheet.getRange(row, 5).setValue(timestamp);
    } else if(value == "Waiting for IM Response"){
      sheet.getRange(row, 18).setValue(timestamp);
    }
  }
}

Я рекомендую вам потратить некоторое время на изучение скрипта приложений, чтобы понять, как работает предоставленный код, и адаптировать его к вашим потребностям.

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