Как записать дату и время в ячейку Excel

Временная метка в Excel — это записанная в ячейку дата или время, вы можете использовать её когда хотите что-то отследить.

К примеру: вы хотите записать когда был создан отчёт или сформированы новые цены, вариантов может быть очень много и функция крайне полезна.

Итак, начнём.

Горячие клавиши для записи даты или времени

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

Вот эта комбинация:

CTRL + : (удерживайте клавишу CTRL и нажмите кнопку “:”).

Вот как его использовать:

Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox

  • Выделите ячейку, куда нужно записать дату;
  • Нажмите горячие клавиши.
Как записать дату и время в ячейку Excel

Следует знать несколько важных вещей:

  • Функция «берет» время из вашей системы.
  • Когда запишите дату или время в ячейку, вы можете выбрать любой формат отображения, на ваше усмотрение.

Не забывайте, что это время НЕ МЕНЯЕТСЯ с течением времени. Функция ставит текущую временную метку, то есть записывает текущее дату/время. Если вы откроете файл завтра, данные не изменятся.

Эта функция вставляет только время (без даты):

Control + Shift + :  
Как записать дату и время в ячейку Excel

В ситуации, когда вам нужно поставить и дату, и время, вы можете поставить их в 2 ячейки рядом.

Функции СЕГОДНЯ и ТДАТА в Excel

Рассмотренный ранее способ является статическим, т.е. записанная дата не изменится никогда, пока вы её не перепишете.

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

Запись даты используя функцию СЕГОДНЯ

Для записи даты «на сегодня», напишите =СЕГОДНЯ() в ячейку, где вы хотите её видеть.

Как записать дату и время в ячейку Excel

Обычно, формат ячейки автоматически изменится на «Дата», но если по каким-то причинам у вас этого не произошло, сделайте это вручную. Ниже я расскажу как.

Для этого:

  • правой кнопкой мыши и выберите «Формат ячеек»;
Как записать дату и время в ячейку Excel
  • В диалоговом окне «Формат ячеек» выберите категорию «Дата» на вкладке «Числовые форматы»;
Как записать дату и время в ячейку Excel
  • Выберите нужный формат даты (или можно просто выбрать формат по умолчанию);
  • Нажмите OK.

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

Запись даты и времени используя функцию ТДАТА

В случае, когда необходимо записывать не только дату, но и время, есть функция ТДАТА.

Как записать дату и время в ячейку Excel

И снова, по умолчанию функция автоматически присваивает ячейке формат «Дата». Но если, вдруг, этого не произошло то поменяйте формат вручную.

Для этого:

  • Щелкните правой кнопкой мыши на ячейке и выберите «Формат ячеек»;
  • В диалоговом окне «Формат ячеек» выберите категорию «Дата» на вкладке «Числовые форматы»;
  • В поле Тип введите «ДД.ММ.ГГГГ чч:мм:сс»
Как записать дату и время в ячейку Excel
  • Нажмите OK.

Это обеспечит отображение в результате как даты, так и времени.

Рекомендуем курс Excel по анализу данных от Skypro — очень глубокое и яркое погружение в Эксель.

Обратите внимание, что эта формула динамична и будет изменять дату при сохранении файла или если в нем произошли изменения.

Циклы для авто-вставки даты

Недавно мне задали такой вопрос:

«Как сделать, чтобы дата перезаписывалась только тогда, когда изменяется файл? А если файл кто-то сохранил, но изменений не было, необходимо чтобы дата осталась прежней. Я хотел бы чтобы все это происходило автоматически.».

Есть вариант с горячими клавишами (как показано выше в статье). Но это не «автоматически». При использовании сочетаний клавиш вам придется каждый раз вручную записывать дату.

Для именно автоматической записи есть способ с использованием «бесконечного цикла» или еще называют «круговая ссылка».

Итак, что такое круговая ссылка в Excel.

Допустим, у вас есть значение 5 в ячейке A1 и 10 в ячейке A2.

Теперь, если вы используете формулу =A1+A2+A3 в ячейке A3, это приведет к ошибке. Вы также можете увидеть подсказку, как показано ниже:

Как записать дату и время в ячейку Excel

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

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

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

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

Как записать дату и время в ячейку Excel

Заметьте, что когда мы пишем что-то в столбец A, дата пишется в столбец B. Но если само значение меняется, то дата не запишется.

