Работа с датами в Microsoft Excel — одна из самых востребованных задач. Часто пользователям нужно не просто хранить даты, а анализировать их: определять день недели для планирования, построения графиков или автоматизации отчётов. Например, вы можете рассчитывать количество рабочих дней между двумя датами или выделять выходные в таблице заказов.
В этой статье мы разберём все возможные способы вывода дня недели в Excel — от элементарных функций до гибких формул с учетом локализации и пользовательских форматов. Вы узнаете, как получить название дня на русском или английском, как преобразовать дату в номер дня недели (где 1 — понедельник, а 7 — воскресенье), и даже как автоматически подсвечивать выходные. Неважно, используете вы Excel 2010, Excel 2019 или Microsoft 365 — все методы будут работать одинаково эффективно.
Особое внимание уделим распространённым ошибкам, которые допускают начинающие: почему функция ДЕНЬНЕД возвращает неверный номер или как исправить отображение дней на иностранном языке. В конце статьи вы найдёте сравнительную таблицу всех методов и ответы на частые вопросы.
1. Базовый способ: функция ДЕНЬНЕД (WEEKDAY)
Самый простой способ получить день недели — использовать встроенную функцию ДЕНЬНЕД (или WEEKDAY в английской версии). Она возвращает номер дня недели для указанной даты, где по умолчанию:
- 🔢 1 — воскресенье
- 🔢 2 — понедельник
- 🔢 ...
- 🔢 7 — суббота
Синтаксис функции:
=ДЕНЬНЕД(дата; [тип_возврата])
где дата — это ячейка с датой (например, A1) или дата в формате "ДД.ММ.ГГГГ", а [тип_возврата] — необязательный параметр, который меняет нумерацию дней.
Примеры использования:
- 📅
=ДЕНЬНЕД(A1)— вернёт номер дня для даты из ячейкиA1(воскресенье = 1). - 📅
=ДЕНЬНЕД("15.05.2026")— вернёт4(среда, если 15 мая 2026 года выпадает на среду). - 📅
=ДЕНЬНЕД(A1; 2)— изменит нумерацию:1— понедельник,7— воскресенье.
⚠️ Внимание: Если функция возвращает ошибку #ЗНАЧ!, проверьте формат ячейки с датой. Excel может воспринимать текст как дату только если он записан в стандартном формате (например, 15.05.2026, а не 15-05-2026 или 15 мая).
2. Как получить название дня недели (не номер)
Если вам нужно не число, а слово ("понедельник", "вторник" и т.д.), используйте функцию ТЕКСТ (или TEXT):
=ТЕКСТ(дата; "ДДДД")
где "ДДДД" — формат отображения полного названия дня. Для сокращённого варианта ("пн", "вт") используйте "ДДД".
Примеры:
- 📌
=ТЕКСТ(A1; "ДДДД")→ "среда" - 📌
=ТЕКСТ("15.05.2026"; "ДДД")→ "ср"
Лайфхак: если названия дней отображаются на английском ("Wednesday" вместо "среда"), проверьте региональные настройки Excel. Исправить это можно через:
- 🖱️
Файл → Параметры → Язык - 🌍 Убедитесь, что в разделе
Язык редактированиявыбран русский.
3. Продвинутый метод: функция ВЫБОР (CHOICE) для кастомных дней
Если вам нужно не стандартное название, а собственное (например, "Рабочий день" или "Выходной"), комбинируйте ДЕНЬНЕД с функцией ВЫБОР:
=ВЫБОР(ДЕНЬНЕД(A1; 2); "Пн"; "Вт"; "Ср"; "Чт"; "Пт"; "Сб"; "Вс")
Эта формула вернёт сокращённое название дня на русском, где 1 — понедельник. Чтобы вывести полные названия, замените аббревиатуры:
=ВЫБОР(ДЕНЬНЕД(A1; 2); "Понедельник"; "Вторник"; "Среда"; "Четверг"; "Пятница"; "Суббота"; "Воскресенье")
Где это пригодится?
- 📊 В отчётах по продажам, чтобы группировать данные по дням недели.
- 📅 В календарях проектов для визуального разделения рабочих и выходных дней.
- 📈 В дашбордах для анализа пиковых дней активности.
Как сделать автоматическую подсветку выходных?
Используйте Условное форматирование с формулой:
=ИЛИ(ДЕНЬНЕД(A1;2)>5; ДЕНЬНЕД(A1;2)=7)
Эта формула выделит все субботы (6) и воскресенья (7) в ячейке A1.
4. Альтернативные функции: ДЕНЬНЕД.МЕЖД (WEEKDAY.INTL) для гибкой нумерации
В новых версиях Excel (начиная с Excel 2013) появилась функция ДЕНЬНЕД.МЕЖД (WEEKDAY.INTL), которая позволяет точнее настраивать начало недели и тип возвращаемого значения. Её синтаксис:
=ДЕНЬНЕД.МЕЖД(дата; [тип_возврата]; [начало_недели])
Параметры:
- 🔄
[тип_возврата]:1— число от 1 (воскресенье) до 7 (суббота).2— число от 1 (понедельник) до 7 (воскресенье).3— число от 0 (понедельник) до 6 (воскресенье).
- 📅
[начало_недели]:1илиомитнут— воскресенье.2— понедельник.11— вторник (реже используется).
Пример:
=ДЕНЬНЕД.МЕЖД(A1; 2; 2)
вернёт номер дня, где 1 — понедельник, а неделя начинается с понедельника (стандарт для России и Европы).
| Функция | Пример | Результат для 15.05.2026 (среда) | Примечание |
|---|---|---|---|
ДЕНЬНЕД(A1) |
=ДЕНЬНЕД("15.05.2026") |
4 |
Воскресенье = 1 |
ДЕНЬНЕД(A1; 2) |
=ДЕНЬНЕД("15.05.2026"; 2) |
3 |
Понедельник = 1 |
ДЕНЬНЕД.МЕЖД(A1; 2; 2) |
=ДЕНЬНЕД.МЕЖД("15.05.2026"; 2; 2) |
3 |
Гибкая настройка начала недели |
ТЕКСТ(A1; "ДДДД") |
=ТЕКСТ("15.05.2026"; "ДДДД") |
"среда" |
Зависит от языковых настроек |
5. Автоматизация: как вывести день недели для диапазона дат
Если у вас столбец с датами (например, A1:A100), и нужно заполнить соседний столбец днями недели, используйте маркер автозаполнения:
- 📍 Введите формулу в первую ячейку (например,
=ТЕКСТ(A1; "ДДДД")вB1). - 🖱️ Наведите курсор на правый нижний угол ячейки
B1(появится крестик). - 🔄 Дважды кликните по крестику — формула скопируется до последней заполненной ячейки в столбце
A.
Для более сложных задач (например, подсчёта рабочих дней между двумя датами) используйте функцию ЧИСТРАБДНИ (NETWORKDAYS):
=ЧИСТРАБДНИ(начальная_дата; конечная_дата; [праздники])
где [праздники] — диапазон с датами праздников, которые тоже нужно исключить.
⚠️ Внимание: Функция ЧИСТРАБДНИ по умолчанию считает субботу и воскресенье выходными. Если у вас другой график (например, выходной — пятница и суббота), используйте ЧИСТРАБДНИ.МЕЖД с указанием пользовательских выходных.
Выделите столбец с датами|Проверьте формат ячеек (должен быть "Дата")|Примените формулу для вывода дня недели|Настройте условное форматирование для выходных|Проверьте корректность первых 3-5 значений-->
6. Ошибки и их решения: почему день недели определяется неправильно
Даже в простых формулах могут возникать ошибки. Рассмотрим типичные проблемы и способы их исправления:
1. Функция возвращает #ЗНАЧ!
- 🔍 Причина: Ячейка содержит текст, а не дату.
- 🛠️ Решение: Преобразуйте текст в дату с помощью
ДАТАЗНАЧ:=ТЕКСТ(ДАТАЗНАЧ(A1); "ДДДД")
2. Дни недели на английском
- 🔍 Причина: Некорректные региональные настройки.
- 🛠️ Решение: Измените формат ячейки на
ДДДДили поменяйте язык в параметрах Excel.
3. Неверный номер дня (например, среда = 5 вместо 3)
- 🔍 Причина: Используется неверный параметр
[тип_возврата]в функцииДЕНЬНЕД. - 🛠️ Решение: Укажите
2вторым аргументом, чтобы понедельник был1:=ДЕНЬНЕД(A1; 2)
Критичная деталь: если дата введена как текст (например, "15.05.2026" без формата даты), Excel может воспринимать её как строку, а не как дату. Всегда проверяйте формат ячейки через Ctrl+1 → вкладка Число.
7. Практический кейс: анализ продаж по дням недели
Допустим, у вас есть таблица с датами продаж и суммами. Чтобы проанализировать, в какие дни недели продажи выше, выполните следующие шаги:
- 📅 Добавьте столбец с днём недели:
=ТЕКСТ(B2; "ДДДД")где
B2— ячейка с датой. - 📊 Создайте сводную таблицу:
- Поле
День недели— в строки. - Поле
Сумма продаж— в значения.
- Поле
Пример результата:
| День недели | Сумма продаж, ₽ |
|---|---|
| Понедельник | 150 000 |
| Вторник | 180 000 |
| Среда | 220 000 |
| Четверг | 190 000 |
| Пятница | 300 000 |
Из таблицы видно, что пик продаж приходится на пятницу — это может быть полезно для планирования акций или распределения ресурсов.
FAQ: Частые вопросы о днях недели в Excel
🔹 Как вывести день недели на английском, если у меня русская версия Excel?
Используйте функцию ТЕКСТ с английским форматом:
=ТЕКСТ(A1; "[$-409]DDDD")
где 409 — код локали для английского языка. Для немецкого используйте 407, для французского — 40C.
🔹 Можно ли получить день недели без формул?
Да, через пользовательский формат ячеек:
- Выделите ячейку с датой.
- Нажмите
Ctrl+1→Число → Все форматы. - В поле
Тип:введитеДДДДилиДДД.
⚠️ Обратите внимание: это только визуальное отображение. Для расчётов всё равно потребуются формулы.
🔹 Как посчитать количество конкретных дней недели в диапазоне?
Используйте функцию СЧЁТЕСЛИ с массивом:
=СУММПРОИЗВ(--(ТЕКСТ(A1:A100; "ДДДД")="среда"))
Эта формула вернёт количество сред в диапазоне A1:A100.
🔹 Почему функция ДЕНЬНЕД возвращает 0?
Это происходит, если дата введена как 0 (например, пустая ячейка или ячейка с формулой, возвращающей 0). Проверьте исходные данные или используйте:
=ЕСЛИ(A1=0; ""; ДЕНЬНЕД(A1))
чтобы игнорировать нулевые значения.
🔹 Как вывести день недели для текущей даты?
Используйте функцию СЕГОДНЯ:
=ТЕКСТ(СЕГОДНЯ(); "ДДДД")
или для номера дня:
=ДЕНЬНЕД(СЕГОДНЯ(); 2)