Вы когда-нибудь открывали Excel и понимали, что нужно быстро вставить сегодняшнюю дату — но не знаете, как это сделать без ручного ввода? Эта задача кажется простой, но у неё есть нюансы: от статических значений до динамически обновляемых формул. В этой статье разберём все способы получить текущую дату в Excel — от базовых до продвинутых, с примерами, предупреждениями и лайфхаками.
Чаще всего пользователи ищут ответ на вопрос: «Как в Excel вставить сегодняшнюю дату, чтобы она обновлялась автоматически?» Но иногда требуется обратное — зафиксировать дату на момент создания файла. Мы рассмотрим оба варианта, а также редкие случаи, когда Excel «врет» с датами (и как это исправить).
1. Функция СЕГОДНЯ(): простой способ получить текущую дату
Самый популярный метод — использовать встроенную функцию СЕГОДНЯ() (или TODAY() в английской версии). Она возвращает текущую дату в формате дд.мм.гггг и обновляется каждый раз при пересчёте листа.
Как её применить:
- 📌 Введите в ячейку
=СЕГОДНЯ()и нажмитеEnter. - 🔄 Дата будет обновляться автоматически при открытии файла или ручном пересчёте (
F9). - 📅 Формат отображения можно изменить через
Главная → Формат ячеек → Числовые форматы.
Пример: если сегодня 15 мая 2026 года, формула вернёт 15.05.2026. Но есть подводный камень: функция зависит от системных настроек даты и времени вашего компьютера. Если они сбиты, Excel покажет неверную дату.
2. NOW(): дата + время в одной функции
Если нужна не только дата, но и текущее время, используйте NOW() (или ТДАТАВРЕМЯ() в русской версии). Эта функция возвращает дату и время в формате дд.мм.гггг чч:мм:сс.
Синтаксис простой:
=NOW()
Особенности:
- ⏰ Обновляется при каждом изменении листа или открытии файла.
- 🔧 Чтобы отобразить только дату или только время, измените формат ячейки:
- Для даты: выберите формат
14.03.2012. - Для времени: выберите формат
13:30:55.
3. Статическая дата: как зафиксировать «сегодня» навсегда
Иногда требуется вставить сегодняшнюю дату один раз — чтобы она не менялась при пересчётах. Для этого есть три способа:
- Горячие клавиши:
- 📅 Нажмите
Ctrl + ;(точка с запятой) — Excel вставит текущую дату как текст. - ⏰ Для времени используйте
Ctrl + Shift + ;.
- 📅 Нажмите
Введите =СЕГОДНЯ(), затем скопируйте ячейку и выберите Вставить → Значения (или Ctrl + Shift + V).
Используйте =ТЕКСТ(СЕГОДНЯ();"дд.мм.гггг") — это преобразует дату в текстовый формат.
Предупреждение: статическая дата не обновляется, поэтому её удобно использовать для логов, отчётов или меток времени.
Почему статическая дата может «сломаться»?
Если вы откроете файл на другом компьютере с другими региональными настройками, Excel может интерпретировать текстовую дату неправильно. Например, 05.06.2026 в США станет 6 мая, а не 5 июня. Чтобы избежать этого, используйте универсальный формат 2026-06-05 (ISO 8601).
4. Динамические расчёты с сегодняшней датой
Функцию СЕГОДНЯ() можно комбинировать с другими формулами для автоматизации задач. Примеры:
| Задача | Формула | Пример результата |
|---|---|---|
| Количество дней до конца месяца | =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())+1;0)-СЕГОДНЯ() |
16 (если сегодня 15 мая) |
| День недели (текстом) | =ТЕКСТ(СЕГОДНЯ();"дддд") |
Среда |
| Номер недели в году | =НОМНЕДЕЛИ(СЕГОДНЯ()) |
20 |
| Возраст (если дата рождения в ячейке A1) | =ЦЕЛОЕ((СЕГОДНЯ()-A1)/365) |
32 |
Эти формулы обновляются автоматически, поэтому их удобно использовать в отчётах, календарях или системах напоминаний.
Включён ли автоматический пересчёт? (Файл → Параметры → Формулы → "Автоматически")
Правильно ли настроен региональный формат даты? (Панель управления → Язык и регион)
Нет ли круговой зависимости в формулах? (Формулы → Проверка ошибок)
-->
5. Ошибки и ловушки при работе с датами в Excel
Excel может подкинуть сюрпризы даже в простых операциях с датами. Рассмотрим типичные проблемы:
⚠️ Внимание: Если функцияСЕГОДНЯ()возвращает########, это означает, что столбец слишком узкий для отображения даты. Растяните его или измените формат ячейки.
Другие распространённые ошибки:
- 🚫
#ИМЯ?— опечатка в названии функции (например,СЕГОДНЯвместоСЕГОДНЯ()). - 📅 Дата отображается как число (например,
45467) — это внутренний формат Excel. Исправьте черезФормат ячеек → Дата. - ⏳ Формулы не обновляются — проверьте настройки пересчёта (
Формулы → Вычисление → Автоматически).
Ещё одна ловушка: если вы используете СЕГОДНЯ() в защищённом листе, формула перестанет обновляться. Чтобы этого избежать, разрешите изменение ячеек с формулами в настройках защиты.
6. Продвинутые приёмы: VBA и Power Query
Для автоматизации сложных задач можно использовать VBA или Power Query. Например, чтобы вставить сегодняшнюю дату при открытии файла:
Private Sub Workbook_Open()
Sheets("Лист1").Range("A1").Value = Date
End Sub
Этот код вставляет текущую дату в ячейку A1 при каждом открытии книги. Чтобы его использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - В окне
ProjectвыберитеThisWorkbook. - Вставьте код выше.
- Сохраните файл как
.xlsm(с поддержкой макросов).
В Power Query текущую дату можно получить через = DateTime.LocalNow() (в языке M). Это полезно для динамических отчётов, где данные подгружаются из внешних источников.
7. Альтернативы Excel: Google Таблицы и другие инструменты
Если вы работаете в Google Таблицах, принципы похожи, но есть нюансы:
- 📑 Функция
=TODAY()работает аналогично Excel, но обновляется при каждом изменении листа (а не только при открытии файла). - ⏱ Для даты и времени используется
=NOW(). - 🔗 В Google Таблицах можно использовать
=GOOGLECLOCK()для вставки текущего времени с обновлением каждую минуту.
В LibreOffice Calc и Apache OpenOffice функция называется =TODAY(), но может вести себя иначе при работе с форматами файлов .xlsx.
Совет: если вы часто переключаетесь между Excel и Google Таблицами, проверяйте региональные настройки — они могут конфликтовать при импорте/экспорте файлов.
FAQ: Частые вопросы о датах в Excel
Почему функция СЕГОДНЯ() показывает вчерашнюю дату?
Это происходит, если:
- На вашем компьютере неправильно настроены дата и время (проверьте системные часы).
- В Excel отключён автоматический пересчёт формул (включите в
Формулы → Вычисление → Автоматически). - Файл открыт в режиме «Только для чтения» или защищён от изменений.
Можно ли сделать так, чтобы дата обновлялась каждую секунду?
В стандартном Excel — нет. Функции СЕГОДНЯ() и NOW() обновляются только при пересчёте листа или открытии файла. Для секундного обновления нужен VBA-скрипт с таймером или переход на Google Таблицы (где =NOW() обновляется чаще).
Как вставить сегодняшнюю дату без года (например, 15 мая)?
Используйте формулу:
=ТЕКСТ(СЕГОДНЯ();"дд мммм")
или (для английской версии):
=TEXT(TODAY();"dd mmmm")
Результат: 15 мая.
Почему при копировании даты из Excel в Word она превращается в число?
Это происходит из-за внутреннего хранения дат в Excel (как чисел, где 1 = 01.01.1900). Чтобы избежать проблемы:
- Скопируйте дату в Excel.
- В Word выберите
Специальная вставка → Текст. - Или предварительно отформатируйте ячейку в Excel как
Текстовыйформат.
Можно ли в Excel получить дату «вчера» или «завтра»?
Да, просто добавьте или вычтите дни:
- Вчера:
=СЕГОДНЯ()-1 - Завтра:
=СЕГОДНЯ()+1 - Через 7 дней:
=СЕГОДНЯ()+7