Как преобразовать дату в день недели в Excel: от базовых функций до автоматизации

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

В этой статье мы разберём 5 рабочих способов конвертации дат в дни недели — от элементарных функций до продвинутых инструментов вроде Power Query. Вы узнаете, как получить название дня на русском или английском, как избежать ошибок с форматами ячеек, и почему иногда вместо «понедельника» Excel упорно показывает «1». Материал актуален для всех версий программы, включая Excel 2010–2023 и Microsoft 365.

1. Функция ДЕНЬНЕД: базовый метод с нюансами

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

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

=ДЕНЬНЕД(дата; [тип_возврата])
  • 📅 дата — ячейка с датой (например, A1) или дата в формате "ДД.ММ.ГГГГ".
  • 🔢 тип_возврата (необязательно) — число от 1 до 3, определяющее начало недели:
    • 1 или опущено — неделя начинается с воскресенья (1–7).
    • 2 — неделя начинается с понедельника (1–7).
    • 3 — неделя начинается с понедельника (0–6).

Пример: если в ячейке A1 дата 15.05.2026 (среда), то:

  • =ДЕНЬНЕД(A1) вернёт 4 (среда, если воскресенье = 1).
  • =ДЕНЬНЕД(A1; 2) вернёт 3 (среда, если понедельник = 1).
⚠️ Внимание: Если функция возвращает ошибку #ЗНАЧ!, проверьте формат ячейки с датой. Excel может воспринимать текст как дату только в формате ДД.ММ.ГГГГ или ДД-ММ-ГГГГ.
📊 Какой формат дат вы используете чаще?
ДД.ММ.ГГГГ
ММ/ДД/ГГГГ
ДД-ММ-ГГ
Другой

2. Функция ТЕКСТ: название дня вместо номера

Функция ТЕКСТ (англ. TEXT) позволяет преобразовать дату в текстовый формат с названием дня недели. Это удобно, когда нужно получить не номер, а слово — например, «понедельник» или «Monday».

Синтаксис:

=ТЕКСТ(дата; "ДДДД")
  • 📅 дата — ячейка или дата в формате Excel.
  • 🔤 "ДДДД" — формат отображения:
    • "ДДД" — сокращённое название (например, «пн»).
    • "ДДДД" — полное название (например, «понедельник»).

Примеры:

ФормулаРезультат (дата 15.05.2026)
=ТЕКСТ(A1; "ДДД")ср
=ТЕКСТ(A1; "ДДДД")среда
=ТЕКСТ(A1; "dddd")Wednesday (на английском)

Язык названия дня зависит от языковых настроек Windows, а не Excel. Если нужно принудительно вывести день на английском, используйте формат "[$-409]ДДДД" (где 409 — код языка для английского).

3. Пользовательский формат ячеек: без формул

Если вам не нужно проводить дальнейшие вычисления с днями недели, можно обойтись без формул — достаточно изменить формат ячейки. Этот метод визуально преобразует дату в день недели, но не меняет её значение (в строке формул останется исходная дата).