Вот шаги, которые необходимо выполнить чтобы сделать это:

  • Перейдите в меню «Файл» -> «Параметры»;
Как записать дату и время в ячейку Excel
  • В диалоговом окне «Параметры Excel» выберите «Формулы»;
Как записать дату и время в ячейку Excel
  • В опциях «Параметры вычислений» установите флажок «Включить итеративные вычисления»;
Как записать дату и время в ячейку Excel
  • Перейдите в ячейку B2 и введите следующую формулу:
=ЕСЛИ(A2<>"",ЕСЛИ(B2<>"",B2,ТДАТА()),"")  

Готово!

Когда вы введете значение в столбец А, все автоматически пропишется в столбец В.

Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox

Как записать дату и время в ячейку Excel

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

Для этого нужна такая функция:

=ЕСЛИ(A2<>"",ЕСЛИ(И(B2<>"",ЯЧЕЙКА("address")=АДРЕС(СТРОКА(A2),СТОЛБЕЦ(A2))),ТДАТА(),ЕСЛИ(ЯЧЕЙКА("address")<>ADDRESS(СТРОКА(A2),СТОЛБЕЦ(A2)),B2,ТДАТА())),"")  
Как записать дату и время в ячейку Excel

Эта формула использует функцию ЯЧЕЙКА для получения ссылки на последнюю отредактированную ячейку, и если она совпадает с той, что находится слева от нее, то обновляет временную метку.

Примечание: Когда вы один раз включите итеративные вычисления в Excel, они будут активны до тех пор, пока вы их не отключите.

Visual Basic автоматизация записи даты и времени

Если VBA — ваш выбор, здесь вы найдете удобный способ записывать время в Excel.

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

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

Private Sub Worksheet_Change(ByVal Target As Range) 
On Error GoTo Handler 
If Target.Column = 1 And Target.Value <> "" Then 
Application.EnableEvents = False 
Target.Offset(0, 1) = Format(Now(), "dd-mm-yyyy hh:mm:ss") 
Application.EnableEvents = True 
End If 
Handler: 
End Sub

Код проверяет, были ли какие-либо изменения в столбце А. Если да, то дата пишется в столбец B.

Обратите внимание, что этот код перезапишет все что есть в столбце В. Вы можете дописать код, чтобы такой ситуации не возникло.

Куда поместить этот код?

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

Для этого:

  • Щелкните правой кнопкой мыши по имени листа и выберите «Просмотреть код» (или используйте сочетание клавиш Alt + F11, а затем дважды щелкните по имени листа);
Как записать дату и время в ячейку Excel
  • Скопируйте и вставьте этот код в окно;
Как записать дату и время в ячейку Excel
  • Закройте редактор VB.

Обязательно сохраните файл с расширением .XLS или .XLSM, так как он содержит Excel-макрос.

Создаем собственную функцию для записи даты и времени

Создание собственной функции — это действительно хороший способ быстрой записи даты в Excel.

После создания этой функции, можно будет использовать её как любую другую функцию Excel.

Рекомендуем курс Excel по анализу данных от Skypro — очень глубокое и яркое погружение в Эксель.

Вот код, который создает пользовательскую функцию «Временная метка» в Excel:

Function Timestamp(Reference As Range) 
 If Reference.Value <> "" Then 
 Timestamp = Format(Now, "dd-mm-yyy hh:mm:ss") 
  Else 
  Timestamp = "" 
 End If 
End Function  

Куда поместить этот код?

Этот код необходимо вставить в модуль в редакторе VB. После этого функция Timestamp(так мы её назвали) будет доступна в Excel.

Как разместить этот код в модуле:

  • Нажмите ALT + F11 на клавиатуре. Откроется редактор VB Editor;
  • В проводнике проекта в VB Editor щелкните правой кнопкой мыши на любом из объектов и выберите «Insert» -> «Module». Откроется окно вставки нового модуля;
Как записать дату и время в ячейку Excel
  • Скопируйте и вставьте приведенный выше код в окно модуля;
Как записать дату и время в ячейку Excel
  • Закройте редактор VB или снова нажмите ALT + F11.

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

Как записать дату и время в ячейку Excel

Убедитесь, что вы сохранили файл Excel с расширением .XLS или .XLSM, так как он содержит код VB.

Надеюсь, вам помогло данное руководство!

Узнайте Excel как свои пять пальцев на курсе по таблицам от Skillbox

Оцените статью, пожалуйста
Добавить комментарий