Работа с датами в Microsoft Excel — одна из самых частых задач, с которыми сталкиваются пользователи.hether вы ведёте финансовый отчёт, составляете график проектов или просто фиксируете события, умение быстро вставлять текущую дату экономит часы рабочего времени. Но далеко не все знают, что в Excel есть как минимум 7 способов сделать это — от элементарных горячих клавиш до сложных формул с динамическим обновлением.
В этой статье мы разберём не только стандартные методы вроде CTRL+;, но и малоизвестные приёмы: как вставить дату, которая не будет меняться при пересчёте таблицы, как автоматически проставлять дату при изменении данных в ячейке, и даже как создать выпадающий календарь для удобного выбора. Особое внимание уделим типичным ошибкам — например, почему дата вдруг превращается в число или как исправить формат 44197 вместо привычного 15.01.2026.
Если вы никогда не работали с датами в Excel или считаете, что знаете всё — эта статья раскроет новые возможности. Начнём с самого простого и постепенно перейдём к продвинутым техникам, которые используют даже профессиональные аналитики.
1. Горячие клавиши: вставка статической даты за 1 секунду
Самый быстрый способ вставить текущую дату в Excel — использовать комбинацию клавиш. Этот метод подходит, когда вам нужна фиксированная дата, которая не будет обновляться при открытии файла или пересчёте формул.
Для этого:
- 📅 Нажмите
CTRL+;(точка с запятой) — в активной ячейке появится сегодняшняя дата в формате по умолчанию (например,15.01.2026). - ⏰ Если нужно вставить ещё и время, используйте
CTRL+SHIFT+;(дату + текущее время). - 🔄 Обратите внимание: эта дата не обновится завтра — она останется такой, какой была на момент вставки.
Преимущество метода — скорость и простота. Недостаток: если вы откроете файл через неделю, дата останется старой. Это удобно для логов или отчётов, где важно зафиксировать момент создания записи, но не подходит для динамических таблиц.
2. Функция СЕГОДНЯ(): динамическая дата, которая обновляется автоматически
Когда требуется, чтобы дата всегда отображала текущий день (например, в шапке отчёта или на дашборде), используйте функцию =СЕГОДНЯ() (или =TODAY() в английской версии). В отличие от горячих клавиш, эта функция пересчитывается при каждом открытии файла или изменении данных.
Как это работает:
- Выделите ячейку, куда нужно вставить дату.
- Введите
=СЕГОДНЯ()и нажмитеEnter. - Формат отображения можно изменить через
Главная → Формат ячеек → Числовой формат → Дата.
Примеры использования:
- 📊 В дашбордах для отображения актуальной даты генерации отчёта.
- 📅 В календарях проектов, где нужно видеть текущий день.
- ⚠️ В формулах для расчёта просроченных задач (например,
=ЕСЛИ(A2<СЕГОДНЯ();"Просрочено";"В срок")).
Почему функция СЕГОДНЯ() может не обновляться?
Если дата не меняется при открытии файла, проверьте настройки Excel: перейдите в Файл → Параметры → Формулы и убедитесь, что выбрано Автоматически в разделе Параметры вычислений. В ручном режиме формулы не пересчитываются без команды F9.
3. Автозаполнение дат: серии, шаги и кастомные интервалы
Excel умеет автоматически продолжать последовательности дат — это удобно для создания календарей, графиков платежей или временных шкал. Например, если вам нужно пронумеровать дни недели или месяцы подряд.
Как заполнить ряд дат:
- Введите первую дату в ячейку (например,
01.01.2026). - Наведите курсор на правый нижний угол ячейки — появится чёрный крестик (маркер заполнения).
- Протяните его вниз или вправо, удерживая левую кнопку мыши.
Чтобы настроить шаг заполнения (например, через день или каждую пятницу):
- 📅 Введите две первые даты серии (например,
01.01.2026и03.01.2026для шага в 2 дня). - Выделите обе ячейки и протяните маркер заполнения.
- 🔄 Для недели: введите
01.01.2026и08.01.2026, затем протяните.
Продвинутый приём: если нужно заполнить даты только по рабочим дням (исключая выходные), используйте функцию =РАБДЕНЬ():
=РАБДЕНЬ(A1;1)
где A1 — ячейка с начальной датой, а 1 — количество рабочих дней для добавления.
4. Выпадающий календарь: выбор даты без ручного ввода
Если вам нужно, чтобы пользователи могли выбирать дату из календаря (например, в формах заказов или анкетах), добавьте элемент управления "Поле со списком" с привязкой к датам.
Инструкция для Excel 2016 и новее:
- Перейдите на вкладку
Разработчик(если её нет, включите вФайл → Параметры → Настройка ленты). - Нажмите
Вставить → Поле со списком (элемент управления формы). - Нарисуйте поле на листе и щёлкните по нему правой кнопкой →
Формат элемента управления. - В поле
Диапазон вводаукажите диапазон с датами (например,$A$1:$A$31для дней месяца).
Для более удобного календаря используйте надстройку Date Picker:
- 📅 В Excel 365:
Вставка → Надстройки → Date Picker. - 🖱️ В старых версиях: скачайте бесплатную надстройку Calendar Control с сайта Microsoft.
Включить вкладку "Разработчик"
Создать список дат в отдельном диапазоне
Вставить элемент "Поле со списком"
Привязать элемент к диапазону дат
Отформатировать ячейку как "Дата"-->
5. Фиксированная дата при изменении данных: функция ДАТА() и события VBA
Иногда требуется, чтобы дата проставлялась автоматически, но фиксировалась при первом изменении ячейки. Например, в журнале регистрации, где нужно зафиксировать дату создания записи, но не обновлять её при редактировании.
Решение без VBA:
=ЕСЛИ(B2<>"";ЕСЛИ(C2="";СЕГОДНЯ();C2);"")
где B2 — ячейка с данными, а C2 — ячейка с датой. Формула проверяет, если в B2 есть данные и в C2 ещё нет даты, то вставляет сегодняшнюю дату. В противном случае оставляет C2 без изменений.
Решение с VBA (для продвинутых пользователей):
- Нажмите
ALT+F11, чтобы открыть редактор VBA. - Дважды кликните на лист в дереве проекта и вставьте код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
If Target.Value <> "" And Target.Offset(0, 1).Value = "" Then
Target.Offset(0, 1).Value = Date
End If
End If
End Sub
Этот код будет проставлять текущую дату в ячейку справа (Offset(0, 1)) при изменении данных в столбце B.
6. Преобразование текста в дату: исправляем ошибки формата
Частая проблема: Excel воспринимает даты как текст (например, после импорта из CSV) или отображает их в виде чисел (44197 вместо 01.01.2021). Исправить это можно несколькими способами.
Способы преобразования:
| Проблема | Решение | Пример |
|---|---|---|
Дата в виде текста ('01.01.2026) |
Используйте ДАТАЗНАЧ() или ТЕКСТ.В.ДАТУ() |
=ДАТАЗНАЧ(A1) |
Число вместо даты (44197) |
Измените формат ячейки на Дата |
CTRL+1 → Числовой формат → Дата |
Американский формат (MM/DD/YYYY) |
Замените через ПОДСТАВИТЬ() или настройте региональные параметры |
=ДАТА(ПРАВСИМВ(A1;4);ЛЕВСИМВ(A1;2);ПСТР(A1;4;2)) |
Дата с временем (01.01.2026 12:00) |
Используйте ЦЕЛОЕ() или измените формат |
=ЦЕЛОЕ(A1) |
Если даты импортируются из внешних источников (например, 1C или Google Sheets), проверьте кодировку файла и разделители. Например, в CSV даты должны быть в формате DD.MM.YYYY, а не DD/MM/YYYY, иначе Excel воспримет их как текст.
7. Работа с датами в фильтрах и сводных таблицах
Дата — один из самых мощных критериев для фильтрации и анализа данных. В Excel можно группировать даты по годам, кварталам или месяцам, а также использовать их в сводных таблицах для динамических отчётов.
Примеры использования:
- 📈 Группировка в сводных таблицах: добавьте поле с датой в область строк, затем щёлкните правой кнопкой по любой дате →
Группировать. Выберите интервал (дни, месяцы, кварталы). - 🔍 Фильтр по дате: в обычной таблице нажмите
Данные → Фильтр, затем используйте выпадающий список в заголовке столбца с датой для выбора диапазона. - 📊 Условное форматирование: выделите просроченные задачи (например,
=A1<СЕГОДНЯ()) или ближайшие дедлайны.
Продвинутый приём: если вам нужно анализировать данные по рабочим дням, создайте дополнительный столбец с функцией =ДЕНЬНЕД(), которая возвращает номер дня недели (1 — воскресенье, 2 — понедельник и т. д.). Затем отфильтруйте значения с 2 по 6 (понедельник-пятница).
Для анализа временных рядов (например, продаж по датам) используйте линии тренда или прогноз (вкладка Данные → Прогноз). Excel автоматически определит сезонность и построит прогноз на будущие периоды.
FAQ: Частые вопросы о работе с датами в Excel
🔹 Почему после ввода даты она превращается в число (например, 44197)?
Excel хранит даты как числа, где 1 соответствует 01.01.1900 (в Windows) или 01.01.1904 (в Mac). Чтобы вернуть нормальный вид, измените формат ячейки на Дата (CTRL+1).
🔹 Как вставить дату, которая будет обновляться только при редактировании ячейки?
Используйте комбинацию функций:
=ЕСЛИ(A1<>"";ЕСЛИ(B1="";СЕГОДНЯ();B1);"")
где A1 — ячейка с данными, а B1 — ячейка для даты. Либо настройте VBA-макрос (см. раздел 5).
🔹 Можно ли в Excel вставить дату на русском языке (например, "15 января 2026")?
Да, используйте функцию =ТЕКСТ() с пользовательским форматом:
=ТЕКСТ(СЕГОДНЯ();"DD MMMM YYYY")
Для английского формата замените MMMM на [$-409]MMMM.
🔹 Почему функция СЕГОДНЯ() показывает вчерашнюю дату?
Проверьте:
- Настройки времени на компьютере (возможно, они сбились).
- Режим вычислений в Excel (
Формулы → Параметры вычислений → Автоматически). - Формат ячейки — иногда дата отображается корректно, но из-за неверного формата кажется "вчерашней".
🔹 Как посчитать разницу между двумя датами в годах/месяцах?
Используйте функции:
- Для полных лет:
=ЦЕЛОЕ((B1-A1)/365)или=РАЗНДАТ(A1;B1;"y"). - Для месяцев:
=РАЗНДАТ(A1;B1;"m"). - Для дней:
=B1-A1(ячейки должны быть в форматеДата).
Функция =РАЗНДАТ() учитывает високосные годы и разную длину месяцев.