Есть ли способ заморозить СЕГОДНЯ, когда он был записан в ячейку в Google Sheets? - PullRequest
1 голос
/ 24 июня 2019

Используя today(), я заполняю ячейку текущей датой заполнения соседней ячейки.К сожалению, когда наступит завтрашний день, вчерашняя дата, с точки зрения завтрашнего дня, будет неправильной.

Есть ли способ заморозить today() как день, когда она была написана, а не текущую дату?

Примечание: есть тысячи таких ячеек, поэтому Cmd + ; не решает эту проблему.Это должна быть формула, которую можно скопировать в эти тысячи ячеек.

1 Ответ

3 голосов
/ 24 июня 2019

возможно только со скриптом:

function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Sheet3" ) { 
var r = s.getActiveCell();
if( r.getColumn() == 13 ) { 
  var nextCell = r.offset(0, 9);
  var newDate = Utilities.formatDate(new Date(), 
  "GMT+8", "MM/dd/yyyy hh:mm:ss");
  nextCell.setValue(newDate);
}}}
  • "Sheet3" = имя листа
  • r.getColumn() == 13 = столбец M / 13-й столбец
  • r.offset(0, 9) = смещение отметки времени на 9 столбцов вправо в одной строке, например столбец V
  • "GMT+8" = часовой пояс
  • "MM/dd/yyyy hh:mm:ss" = формат даты и времени
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...