Приветствую!
Есть формула:
"=ЕСЛИ (A7<>0;ТДАТА ();"")"
которая автоматически проставляет время и дату, при заполнении соседней ячейки (см. скриншот)
Но проблема в том, что при любом изменении таблицы, время во всех ячейках обновляется на текущее.
Как сделать, чтобы дата и время ставились, но только один раз и это значение не менялось?


Никак. Формулой - никак! ТДАТА пересчитывается при каждом открытии листа или файла!
Только макросом, который будет проверять, заполнена ячейка с датой или нет.
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 3 && sheet.getName() =='Лист1' ) {
var Value = e.range.offset(0, -2).getValues(); // Смотрим что в ячейке с лева на 2
if ( Value == "" ) {
var vartoday = getDate();
var varnow = getTime();
sheet.getRange(idRow, 1).setValue( vartoday );
sheet.getRange(idRow, 2).setValue(varnow);
}
}
}
// Returns YYYYMMDD-formatted date.
function getDate() {
var today = new Date();
today.setDate(today.getDate());
//return Utilities.formatDate(today, 'PST', 'yyyy.MM.dd');
return Utilities.formatDate(today, 'GMT+03:00', 'yyyy.MM.dd');
}
function getTime() {
var today = new Date();
today.setDate(today.getDate());
//return Utilities.formatDate(today, 'PST', 'yyyy.MM.dd');
return Utilities.formatDate(today, 'GMT+03:00', 'HH:mm');
}
Сделать можно! Ставишь формулу например в ячейке А1 "=ТДАТА ()", а в ячейке А2 делаешь выпадающий список на ячейку А1. Чтоб сделать выпадающий список: наводишь мышкой на ячейку А2, правая кнопка, проверка данных, значения из диапазона и выбираешь ячейку А1.
Полосатый жираф Алик верно говорит!
Красивый развод на бабло. Формула то верная была, ты был прав на 85%, проблема в том что тебе нужна была вторая формула в другой ячейке, и нужно было создать цикличность, Но цикличность работает только при включении итерации. Но право лучшего ответа получил барыга.