Как в Excel получить числа месяца из дат: от ДНЕВНОЙ() до Power Query

Почему числа месяца в Excel — это не так просто, как кажется

Вы когда-нибудь пытались вытащить из даты только номер дня — например, преобразовать 15.05.2026 в простое число 15? На первый взгляд задача элементарная, но в Excel она имеет десятки нюансов. Одни пользователи годами вручную переписывают числа из дат, другие используют формулы с ошибками, а третьи даже не подозревают о встроенных функциях типа ДЕНЬ() или DAY().

Проблема усугубляется тем, что Excel хранит даты как серийные числа (где 1 — это 01.01.1900), а не в привычном текстовом формате. Если просто применить формат ячейки "Общий", вы увидите что-то вроде 45367 вместо ожидаемого 15. В этой статье мы разберём 5 рабочих способов извлечь числа месяца — от базовых функций до автоматизации через Power Query, а также покажем, как избежать типичных ошибок при работе с календарными данными.

Особое внимание уделим случаям, когда даты хранятся как текст (например, после импорта из CSV), или когда нужно получить числа месяца для динамического диапазона — например, для построения графиков по дням. Все примеры протестированы в Excel 2016–2026 и Google Таблицах, с учётом их особенностей.

Способ 1: Функция ДЕНЬ() (DAY) — самый простой вариант

Если ваша дата уже распознана Excel как дата (а не текст), функция ДЕНЬ() (или DAY() в английской версии) — это самый надёжный и универсальный способ. Она возвращает номер дня месяца для любой корректной даты, включая текущую.

Формула выглядит так:

=ДЕНЬ(A1)

где A1 — ячейка с датой. Например, если в A1 записано 28.02.2026, формула вернёт 28.

  • ✅ Работает во всех версиях Excel и Google Таблицах.
  • ✅ Автоматически обновляется при изменении исходной даты.
  • ⚠️ Не работает, если ячейка содержит текст (например, "31.12.2026" в кавычках).
⚠️ Внимание: Если после применения ДЕНЬ() вы видите ошибку #ЗНАЧ!, проверьте формат ячейки с датой. Возможно, Excel воспринимает её как текст. Исправляется через Формат ячеек → Дата или функцию ДАТАЗНАЧ().

Для английской версии Excel используйте:

=DAY(A1)

Способ 2: Текстовые функции, если дата хранится как строка

Частая проблема при импорте данных — даты приходят в текстовом формате, например, "15/05/2026" или "2026-05-15". В этом случае ДЕНЬ() не сработает, но на помощь придут текстовые функции:

  • 📅 ЛЕВСИМВ() — для формата ДД.ММ.ГГГГ (извлекает первые 2 символа).
  • 📅 ПСТР() — для формата ГГГГ-ММ-ДД (извлекает символы с 9-й позиции).
  • 📅 НАЙТИ() + ПСТР() — для нестандартных форматов (например, "15 мая 2026").

Примеры формул:

Формат даты в текстеФормула для извлечения числаРезультат
"15.05.2026"=ЛЕВСИМВ(A1;2)15
"2026-05-15"=ПСТР(A1;9;2)15
"15 мая 2026"=ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1)15
"May 15, 2026" (английский)=ПСТР(A1;НАЙТИ(" ";A1)+1;2)15

Если числа месяца в текстовом формате могут быть однозначными (например, "5.05.2026"), используйте модифицированную формулу:

=ЕСЛИ(ДЛСТР(ЛЕВСИМВ(A1;НАЙТИ(".";A1)-1))=1; "0"&ЛЕВСИМВ(A1;НАЙТИ(".";A1)-1); ЛЕВСИМВ(A1;НАЙТИ(".";A1)-1))

Она добавит ведущий ноль к числам от 1 до 9.

Что делать, если дата в тексте с буквами месяца?

Если ваша дата выглядит как "15 мая 2026" или "May 15, 2026", сначала преобразуйте её в настоящую дату с помощью ДАТАЗНАЧ() + ПОДСТАВИТЬ(), а затем применяйте ДЕНЬ(). Например:

=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"января";"/1/");" ";"/"))

Это заменит название месяца на его номер и создаст корректную дату для дальнейшей обработки.

Способ 3: Форматирование ячеек без формул

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

  1. Выделите ячейки с датами.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Выберите категорию Все форматы.
  4. В поле Тип введите д (для русской версии) или d (для английской).

Теперь ячейка будет показывать только число (например, 15 вместо 15.05.2026), но при этом сохранит полную дату для формул. Это удобно для визуального анализа, но не подходит, если вам нужно использовать числа месяца в дальнейших расчётах.

⚠️ Внимание: Пользовательский формат д не меняет фактическое значение ячейки! Если вы скопируете такое число в другую программу, оно останется полной датой. Для реального извлечения числа используйте формулы из способов 1 или 2.
📊 Какой способ извлечения чисел месяца вы используете чаще?
Функция ДЕНЬ()/DAY
Текстовые функции (ЛЕВСИМВ, ПСТР)
Пользовательский формат ячеек
Power Query
Другой способ

Способ 4: Power Query для массовой обработки

Если у вас тысячи строк с датами (например, лог транзакций или данные с датчиками), ручное применение формул неэффективно. В этом случае Power Query (в Excel 2016+ и Google Таблицах через надстройки) позволит автоматизировать процесс:

  1. Выделите диапазон с датами и нажмите Данные → Из таблицы/диапазона (или Data → From Table/Range).
  2. В открывшемся редакторе Power Query выберите столбец с датами.
  3. Перейдите на вкладку Добавить столбец (Add Column) → Дата → День → День.
  4. Нажмите Закрыть и загрузить (Close & Load).

