Мастерство работы с датами в Excel: от дня недели до сложных интервалов

Иван Корнев·10.04.2026·4 мин

Чтобы определить день недели, используйте функцию =ТЕКСТ(дата; "dddd") для полного названия или =ДЕНЬНЕД(дата; 2) для номера (где понедельник = 1). Для расчета разницы между датами примените простое вычитание (=B2-A2) или функцию =РАЗНДАТ для точных периодов, а количество рабочих дней без выходных и праздников посчитает формула =ЧИСТРАБДНИ. Эти инструменты позволяют автоматизировать планирование проектов, расчет сроков оплаты и формирование графиков отпусков.

Главное правило: В Excel даты хранятся как порядковые номера (целые числа), где 1 — это 1 января 1900 года. Время — это дробная часть числа. Это значит, что с датами можно выполнять обычные математические операции: сложение, вычитание и сравнение.

Определение дня недели и работа с текстовыми форматами

Часто требуется не просто увидеть дату, а понять, на какой день недели она выпадает, чтобы отфильтровать данные или подсветить выходные.

Числовой и текстовый вывод

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

  • =ТЕКСТ(A2; "dddd") — вернет полное название (например, «пятница»).
  • =ТЕКСТ(A2; "ddd") — вернет сокращенное название («пт»).

Если вам нужно числовое значение дня для условий (например, в функции ЕСЛИ), используйте ДЕНЬНЕД:

  • =ДЕНЬНЕД(A2; 2) — возвращает число от 1 (понедельник) до 7 (воскресенье). Аргумент 2 критически важен для российской практики, так как стандартный режим начинает неделю с воскресенья.

Практическое применение: маркировка выходных

Вы можете автоматически помечать строки как «Выходной» или «Рабочий»:

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

Эта формула проверит дату в ячейке A2 и вернет соответствующий статус.

Лайфхак для условного форматирования: Не обязательно создавать отдельный столбец с днем недели. В правилах условного форматирования выберите «Использовать формулу» и вставьте =ДЕНЬНЕД($A2; 2)>5. Это автоматически закрасит все выходные дни в выбранном диапазоне красным цветом.

Расчет интервалов: дни, месяцы и рабочие периоды

Вычисление разницы между двумя датами — одна из самых частых задач. Подход зависит от того, нужны ли вам календарные дни или только рабочие.

Календарные дни

Самый простой метод — обычное вычитание: =Конец - Начало (например, =B2-A2). Убедитесь, что ячейка с результатом имеет формат «Общий» или «Числовой», иначе Excel может попытаться отформатировать результат как дату.

Для более сложных периодов (годы, месяцы, дни одновременно) используйте скрытую, но мощную функцию РАЗНДАТ (DATEDIF):

  • =РАЗНДАТ(Начало; Конец; "d") — полные дни.
  • =РАЗНДАТ(Начало; Конец; "m") — полные месяцы.
  • =РАЗНДАТ(Начало; Конец; "y") — полные годы.
  • Комбинированный вывод стажа: =РАЗНДАТ(A2; B2; "y") & " г. " & РАЗНДАТ(A2; B2; "ym") & " мес. " & РАЗНДАТ(A2; B2; "md") & " дн."

Рабочие дни (исключая выходные и праздники)

Для бизнес-планирования календарные дни часто не подходят. Используйте функцию ЧИСТРАБДНИ (NETWORKDAYS): =ЧИСТРАБДНИ(Начало; Конец; [Праздники])

Функция автоматически исключает субботы и воскресенья. Третий аргумент необязателен, но крайне полезен: укажите диапазон ячеек с датами государственных праздников, чтобы получить максимально точный срок выполнения задачи.

ЗадачаФормулаПример результата
Разница в днях=B2-A245
Полных месяцев между датами=РАЗНДАТ(A2;B2;"m")1
Рабочих дней (без праздников)=ЧИСТРАБДНИ(A2;B2)32
Рабочих дней (с учетом праздников в H2:H10)=ЧИСТРАБДНИ(A2;B2;H2:H10)30

Манипуляции с датами месяца: начало, конец и сдвиги

При формировании отчетов часто требуется привести дату к началу или концу периода, независимо от того, какое число указано исходно.

Первый и последний день месяца

  • Первый день: Используйте функцию ДАТА, обнуляя день. =ДАТА(ГОД(A2); МЕСЯЦ(A2); 1)
  • Последний день: Функция КОНМЕСЯЦА (EOMONTH) делает это в одно действие. =КОНМЕСЯЦА(A2; 0) — вернет последний день текущего месяца даты в A2. =КОНМЕСЯЦА(A2; 1) — вернет последний день следующего месяца.

Сдвиг дат во времени

Для добавления месяцев или лет не нужно вручную считать дни. Функция ДАТАМЕСЯЦ (EDATE) идеально подходит для этого:

  • =ДАТАМЕСЯЦ(A2; 3) — дата через 3 месяца.
  • =ДАТАМЕСЯЦ(A2; -1) — дата месяц назад. Эта функция корректно обрабатывает високосные годы и разное количество дней в месяцах (например, сдвиг с 31 января на февраль даст 28 или 29 февраля).

Осторожно с текстовыми датами! Если формулы возвращают ошибки #ЗНАЧ!, проверьте формат исходных данных. Часто даты импортируются как текст (выровнены по левому краю). Преобразуйте их через меню «Данные» → «Текст по столбцам» → «Дата», прежде чем применять формулы.

Частые ошибки при работе с датами

  1. Неверный старт недели. Использование ДЕНЬНЕД без второго аргумента приводит к тому, что воскресенье считается первым днем (1), а понедельник — вторым (2). Всегда используйте ;2 для стандарта РФ.
  2. Игнорирование времени. Если в ячейке содержится дата и время (например, 10.04.2026 15:30), то при вычитании 11.04.2026 09:00 результат будет не 1 день, а ~0.73. Для получения целых дней используйте функцию ЦЕЛОЕ: =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2).
  3. Отрицательный результат. Функции РАЗНДАТ и ЧИСТРАБДНИ требуют, чтобы дата начала была меньше даты окончания. Если порядок может нарушаться, оберните формулу в ABS (модуль) или используйте ЕСЛИ для проверки.

FAQ

Как узнать номер недели в году? Используйте функцию =НОМНЕДЕЛИ(A2; 21). Аргумент 21 соответствует стандарту ISO 8601, принятому в России (неделя начинается с понедельника).

Можно ли посчитать возраст человека в годах? Да, комбинация функций даст точный возраст на текущую дату: =РАЗНДАТ(Дата_рождения; СЕГОДНЯ(); "y").

Как добавить к дате ровно один рабочий день? Используйте функцию =РАБДЕНЬ(Дата; 1). Она сдвинет дату на следующий день, пропуская выходные. Если пятница, то результатом будет понедельник.