Автоматическая отметка времени и даты в нескольких столбцах

#date #google-sheets #timestamp #multiple-columns

Вопрос:

У меня есть ссылка на лист Google, где при вводе ячейки в колонке B в ячейку в колонке C помещается метка времени, а в ячейке в колонке G. Два скрипта с Новой датой не работают. Ячейке даты не разрешается иметь время, поэтому сценарий:

 function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Guests" ) { //checks that we're on Guests or not
var r = s.getActiveCell();
if( r.getColumn() == 2 ) { //checks that the cell being edited is in column B
var nextCell = r.offset(0,5);
if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
nextCell.setValue(new Date(new Date().setHours(0,0,0,0))).setNumberFormat('dd/MM/yyyy');
}
}
}
 

Этот сценарий работает нормально, но сценарий с меткой времени не будет.

 function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Guests" ) { //checks that we're on Guests or not
var r = s.getActiveCell();
if( r.getColumn() == 2 ) { //checks that the cell being edited is in column B
var nextCell = r.offset(0,1);
if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
nextCell.setValue(new Date());
}
}
}
 

Я полный неудачник со сценариями.
Спасибо за вашу помощь.

Ответ №1:

Уже решил эту проблему.

Я использовал сценарий с отметкой времени, так как там была Дата. Отформатировал ячейку так, чтобы отображалось только время, а для ячейки G — Дата

Я извлек это из ячейки времени с помощью:

 =TO_DATE(INT(C9))