Как вернуть день недели из даты в Excel: все способы от простого к сложному

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

В этой статье мы разберем 5 проверенных способов извлечения дня недели из даты — от базовых функций до гибких формул с учетом языковых настроек и пользовательских форматов. Вы узнаете, как вернуть день недели в виде числа (где 1 = понедельник), текста ("понедельник"), сокращения ("пн") или даже на английском языке. А еще — как избежать типичных ошибок при работе с датами в разных версиях Excel.

Неважно, новичок вы или опытный пользователь: здесь найдется решение для любой задачи. Давайте начнем с самого простого!

1. Базовая функция ТЕКСТ: простой способ получить название дня

Если вам нужно быстро преобразовать дату в название дня недели (например, "понедельник" или "вторник"), функция ТЕКСТ — ваш лучший друг. Она не требует знания сложных формул и работает во всех версиях Excel, включая Excel 2010 и новее.

Синтаксис функции:

=ТЕКСТ(дата; "ДДДД")

Где ДДДД — формат отображения полного названия дня. Если нужно сокращение (например, "пн"), используйте "ДДД".

  • 📅 Пример 1: =ТЕКСТ(A1; "ДДДД") — вернет "среда" для даты в ячейке A1.
  • 🔤 Пример 2: =ТЕКСТ(ДАТА(2026;5;15); "ДДД") — вернет "ср" для 15 мая 2026 года.
  • 🌍 Пример 3: =ТЕКСТ(A1; "DDDD") — вернет день недели на английском (если у вас англоязычная версия Excel).

Обратите внимание: результат функции ТЕКСТ — это текст, а не число. Это значит, что вы не сможете использовать его в математических расчетах без дополнительных преобразований.

⚠️ Внимание: Если в ячейке с датой отображается число (например, 45467 вместо 15.05.2026), сначала преобразуйте его в формат даты с помощью Формат ячеек → Дата. Иначе функция ТЕКСТ вернет ошибку.
📊 Какой формат дня недели вам нужнее?
Полное название ("понедельник")
Сокращение ("пн")
Числовой (1-7)
На английском
Другой

2. Функция ДЕНЬНЕД: числовое представление дня (1–7)

Когда требуется не текстовое название, а порядковый номер дня недели (где 1 = воскресенье, 2 = понедельник и т. д.), используйте функцию ДЕНЬНЕД. Это полезно для сортировки, условного форматирования или математических операций.

Базовый синтаксис:

=ДЕНЬНЕД(дата; [тип_возврата])

Параметр [тип_возврата] определяет, с какого дня начинается отсчет:

  • 1 или опущен — воскресенье = 1 (по умолчанию в Excel).
  • 2 — понедельник = 1 (европейский стандарт).
  • 3 — понедельник = 0, воскресенье = 6.

Примеры:

Формула Результат для 15.05.2026 (среда) Пояснение
=ДЕНЬНЕД(A1) 4 Воскресенье=1, среда=4
=ДЕНЬНЕД(A1; 2) 3 Понедельник=1, среда=3
=ДЕНЬНЕД(ДАТА(2026;5;15); 3) 2 Понедельник=0, среда=2

Критичный нюанс: в русских версиях Excel по умолчанию используется тип_возврата=1 (воскресенье=1), а в европейских — тип_возврата=2 (понедельник=1). Это может привести к ошибкам в расчетах, если не учесть региональные настройки.

Убедиться, что ячейка содержит дату, а не текст|Проверить региональные настройки Excel (Файл → Параметры → Язык)|Указать явный тип_возврата (2 для понедельника=1)|Протестировать формулу на известной дате (например, 15.05.2026 = среда)-->

3. Комбинация ДЕНЬНЕД + ВЫБОР: кастомные названия дней

Если стандартные функции не покрывают ваши нужды (например, вам нужны дни недели на другом языке или в нестандартном формате), соедините ДЕНЬНЕД с функцией ВЫБОР. Это позволит создать пользовательский список дней.

Пример формулы для русскоязычных сокращений:

=ВЫБОР(ДЕНЬНЕД(A1; 2); "пн"; "вт"; "ср"; "чт"; "пт"; "сб"; "вс")

Аналогично можно вернуть полные названия или даже эмодзи:

