Как в Excel вывести день недели по дате: формулы, Power Query и условное форматирование

Почему Excel не показывает дни недели автоматически и как это исправить

Вы когда-нибудь сталкивались с тем, что в Microsoft Excel или Google Таблицах даты отображаются в формате 12.05.2026, но вот день недели — понедельник, вторник и так далее — приходится добавлять вручную? Это стандартное поведение программы: по умолчанию ячейки с датами форматируются как числа, где день недели «спрятан» внутри значения. Однако его можно легко извлечь — и для этого есть как минимум 5 проверенных способов.

В этой статье мы разберём:

  • 🔹 Базовые функции (ТЕКСТ, ДЕНЬНЕД) для быстрого вывода дня недели.
  • 🔹 Расширенные формулы с ВЫБОР и ИНДЕКС, если нужен день на русском или с учётом праздников.
  • 🔹 Автоматизацию через Power Query для больших массивов данных.
  • 🔹 Визуальные трюки: условное форматирование для подсветки выходных.
  • 🔹 Типичные ошибки и как их избежать (например, почему формула возвращает число вместо названия).

Неважно, готовите ли вы производственный календарь, график смен или аналитический отчёт — умение выводить дни недели сэкономит часы ручной работы. А если вам нужно не просто название, а номер дня недели (где 1 — понедельник, 7 — воскресенье) для сортировки или фильтрации, мы тоже покажем, как это сделать.

📊 Как часто вы работаете с датами в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 1: Функция ТЕКСТ — простой вывод дня недели

Самый быстрый метод — использовать функцию ТЕКСТ (или TEXT в английской версии). Она преобразует дату в текстовый формат с указанием дня недели. Синтаксис:

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

Где:

  • 📌 A1 — ячейка с датой.
  • 📌 "ДДДД" — формат отображения ("ДДД" покажет сокращённое название, например «Пн»).

Пример: Если в A1 записана дата 15.05.2026, формула вернёт «среда».

Формат Результат Пример для 15.05.2026
"ДДДД" Полное название среда
"ДДД" Сокращённое ср
"Д" Номер дня недели (1–7) 4
⚠️ Внимание: Функция ТЕКСТ возвращает текст, а не число. Это значит, что такой результат нельзя использовать в математических расчётах или сортировке по алфавиту (например, «понедельник» и «вторник» будут упорядочены не по дням недели, а по первой букве).

Способ 2: Функция ДЕНЬНЕД — номер дня для расчётов

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

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

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

  • 🔢 1 или опущен — воскресенье = 1, суббота = 7 (стандарт для США).
  • 🔢 2 — понедельник = 1, воскресенье = 7 (европейский стандарт).
  • 🔢 3 — понедельник = 0, воскресенье = 6.

Пример: Чтобы получить номер дня недели, где понедельник — 1, а воскресенье — 7, используйте:

=ДЕНЬНЕД(A1; 2)
⚠️ Внимание: Если в ячейке A1 не дата, а текст (например, «15 мая»), функция вернёт ошибку #ЗНАЧ!. Проверьте формат ячейки: выделите её и нажмите Ctrl+1 → выберите формат «Дата».

Убедитесь, что ячейка содержит дату, а не текст|Проверьте регион (в американских настройках неделя начинается с воскресенья)|Используйте =ЕЧИСЛО(A1), чтобы исключить ошибки-->

Способ 3: Функция ВЫБОР — день недели на русском

Если функция ТЕКСТ возвращает день недели на языке системы (например, английский в международной версии Excel), а вам нужен русский вариант, используйте комбинацию ДЕНЬНЕД + ВЫБОР:

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

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

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

Альтернатива: Если нужны сокращения («Пн», «Вт»), замените полные названия на короткие:

=ВЫБОР(ДЕНЬНЕД(A1; 2); "Пн"; "Вт"; "Ср"; "Чт"; "Пт"; "Сб"; "Вс")
Как добавить праздники в вывод?

Если нужно выделить праздничные дни (например, «Среда (Новый год)»), используйте функцию ЕСЛИ внутри ВЫБОР:

=ЕСЛИ(A1=ДАТА(2026;1;1); "Новый год"; ВЫБОР(ДЕНЬНЕД(A1;2); "Пн"; "Вт"; ...))

