Вставка текущей даты в Microsoft Excel или Google Таблицах кажется простой задачей — пока не сталкиваешься с нюансами. Одни пользователи хотят, чтобы дата обновлялась автоматически при каждом открытии файла, другие — чтобы она оставалась фиксированной после первого ввода. Третьим нужна не только дата, но и точное время. А четвёртые удивляются, почему вместо ожидаемого результата видят ошибку #VALUE! или странные числовые коды вроде 45123.
Эта статья покрывает все сценарии работы с текущей датой в Excel: от базовых функций TODAY() и NOW() до малоизвестных приёмов с комбинациями клавиш и динамическими массивами. Мы разберём, как избежать типичных ошибок, почему дата может "сбиваться" при копировании формул, и как заставить Excel показывать дату в нужном формате — будь то ДД.ММ.ГГГГ, 15 августа 2026 или даже День недели, число.
Если вы работаете с отчётами, где важна актуальность данных, или ведёте журнал событий с привязкой ко времени — эта инструкция сэкономит вам часы на поиск решений. А для тех, кто любит автоматизацию, мы покажем, как связать дату с другими функциями, например, IF или WORKDAY, чтобы создавать умные таблицы с напоминаниями и дедлайнами.
1. Базовые функции для текущей даты: TODAY() и NOW()
Начнём с основ. В Excel есть две ключевые функции для работы с текущими датой и временем:
Функция TODAY() возвращает только дату без времени. Синтаксис простейший — без аргументов:
=TODAY()
При каждом открытии файла или пересчёте формул (F9) дата будет обновляться. Например, если сегодня 15.08.2026, формула покажет именно это значение.
Функция NOW() более "точная" — она возвращает дату и время до секунды:
=NOW()
Результат может выглядеть как 15.08.2026 14:30:45. Обратите внимание: время обновляется не только при открытии файла, но и при любом изменении в таблице (например, если вы введёте данные в другую ячейку).
Чем отличаются эти функции на практике?
- 📅
TODAY()— идеальна для отчётов, где важна только дата (например, "Сегодняшние продажи"). - ⏰
NOW()— подходит для логов с временными метками (например, "Когда был внесён комментарий"). - ⚡ Обе функции динамические — их значения пересчитываются автоматически.
⚠️ Внимание: Если вы скопируете файл сTODAY()илиNOW()на другой компьютер с другим часовым поясом, дата может "сбиться" на ±1 день. Это не ошибка Excel, а особенность работы с локальным временем устройства.
2. Как вставить текущую дату без формул: статичные значения
Иногда нужна дата, которая не будет меняться при открытии файла. Например, для фиксации даты создания документа или подписания договора. В таких случаях формулы TODAY()/NOW() не подходят — они динамические. Вместо них используйте:
Способ 1. Комбинация клавиш
- 🖥️ Windows: Нажмите
Ctrl + ;(точка с запятой) — в ячейку вставится текущая дата как текст. - 🍎 Mac: Используйте
Command + ;.
Этот метод вставляет дату в формате по умолчанию (обычно ДД.ММ.ГГГГ), но её можно потом отформатировать через Формат ячеек.
Способ 2. Ручное копирование
- В любой ячейке введите формулу
=TODAY(). - Скопируйте ячейку (
Ctrl + C). - Выделите целевую ячейку, кликните правой кнопкой и выберите
Специальная вставка → Значения.
Так вы "зафиксируете" текущую дату как статичное значение.
Способ 3. Функция DATE() с ручным вводом
Если нужно вставить конкретную дату (не обязательно сегодняшнюю), используйте:
=DATE(2026; 8; 15)
Где 2026 — год, 8 — месяц, 15 — день.
☑️ Проверка статичной даты
3. Форматирование даты: как изменить отображение
Excel хранит даты как числа (например, 45123 — это количество дней с 1 января 1900 года), но отображает их в удобном виде. Чтобы изменить формат:
Шаг 1. Выделите ячейку с датой, кликните правой кнопкой и выберите Формат ячеек (или нажмите Ctrl + 1).
Шаг 2. Вкладка Число → Дата. Здесь доступны готовые форматы:
- 📅
14.03.2012— стандартный европейский формат. - 🗓️
14-мар-2012— с сокращённым названием месяца. - 📆
14 марта 2012 г.— полный формат с годом. - 🕒
14.03.12 13:30— дата + время (дляNOW()).
Шаг 3. Для кастомного формата перейдите во вкладку Все форматы и введите свой шаблон. Примеры:
| Формат | Пример отображения | Код для Excel |
|---|---|---|
| День недели, дата | Среда, 15 августа | ДДДД, Д ММММ |
| Дата без года | 15 августа | Д ММММ |
| Квартал и год | Q3 2026 | "Q"Т\ ГГГГ |
| Только месяц прописью | Август | ММММ |
Если Excel показывает дату как число (например, 45123), значит ячейка имеет формат Общий. Исправьте это через Формат ячеек → Дата.
4. Динамические даты: как привязать к условиям
Функции TODAY() и NOW() становятся мощнее, если комбинировать их с другими формулами. Рассмотрим практические примеры:
Пример 1. Проверка просроченных задач
Допустим, в столбце A у вас дедлайны, а в столбце B нужно отметить просроченные:
=IF(A2
Формула вернёт "Просрочено", если дата в A2 раньше сегодняшней.
Пример 2. Расчёт дней до события
Чтобы посчитать, сколько дней осталось до даты в ячейке A2:
=A2-TODAY()
Если результат отрицательный — событие уже прошло.
Пример 3. Автоматическое обновление статуса
Создадим динамический статус для проекта:
=CHOSE(
(TODAY()-A2),
"Сегодня дедлайн",
"Просрочено на " & (A2-TODAY()) & " дней",
"Осталось " & (A2-TODAY()) & " дней"
)
Где A2 — ячейка с датой дедлайна.
Пример 4. Дата + рабочие дни
Чтобы узнать дату через 5 рабочих дней (исключая выходные):
=WORKDAY(TODAY(); 5)
⚠️ Внимание: ФункцияWORKDAYне учитывает праздники. Чтобы их исключить, используйтеWORKDAY.INTLс кастомным календарём или добавьте список праздников в третий аргумент.
5. Типичные ошибки и как их исправить
Даже с простыми функциями вроде TODAY() пользователи сталкиваются с ошибками. Разберём самые частые:
Ошибка #1: #VALUE!
Причина: Вы пытаетесь вычесть из даты текст или пустую ячейку. Например:
=A2-TODAY()
где A2 содержит слово "Дедлайн" вместо даты.
Решение: Проверьте формат ячеек (должен быть Дата) или используйте IFERROR:
=IFERROR(A2-TODAY(); "Ошибка данных")
Ошибка #2: Дата отображается как число (например, 45123)
Причина: Ячейка имеет формат Общий или Числовой.
Решение: Кликните правой кнопкой → Формат ячеек → Дата.
Ошибка #3: Дата не обновляется
Причины и решения:
- 🔄 Автоматический пересчёт отключён: Перейдите в
Формулы → Параметры вычислений → Автоматически. - 📥 Файл открыт в режиме "Только чтение": Сохраните копию и откройте её.
- 🖥️ Формула стала статичной: Возможно, вы скопировали ячейку как значение. Введите формулу заново.
Ошибка #4: Неправильный часовой пояс
Если NOW() показывает не ваше локальное время, проверьте настройки Windows/macOS:
- 🪟 Windows:
Параметры → Время и язык → Дата и время. - 🍎 Mac:
Системные настройки → Дата и время.
Почему Excel считает 1900 год "нулевым"?
В Excel даты хранятся как количество дней с 1 января 1900 года (в Excel для Windows) или с 1 января 1904 года (в Excel для Mac по умолчанию). Это наследие старых версий программы, где такой подход упрощал вычисления. Например, дата 01.01.1900 в Excel равна 1, а 02.01.1900 — 2. Исключение: в Mac-версии по умолчанию используется система 1904, где 01.01.1904 = 0. Это может приводить к расхождениям в 4 года при переносе файлов между платформами.
6. Продвинутые приёмы: динамические диапазоны и массивы
Для опытных пользователей: даты в Excel можно использовать в динамических формулах и массивах. Примеры:
Пример 1. Автоматический список дат
Сгенерируем список из 7 дней начиная с сегодняшнего:
=SEQUENCE(7; 1; TODAY(); 1)
Формула вернёт вертикальный массив дат (в Excel 365 и Excel 2021).
Пример 2. Фильтрация по дате
Допустим, у вас таблица с продажами в столбцах A:B (дата и сумма). Чтобы вывести только продажи за последние 30 дней:
=FILTER(A2:B100; A2:A100>=TODAY()-30; "Нет данных")
Пример 3. Условное форматирование по дате
Выделите диапазон с датами, затем:
- Перейдите в
Главная → Условное форматирование → Создать правило. - Выберите
Использовать формулу.... - Введите
=A1(где A1— первая ячейка диапазона). - Задайте красный цвет для просроченных дат.
Пример 4. Дата в заголовке отчёта
Чтобы вставить текущую дату в заголовок (например, для печати), используйте:
- Перейдите в
Вставка → Колонтитулы. - Кликните на верхний колонтитул и вставьте поле
Текущая дата.
7. Альтернативы: VBA и Power Query
Если стандартных функций недостаточно, можно автоматизировать работу с датами через VBA или Power Query.
VBA: Вставка даты при открытии файла
Создайте макрос, который будет обновлять дату в конкретной ячейке (например, A1) при каждом открытии книги:
Private Sub Workbook_Open()
Sheets("Лист1").Range("A1").Value = Date
End Sub
Чтобы это заработало:
- Нажмите
Alt + F11для открытия редактора VBA. - В окне
ProjectнайдитеThisWorkbookи дважды кликните. - Вставьте код выше.
- Сохраните файл как
.xlsm(с поддержкой макросов).
Power Query: Динамическая дата в импортированных данных
Если вы подгружаете данные из внешнего источника (например, CSV) и хотите добавить столбец с текущей датой:
- Загрузите данные в Power Query (
Данные → Получение данных). - Выберите
Добавить столбец → Настраиваемый столбец. - Введите формулу
= DateTime.LocalNow(). - Примените изменения.
Преимущество Power Query: дата будет обновляться при каждом обновлении запроса, но останется статичной между обновлениями.
FAQ: Частые вопросы о датах в Excel
❓ Почему моя дата в Excel показывает 1905 год вместо 2026?
Это известная ошибка, связанная с настройками календаря в Excel для Mac. По умолчанию там используется система дат с 1904 года (а не 1900, как в Windows). Чтобы исправить:
- Перейдите в
Excel → Настройки → Вычисления. - Снимите галочку с
Использовать систему дат 1904. - Пересохраните файл.
Если файл создан в Windows, а открыт на Mac (или наоборот), даты могут сдвигаться на 4 года и 1 день.
❓ Можно ли сделать так, чтобы дата обновлялась раз в день, а не при каждом изменении?
Да, но стандартными средствами Excel — нет. Варианты:
- 📅 Используйте VBA: создайте макрос, который обновляет дату только один раз в сутки (например, при первом открытии файла).
- ⏳ В Google Таблицах есть функция
=NOW()с ограничением на обновление раз в час, но не в Excel. - 🔄 Сохраняйте файл каждый день под новым именем (например,
Отчёт_15.08.2026.xlsx).
❓ Как вставить дату без года (например, "15 августа")?
Используйте кастомный формат:
- Выделите ячейку с датой.
- Нажмите
Ctrl + 1. - Во вкладке
Число → Все форматывведитеД ММММ.
Для английской версии Excel используйте D MMMM.
❓ Почему при копировании формулы =TODAY() в другую ячейку дата не меняется?
Это нормальное поведение: TODAY() всегда возвращает текущую дату, независимо от того, куда её скопировали. Если вам нужны разные даты (например, TODAY()+1, TODAY()+2), используйте относительные ссылки или функцию SEQUENCE (в новых версиях Excel).
❓ Как вычесть из текущей даты 3 месяца?
Используйте функцию EDATE:
=EDATE(TODAY(); -3)
Формула вернёт дату, которая была 3 месяца назад. Например, если сегодня 15.08.2026, результат будет 15.05.2026.
Альтернатива для старых версий Excel:
=DATE(YEAR(TODAY()); MONTH(TODAY())-3; DAY(TODAY()))