=ВЫБОР(ДЕНЬНЕД(A1; 2); "🌞 Понедельник"; "📅 Вторник"; "📊 Среда"; "📈 Четверг"; "🎉 Пятница"; "🛒 Суббота"; "🏖 Воскресенье")

Преимущества этого метода:

  • 🎨 Гибкость: вы контролируете вывод (сокращения, полные названия, эмодзи, смешанные форматы).
  • 🌐 Многозадачность: можно создать версии на разных языках в одной таблице.
  • 🔄 Легко редактировать: достаточно изменить список в функции ВЫБОР.

Недостаток: при изменении порядка дней в формуле (например, если вы ошиблись с воскресеньем) придется править все вручную. Чтобы избежать этого, используйте именованные диапазоны для списка дней.

=ИНДЕКС(Лист2!A$1:A$7; ДЕНЬНЕД(A1; 2)). Так вы сможете легко обновлять названия в одном месте.-->

4. Функция НОМНЕДЕЛИ: альтернатива для европейского стандарта

В европейских странах и некоторых бизнес-процессах принято считать понедельник первым днем недели. Для таких случаев в Excel есть функция НОМНЕДЕЛИ, которая возвращает номер недели в году, но её можно адаптировать для наших задач.

Однако более полезной будет комбинация ДЕНЬНЕД с параметром тип_возврата=2 (как в разделе 2). Если же вам нужна именно НОМНЕДЕЛИ для дополнительных расчетов, её синтаксис:

=НОМНЕДЕЛИ(дата; [тип_возврата])

Где [тип_возврата]:

  • 1 — неделя начинается с воскресенья (по умолчанию).
  • 2 — неделя начинается с понедельника.

Пример использования для определения дня недели:

=МОД(ДЕНЬНЕД(A1; 2) - 1; 7) + 1

Эта формула преобразует номер дня (где понедельник=1) в циклический формат 1–7, что удобно для создания круговых диаграмм или фильтров.

⚠️ Внимание: Функция НОМНЕДЕЛИ возвращает номер недели в году (1–54), а не день недели. Для последнего используйте ДЕНЬНЕД с параметром тип_возврата=2.

5. Продвинутые формулы: учет праздников и рабочих дней

Иногда недостаточно просто вернуть день недели — нужно еще и учесть, является ли он рабочим или выходным. Например, для расчета сроков доставки или планирования задач. В этом поможет комбинация функций ДЕНЬНЕД, ЕСЛИ и ИЛИ.

Пример формулы для определения выходных (суббота и воскресенье):

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A1; 2) > 5); "Выходной"; "Рабочий день")

Для учета праздников (например, 1 января) добавьте проверку даты:

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A1; 2) > 5; A1=ДАТА(2026;1;1)); "Выходной"; "Рабочий день")

Чтобы автоматизировать процесс, создайте список праздников на отдельном листе (например, Праздники!A1:A10) и используйте функцию СЧЁТЕСЛИ:

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A1; 2) > 5; СЧЁТЕСЛИ(Праздники!A:A; A1) > 0); "Выходной"; "Рабочий день")

Для визуализации можно применить условное форматирование:

  1. Выделите диапазон с датами.
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите "Использовать формулу" и введите: =ИЛИ(ДЕНЬНЕД(A1;2)>5; СЧЁТЕСЛИ(Праздники!A:A; A1)>0)
  4. Задайте формат (например, красный фон для выходных).
Как учитывать региональные праздники?

Создайте на отдельном листе таблицу с праздничными датами для каждого региона (столбец A — дата, столбец B — регион). Затем используйте формулу:

=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A1;2)>5; СЧЁТЕСЛИМН(Праздники!A:A; A1; Праздники!B:B; "Москва")>0); "Выходной"; "Рабочий день")

Где "Москва" — название региона из ячейки или переменной.

6. Динамические массивы и LAMBDA: современные решения (Excel 365)

Если вы работаете в Excel 365 или Excel 2021, у вас есть доступ к динамическим массивам и функции LAMBDA. Эти инструменты позволяют создавать мгновенно обновляемые списки дней недели без ручного протягивания формул.

Пример: вернем список дней недели для диапазона дат A1:A10:

=ОБЪЕДИНИТЬ(ВЫБОР(ДЕНЬНЕД(A1:A10; 2); "Пн"; "Вт"; "Ср"; "Чт"; "Пт"; "Сб"; "Вс"))

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