Power Query создаст новый столбец с числами месяца, а оригинальные даты останутся нетронутыми. Преимущества метода:

  • 🚀 Обрабатывает миллионы строк без лагов.
  • 🔄 Автоматически обновляется при изменении исходных данных.
  • 📊 Сохраняет связь с источником (можно обновить запрос одним кликом).

Для Google Таблиц аналогичный функционал доступен через надстройку Power Tools или Apps Script.

Убедитесь, что столбец с датами не содержит пустых ячеек|Проверьте формат дат (должен быть распознан как дата, а не текст)|Сохраните оригинальный файл на случай ошибок|Задайте правильную локаль (русская/английская) в настройках Power Query-->

Способ 5: Динамические массивы (Excel 365 и 2021)

В последних версиях Excel появились динамические массивы, которые позволяют извлечь числа месяца для всего диапазона одной формулой. Например, если у вас даты в столбце A1:A100, введите в любой ячейке:

=ДЕНЬ(A1:A100)

Excel автоматически "прольёт" результат на все строки — без необходимости протягивать формулу вниз!

Для более сложных сценариев (например, извлечение чисел месяца с фильтрацией) используйте комбинацию функций:

=ФИЛЬТР(ДЕНЬ(A1:A100); МЕСЯЦ(A1:A100)=5)

Эта формула вернёт все числа месяца только для мая (5-й месяц).

⚠️ Внимание: Динамические массивы работают только в Excel 365 и Excel 2021. В более старых версиях формула вернёт ошибку или только первое значение. Для Google Таблиц аналогичный функционал реализуется через ARRAYFORMULA.

Типичные ошибки и как их избежать

Даже опытные пользователи Excel сталкиваются с проблемами при работе с числами месяца. Вот TOP-5 ошибок и их решения:

  1. Ошибка #ЗНАЧ! в функции ДЕНЬ()
    Причина: Ячейка содержит текст, а не дату.
    Решение: Используйте ДАТАЗНАЧ() для преобразования: =ДЕНЬ(ДАТАЗНАЧ(A1)).
  2. Неправильные числа при текстовом формате
    Причина: Дата записана как "15/05/2026", но Excel воспринимает её как 15 мая или 5 месяц 15 день (в зависимости от региональных настроек).
    Решение: Явно укажите формат: =ДЕНЬ(ДАТА(ПРАВСИМВ(A1;4); ПСТР(A1;4;2); ЛЕВСИМВ(A1;2))).
  3. Лишние нули в начале чисел
    Причина: Пользовательский формат ячейки установлен как текст.
    Решение: Примените формат "Числовой" или используйте =--ТЕКСТ(ДЕНЬ(A1);"0").
  4. Ошибки при копировании в другие программы
    Причина: Пользовательский формат д не меняет фактическое значение.
    Решение: Используйте Специальная вставка → Значения после применения формул.
  5. Несовпадение с календарём
    Причина: В настройках Excel указан неверный первый день недели или формат даты.
    Решение: Проверьте Файл → Параметры → Язык → Региональные параметры.

Если вы работаете с историческими датами (до 1900 года), помните, что Excel их не поддерживает корректно. В этом случае используйте текстовые функции или специализированные надстройки.

Практические примеры применения

Извлечение чисел месяца — это только первый шаг. Рассмотрим, как использовать эти данные на практике:

  • 📊 Построение графиков по дням:

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

  • 🔍 Анализ регулярности событий:

    Используйте формулу =ЧАСТОТА(ДЕНЬ(A1:A100);{1;2;3;...;31}), чтобы посчитать, сколько раз события происходили в каждый день месяца.

  • 📅 Создание календарей:

    Комбинируйте ДЕНЬ() с ДЕНЬНЕД(), чтобы автоматически раскрашивать выходные дни в таблице.

  • 📈 Прогнозирование:

    С помощью ФИЛЬТР() и СРЗНАЧ() рассчитайте средние значения по конкретным дням месяца за несколько лет.

Пример формулы для анализа продаж по дням недели и числам месяца:

=СУММЕСЛИМН($B$2:$B$100; $A$2:$A$100; ">="&ДАТА(2026;5;1); $A$2:$A$100; "<="&ДАТА(2026;5;31); ДЕНЬНЕД($A$2:$A$100;2); 7; ДЕНЬ($A$2:$A$100); 15)

Эта формула суммирует продажи (B2:B100) за все воскресенья (7), которые приходятся на 15-е число мая 2026 года.

FAQ: Частые вопросы о числах месяца в Excel

Можно ли извлечь число месяца без формул?

Да, с помощью пользовательского формата (способ 3). Однако это только визуальное отображение — для расчётов всё равно понадобятся формулы.

Почему функция ДЕНЬ() возвращает ошибку #ЧИСЛО!?

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

Как получить числа месяца для текущей даты?

Используйте комбинацию =ДЕНЬ(СЕГОДНЯ()). Формула автоматически обновится при открытии файла.

Можно ли извлечь числа месяца в Google Таблицах?

Да, все описанные методы работают и в Google Таблицах, за исключением Power Query (там используется Apps Script или надстройки). Для динамических массивов применяйте ARRAYFORMULA.

Как преобразовать числа месяца обратно в даты?

Если у вас есть число (например, 15) и нужно получить полную дату (например, 15.05.2026), используйте:

=ДАТА(2026; 5; 15)

или для динамического года/месяца:

=ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ()); A1)

где A1 — ячейка с числом месяца.