Способ 4: Power Query — автоматическое добавление дней недели для больших таблиц

Если у вас тысячи строк с датами, вручную добавлять дни недели неэффективно. В этом случае поможет Power Query (в Excel 2016 и новее):

  1. 📊 Выделите таблицу с датами и нажмите Данные → Из таблицы/диапазона (или Data → Get Data → From Table/Range).
  2. 🔧 В открывшемся редакторе Power Query выберите колонку с датой → Добавить столбец → Дата → День → Название дня.
  3. 📤 Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

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

  • ⚡ Обрабатывает миллионы строк без лагов.
  • 🔄 Обновляет дни недели при изменении исходных данных (нажмите Обновить все).
  • 🌍 Поддерживает локализацию (можно выбрать русский язык для названий).
⚠️ Внимание: В Power Query день недели добавляется как новый столбец. Если исходная таблица связана с другими данными, обновите все зависимости после загрузки.

Способ 5: Условное форматирование — визуальная подсветка выходных

Чтобы быстро выделить выходные дни (субботу и воскресенье) в календаре, используйте условное форматирование:

  1. 🎨 Выделите диапазон с датами.
  2. 🖌️ Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. 📝 Выберите Использовать формулу для определения форматируемых ячеек и введите:
=ИЛИ(ДЕНЬНЕД(A1;2)=6; ДЕНЬНЕД(A1;2)=7)
  1. 🎨 Задайте цвет заливки (например, светло-красный) и нажмите ОК.

Результат: Все субботы и воскресенья будут подсвечены. Чтобы выделить только праздники, добавьте ещё одно правило с функцией ЕСЛИ и списком праздничных дат.

Типичные ошибки и как их исправить

Даже в простых формулах с датами пользователи часто сталкиваются с ошибками. Вот самые распространённые:

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

Совет для новичков: Если формула не работает, проверьте формат ячейки с датой. Часто пользователи вводят дату как текст (например, «15 мая»), и Excel не распознаёт её как дату. Чтобы исправить:

  1. Выделите ячейку → Ctrl+1.
  2. Выберите формат «Дата».
  3. Если это не сработало, используйте =ДАТАЗНАЧ(A1) в отдельной ячейке.

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

Можно ли вывести день недели без формул?

Да, но с ограничениями. Выделите ячейки с датами → нажмите Ctrl+1 → выберите формат «Дата» → укажите тип «14 марта 2026 г., среда». Однако этот метод:

  • 🔸 Не позволяет использовать день недели в расчётах.
  • 🔸 Зависит от языковых настроек Excel.
  • 🔸 Не подходит для динамических отчётов (при обновлении данных формат сбросится).
Как вывести день недели на украинском/белорусском/казахском?

Используйте функцию ВЫБОР с ручным перечислением дней:

=ВЫБОР(ДЕНЬНЕД(A1;2); "Понядзілак"; "Аўторак"; ...)

Для Google Таблиц можно изменить языковые настройки файла: Файл → Настройки → Общие → Язык документа.

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

Это происходит, если вы указали третий параметр 3 в функции ДЕНЬНЕД:

=ДЕНЬНЕД(A1; 3)

В этом режиме отсчёт идёт с 0 (понедельник) до 6 (воскресенье). Чтобы воскресенье было 7, используйте:

=ДЕНЬНЕД(A1; 2)
Как посчитать количество конкретных дней недели в диапазоне?

Используйте функцию СЧЁТЕСЛИ с массивом. Например, чтобы посчитать все понедельники в диапазоне A1:A100:

=СУММПРОИЗВ(--(ДЕНЬНЕД(A1:A100;2)=1))

Замените 1 на другой номер дня (например, 6 для субботы).

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

Да, если:

  • 🔹 Используете формулы (ТЕКСТ, ДЕНЬНЕД) — они обновляются автоматически.
  • 🔹 Данные подгружаются через Power Query — нажмите Обновить все на вкладке Данные.
  • 🔹 Включено автоматическое пересчёты в настройках Excel: Формулы → Параметры вычислений → Автоматически.

Если день недели «застыл», проверьте, не преобразован ли он в текст (например, скопирован как значение).