@paroletatel

Возможно ли в Google Sheets каким-либо образом фиксировать дату изменения значения ячейки?

Смысл в том, что нужно знать, в какое время было изменено значение в ячейке, для того, чтобы при переносе на следующий лист через функцию filter строка попадала вниз массива, а не куда-то ещё.

Если есть иное решение этой проблемы, буду рад узнать.
  • Вопрос задан
  • 1061 просмотр
Решения вопроса 1
@feyanax
Вам просто надо смотреть на триггер onedit, проверять какая ячейка редактируется и если нужная вам - то просто записывать в нужную ячейку дату изменения.
посмотрите тут
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Формулы не могут сохранить состояние ячейки, поэтому необходимо использовать скрипты.
Общий код выглядит так

function myFunction(e) {

  try {
    if (!e || !e.range) return;
    if (e.range.columnStart > 1) {
      var targetCell = SpreadsheetApp.getActiveSheet()
        .getRange(e.range.rowStart, 1, e.range.rowEnd - e.range.rowStart + 1);

      /* if you want insert the date once uncomment the row below
      *
      **/
      // if(!targetCell.getValue())
      targetCell.setValue(new Date());
      
    }
  } catch (err) {
    SpreadsheetApp.getActiveSpreadsheet().toast(err.message, 'Error!!1');
  }
}


Пример для тестирование и объяснение можно посмотреть тут https://gist.github.com/contributorpw/b179e819c0ee...

С уважением,
contributor.pw
Ответ написан
Ваш ответ на вопрос

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

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