Для создания кастомной функции с помощью LAMBDA:

  1. Перейдите в Формулы → Определить имя.
  2. Введите имя, например ДЕНЬ_НЕДЕЛИ_RU.
  3. В поле "Диапазон" введите:
    =LAMBDA(дата;
    

    ВЫБОР(ДЕНЬНЕД(дата; 2);

    "Пн"; "Вт"; "Ср"; "Чт"; "Пт"; "Сб"; "Вс"))

  4. Теперь используйте её как обычную функцию: =ДЕНЬ_НЕДЕЛИ_RU(A1).

Преимущества LAMBDA:

  • 🔄 Переиспользуемость: одна функция для всего файла.
  • 🛠 Гибкость: легко модифицировать логику в одном месте.
  • 📊 Производительность: работает быстрее, чем протягивание формул на большие диапазоны.
⚠️ Внимание: Функции LAMBDA и динамические массивы доступны только в Excel 365 и Excel 2021. В более ранних версиях эти формулы вернут ошибку #ИМЯ?.

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

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

Ошибка Причина Решение
#ЗНАЧ! в функции ДЕНЬНЕД Ячейка содержит текст, а не дату Преобразуйте текст в дату с помощью ДАТАЗНАЧ или измените формат ячейки
Неправильный номер дня (на 1 больше/меньше) Не учтен параметр тип_возврата в ДЕНЬНЕД Явно укажите 2 для понедельника=1: =ДЕНЬНЕД(A1; 2)
Дни недели на английском вместо русского Языковые настройки Excel или системы Используйте ВЫБОР с ручным списком или измените язык в параметрах
Формула не протягивается корректно Абсолютные/относительные ссылки Закрепите диапазоны со списком дней (например, $A$1:$A$7)
#ИМЯ? в LAMBDA Устаревшая версия Excel Замените на базовые функции или обновите Excel

Если ваша формула возвращает неожиданный результат, проверьте:

  1. Формат ячейки с датой (должен быть "Дата", а не "Общий" или "Текстовый").
  2. Региональные настройки (Файл → Параметры → Язык).
  3. Наличие скрытых символов (пробелов, неразрывных пробелов) в датах.

Профилактический чек-лист перед работой с днями недели:

Убедиться, что все даты в формате "Дата" (а не текст)|Проверить региональные настройки Excel|Определиться с нужным форматом вывода (число/текст)|Протестировать формулу на 2-3 известных датах|Создать резервную копию файла перед массовыми изменениями-->

FAQ: Частые вопросы о днях недели в Excel

Как вернуть день недели на английском, если у меня русская версия Excel?

Используйте функцию ТЕКСТ с английским форматом:

=ТЕКСТ(A1; "[$-409]DDDD")

Где 409 — код локали для английского языка. Для других языков используйте соответствующие коды (например, 407 для немецкого).

Можно ли вернуть день недели без указания года? Например, только по числу и месяцу.

Да, но Excel все равно будет использовать текущий год. Пример:

=ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ()); 5; 15); "ДДДД")

Эта формула вернет день недели для 15 мая текущего года. Чтобы избежать ошибок, всегда указывайте полную дату.

Как посчитать количество определенных дней недели в диапазоне дат?

Используйте комбинацию СЧЁТЕСЛИ и ДЕНЬНЕД:

=СЧЁТЕСЛИ(ДЕНЬНЕД(A1:A100; 2); 1)

Эта формула посчитает все понедельники (1) в диапазоне A1:A100. Для других дней замените 1 на нужный номер (2=вторник и т. д.).

Почему функция ДЕНЬНЕД возвращает 7 для воскресенья, а не 1?

Это зависит от параметра тип_возврата:

  • Если он равен 1 или опущен: воскресенье=1, суббота=7.
  • Если он равен 2: понедельник=1, воскресенье=7.

Укажите явный параметр, чтобы избежать путаницы: =ДЕНЬНЕД(A1; 2).

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

Все формулы в Excel пересчитываются автоматически при изменении исходных данных. Если этого не происходит:

  1. Проверьте настройки пересчета: Формулы → Параметры вычислений → Автоматически.
  2. Убедитесь, что ячейка с датой не содержит текст или формулу, возвращающую статическое значение.
  3. Используйте СЕГОДНЯ() для динамической даты: =ТЕКСТ(СЕГОДНЯ(); "ДДДД").