TimeStamp в Google листе обновляется каждый день - PullRequest
1 голос
/ 11 октября 2019

Я создал приведенный ниже скрипт на листах Google, чтобы сделать отметку времени, и он работал нормально, чтобы отразить дату

function TIMESTAMP() {

var today = new Date();
var date = (today.getMonth()+1)+'-'+today.getDate()+'- 
'+today.getFullYear();
 var dateTime = date
return dateTime;

}

и на листе, где я хочу, чтобы она отражала:

=if(K2="Done",TIMESTAMP())

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

Попытка создания временной метки. Попытка с использованием обычно функции сегодня или сейчас, ноони сделали то же самое, пытаясь с помощью сочетания клавиш CTRL +;но это должно быть сделано вручную, и я не хочу, чтобы это пытался сделать источник в качестве макроса, но не знал, как применить его в этом операторе IF =if(K2="Done",TIMESTAMP())

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

1 Ответ

0 голосов
/ 11 октября 2019

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

Вот как вы можете это сделать:

function onEdit(e) {
var column=e.range.getColumn();
//check if a cell content in column K was set to "Done"
if(column==11&&e.value=="Done"){
  var today = new Date();
  var date = (today.getMonth()+1)+'-'+today.getDate()+'-'+today.getFullYear();
  var dateTime = date;
  var row=e.range.getRow();
  //specify the column of your choice
  var timeStampColumn=12;
  SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(row, timeStampColumn).setValue(dateTime);
 }
}

Сохраните код и попробуйте запустить его один раз, чтобы запустить процесс аутентификации. Вы получите сообщение об ошибке TypeError: Cannot read property "range" from undefined, потому что функцию onEdit с объектами событий нельзя запускать вручную, но с этого момента ваш код будет запускаться автоматически - каждый раз, когда будет выполняться редактирование в столбце K.

Ссылки:

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