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

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

Вы когда-нибудь сталкивались с ситуацией, когда в таблице есть столбец с датами, но нужно быстро понять, на какой день недели приходится каждая из них? Excel по умолчанию отображает даты в формате дд.мм.гггг или мм/дд/гг, но дни недели скрыты — их нужно вытаскивать отдельно. Это типичная задача для отчетов, расписаний, анализа продаж по дням недели или планирования смен.

К счастью, в Excel есть минимум 5 способов получить день недели из даты: от элементарных функций до продвинутых формул с условиями. В этой статье разберем каждый метод с примерами, нюансами и типичными ошибками. Вы узнаете, как вывести не только название дня (понедельник, вторник), но и его номер (1-7), как автоматизировать процесс для тысяч строк и даже как сделать динамическое форматирование, которое будет подсвечивать выходные.

Важно: все примеры ниже работают в Excel 2010–2023 и Office 365. Если вы используете Google Таблицы, принципы те же, но синтаксис некоторых функций может отличаться (об этом упомянем отдельно).

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

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

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

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

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

  • 📅 Пример 1: =ТЕКСТ(A2; "дддд") → вернет "понедельник" для даты 10.01.2023.
  • 🔢 Пример 2: =ТЕКСТ(A2; "ddd") → вернет "пн".
  • 🌍 Нюанс: Название дня будет на языке вашей версии Excel. Если нужно на английском, используйте "dddd" (четыре буквы).

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

📊 Какой формат дней недели вам нужнее?
Полное название (понедельник)
Сокращенное (пн)
Номер дня (1-7)
Не знаю

Способ 2: Функция ДЕНЬНЕД — получение номера дня (1–7)

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

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

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

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

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

Примеры:

Формула Результат для 10.01.2023 (вторник) Пояснение
=ДЕНЬНЕД(A2) 3 Воскресенье=1, вторник=3
=ДЕНЬНЕД(A2; 2) 2 Понедельник=1, вторник=2
=ДЕНЬНЕД(A2; 3) 1 Понедельник=0, вторник=1

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

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

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

Что делать, если функция ТЕКСТ возвращает дни недели на непонятном языке, а вам нужно именно русское название? Или если требуется нестандартный формат, например, "Пн" с заглавной буквы?

В этом случае поможет комбинация ДЕНЬНЕД + ВЫБОР (или CHOICE в английской версии). Функция ВЫБОР позволяет сопоставить номер дня с любым текстом.

Пример формулы для русского полного названия (понедельник = 1):

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

Для сокращенного формата с заглавной буквой:

=ВЫБОР(ДЕНЬНЕД(A2; 2); "Пн"; "Вт"; "Ср"; "Чт"; "Пт"; "Сб"; "Вс")

Преимущество этого метода — полный контроль над выводом. Вы можете:

  • 🌐 Использовать любой язык (даже эмодзи: "🌞пн").
  • 🎨 Добавлять цвета или символы (например, "⭐Пт" для пятницы).
  • 📊 Сопоставлять дни с пользовательскими категориями (например, "Рабочий"/"Выходной").
=ТЕКСТ(A2; "[$-409]dddd"), где 409 — код английской локали.-->

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

Если вам не нужно использовать дни недели в расчетах, а только визуально их отображать, можно обойтись без формул — с помощью пользовательского формата ячеек.

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

  1. Выделите ячейки с датами.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Вкладка ЧислоВсе форматы.
  4. В поле Тип введите:
    дд.мм.гггг, дддд (для "10.01.2023, вторник") или
    дддд (только "вторник").

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

  • Нет формул — данные остаются датами, их можно сортировать и фильтровать.
  • 🎨 Гибкость: можно комбинировать с цветами (например, красный для выходных).
  • 📊 Производительность: не нагружает файл, как тысячи формул.

Ограничение: день недели будет виден только в ячейке. Если скопировать значение в другую программу (например, Word), отобразится только дата.

Как сделать динамическую подсветку выходных?

1. Выделите ячейки с датами.

2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.

3. Выберите Использовать формулу... и введите:

=ИЛИ(ДЕНЬНЕД(A1;2)>5; ДЕНЬНЕД(A1;2)=1)

4. Задайте формат (например, красный фон).

5. Готово! Все субботы и воскресенья будут подсвечены.

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

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

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

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

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

  • 🔄 Автоматизация: при обновлении исходных данных дни недели пересчитываются автоматически.
  • 📈 Производительность: не нагружает файл, как тысячи формул.
  • 🌍 Локализация: можно выбрать любой язык для названий дней.

Минус: требует Excel 2016 или новее. В старых версиях можно использовать надстройку Power Query (бесплатно от Microsoft).

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

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

⚠️ Внимание: Если функция ДЕНЬНЕД возвращает неверный номер дня (например, для понедельника показывает 2 вместо 1), проверьте второй параметр. По умолчанию воскресенье = 1, но в России чаще используют тип_возврата = 2 (понедельник = 1).

Ошибка 1: #ЗНАЧ! в функции ТЕКСТ

Причина: ячейка содержит не дату, а текст (например, "10.01.2023" вместо настоящей даты).

Решение: преобразуйте текст в дату с помощью ДАТАЗНАЧ:

=ТЕКСТ(ДАТАЗНАЧ(A2); "дддд")

Ошибка 2: Неправильный язык в названиях дней

Причина: Excel использует язык системы. Если у вас английская версия, но нужны русские названия, используйте ВЫБОР (см. Способ 3).

Ошибка 3: Формулы не обновляются при изменении даты

Причина: включен ручной режим пересчета.

Решение: перейдите на вкладку ФормулыПараметры вычисленийАвтоматически.

⚠️ Внимание: Если вы копируете формулы с днями недели в Google Таблицы, замените ДЕНЬНЕД на WEEKDAY, а ТЕКСТ — на TEXT. Синтаксис аналогичный, но названия функций на английском.

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

Можно ли получить день недели без формул?

Да! Используйте пользовательский формат ячеек (см. Способ 4). Это не добавляет новых данных, а только меняет отображение. Минус: день недели не будет доступен для формул или экспорта.

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

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

=СЧЁТЕСЛИ(диапазон_с_номерами_дней; 1)

Где диапазон_с_номерами_дней — это столбец с формулой =ДЕНЬНЕД(...).

Почему в моем Excel воскресенье — это 1, а не 7?

Это зависит от региональных настроек. В США и некоторых других странах неделя начинается с воскресенья. Чтобы поменять отсчет на понедельник, используйте второй параметр в ДЕНЬНЕД:

=ДЕНЬНЕД(A2; 2)

Теперь понедельник = 1, а воскресенье = 7.

Как выделить цветом все выходные дни в календаре?

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

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

Теперь все субботы и воскресенья будут подсвечены.

Работает ли это в Google Таблицах?

Да, но с поправками:

  • 📌 ДЕНЬНЕДWEEKDAY
  • 📌 ТЕКСТTEXT
  • 📌 ВЫБОРCHOICE или SWITCH

Синтаксис остается тем же. Например:

=TEXT(A2; "dddd")