Инструкция:

  1. Выделите ячейки с датами.
  2. Нажмите Ctrl+1 (или правой кнопкой → Формат ячеек).
  3. Выберите категорию Все форматы.
  4. В поле Тип введите:
    • ДДДД — для полного названия (например, «среда»).
    • ДДД — для сокращённого (например, «ср»).
  • Нажмите ОК.
  • Преимущество метода: данные остаются датами (их можно сортировать, фильтровать), но отображаются как дни недели. Недостаток: если скопировать такие ячейки в текстовый файл, сохранится исходная дата, а не день недели.

    Как вернуть исходный формат даты?

    Чтобы отменить пользовательский формат, выделите ячейки → Ctrl+1 → выберите категорию "Дата" и нужный формат (например, "14.03.2001").

    4. Комбинация ДЕНЬНЕД + ВЫБОР: гибкое управление

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

    Пример формулы для недели, начинающейся с понедельника (тип_возврата = 2):

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

    Как это работает:

    • 🔢 ДЕНЬНЕД(A1; 2) возвращает число от 1 (понедельник) до 7 (воскресенье).
    • 📝 ВЫБОР подставляет название дня по этому числу.

    Аналогично можно создать формулу для английских дней:

    =ВЫБОР(ДЕНЬНЕД(A1; 2); "Monday"; "Tuesday"; "Wednesday"; "Thursday"; "Friday"; "Saturday"; "Sunday")
    ⚠️ Внимание: Если в ячейке A1 пусто или не дата, формула вернёт #ЗНАЧ!. Чтобы избежать ошибки, оберните её в ЕСЛИОШИБКА:

    =ЕСЛИОШИБКА(ВЫБОР(ДЕНЬНЕД(A1; 2); "Пн"; "Вт"; "Ср"; "Чт"; "Пт"; "Сб"; "Вс"); "")

    5. Power Query: автоматизация для больших данных

    Если вам нужно преобразовать тысячи дат в дни недели, ручное применение формул займёт много времени. В этом случае поможет инструмент Power Query (доступен в Excel 2016+ и Office 365).

    Пошаговая инструкция:

    1. Выделите таблицу с датами → перейдите на вкладку ДанныеИз таблицы/диапазонаExcel 2016–2019 или Получить данные → Из таблицы/диапазона в Excel 365).
    2. В открывшемся редакторе Power Query выделите колонку с датами.
    3. Перейдите на вкладку Добавить столбецДаты → День → Название дня.
    4. Выберите язык (например, «Русский») и формат («Полное название» или «Сокращённое»).
    5. Нажмите Закрыть и загрузить.

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

    • ⚡ Обрабатывает миллионы строк без замедления.
    • 🔄 Автоматически обновляет данные при изменении исходной таблицы.
    • 🌍 Поддерживает любые языки (включая украинский, казахский и др.).

    Убедитесь, что даты в исходной таблице имеют формат "Дата"|Проверьте отсутствие пустых ячеек|Сохраните файл перед импортом|Задайте правильный регион (Рussia) в настройках Windows-->

    6. Ошибки и решения: почему формулы не работают

    Даже простые функции вроде ДЕНЬНЕД могут возвращать ошибки. Рассмотрим типичные проблемы и способы их устранения.

    ОшибкаПричинаРешение
    #ЗНАЧ!Ячейка содержит текст, а не дату.Преобразуйте текст в дату с помощью ДАТАЗНАЧ или измените формат ячейки.
    #ИМЯ?Опечатка в названии функции (например, ДЕНЬ_НЕД).Проверьте синтаксис: правильно ДЕНЬНЕД (без пробела).
    Некорректный номер дняНе указан параметр тип_возврата.Явно укажите 2 для недели с понедельника: =ДЕНЬНЕД(A1; 2).
    День на английскомЯзыковые настройки Windows.Используйте ТЕКСТ с явным указанием языка: =ТЕКСТ(A1; "[$-419]ДДДД") (где 419 — русский).

    Если дата хранится как текст (например, "15.05.2026"), сначала преобразуйте её в формат даты:

    =ДАТАЗНАЧ(A1)

    Затем применяйте функции ДЕНЬНЕД или ТЕКСТ.

    FAQ: Частые вопросы

    Как сделать так, чтобы дни недели отображались сокращённо (пн, вт, ср)?

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

    =ТЕКСТ(A1; "ДДД")

    Или примените пользовательский формат ячейки ДДД (без формул).

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

    Поведение функции зависит от параметра тип_возврата:

    • =ДЕНЬНЕД(A1) или =ДЕНЬНЕД(A1; 1) — неделя начинается с воскресенья (1 = вс, 2 = пн, ..., 7 = сб).
    • =ДЕНЬНЕД(A1; 2) — неделя начинается с понедельника (1 = пн, 2 = вт, ..., 7 = вс).
    Можно ли получить день недели на английском, если у меня русская версия Excel?

    Да, используйте функцию ТЕКСТ с кодом языка:

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

    Где 409 — код для английского (США). Для британского английского используйте 809.

    Как автоматически подсвечивать выходные дни (субботу и воскресенье) в таблице?

    Используйте условное форматирование:

    1. Выделите диапазон с датами.
    2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
    3. Выберите Использовать формулу... и введите:
    4. =ИЛИ(ДЕНЬНЕД(A1;2)=6; ДЕНЬНЕД(A1;2)=7)
    5. Задайте цвет заливки (например, красный) и нажмите ОК.
    Как в Power Query изменить первый день недели с воскресенья на понедельник?

    В Power Query настройки недели зависят от региональных параметров Windows. Чтобы принудительно установить понедельник как первый день:

    1. В редакторе Power Query выделите колонку с датой.
    2. Перейдите на вкладку ПреобразованиеДатыДеньНомер дня недели.
    3. Добавьте пользовательский столбец с формулой:
    4. if [DayOfWeek] = 0 then 6 else [DayOfWeek] - 1
    5. Преобразуйте результат в название дня.