Lumpics lumpics.ru

Как посчитать количество дней между датами в Microsoft Excel

Прежде чем считать разницу между датами, убедитесь, что ячейки с датами отформатированы правильно. В большинстве случаев Excel распознает дату автоматически при вводе, однако если ячейка остается в текстовом формате, никакие формулы работать не будут. Чтобы задать формат вручную, выделите нужные ячейки, нажмите Ctrl + 1, перейдите на вкладку «Число», выберите «Дата» и нажмите «ОК».

Подробнее: Изменение формата ячеек в Excel

Способ 1: Простое вычитание дат

Самый быстрый способ узнать количество дней между двумя датами: обычная формула вычитания. Внутри Excel любая дата хранится как целое число: например, 01.01.2025 соответствует числу 45658, а 20.03.2025 соответствует числу 45736. Разность двух таких чисел и дает количество прошедших дней. Предположим, в столбце A находятся начальные даты, в столбце B конечные, а результаты нужно вывести в столбце C.

  1. Выделите ячейку C2 и убедитесь, что ее формат задан как «Общий» или «Числовой». Посмотреть и изменить формат можно в группе «Число» на вкладке «Главная». Если ячейке присвоен формат «Дата», результат тоже отобразится как дата, например «19.01.1900» вместо нужного числа.
  2. Количество дней между датами в Excel-01
  3. Введите формулу =B2-A2 и нажмите Enter. В ячейке появится количество дней между датами.
  4. Количество дней между датами в Excel-02
  5. Протяните формулу вниз на остальные строки диапазона (до C6), чтобы применить ее ко всем парам дат сразу.
  6. Количество дней между датами в Excel-03

В формуле =B2-A2 из значения в столбце B вычитается значение в столбце A, поэтому более поздняя дата должна находиться в B. Если даты стоят в обратном порядке, результат окажется отрицательным, что в большинстве задач служит сигналом ошибки в исходных данных.

Тот же принцип работает, когда одна из дат не фиксирована, а привязана к текущему дню. Функция СЕГОДНЯ() возвращает сегодняшнюю дату и автоматически обновляется при каждом открытии файла. Формула =СЕГОДНЯ()-A2 покажет, сколько дней прошло с даты в A2, а =B2-СЕГОДНЯ() покажет, сколько дней осталось до даты в B2. Если результат отрицательный, срок уже истек.

Количество дней между датами в Excel-04

Способ 2: Функция РАЗНДАТ

Функция РАЗНДАТ позволяет вычислять разницу между датами не только в днях, но и в месяцах, годах и их комбинациях. В отличие от простого вычитания, она дает возможность, например, узнать, сколько полных лет и месяцев прошло между датами, что удобно при расчете стажа, возраста или сроков договоров. Функция не задокументирована и не появляется ни в мастере функций, ни в подсказках при вводе: она унаследована из совместимости со старыми табличными редакторами и по-прежнему работает в Excel, однако вводить ее нужно вручную, зная точный синтаксис:

=РАЗНДАТ(начальная_дата; конечная_дата; единица)

Количество дней между датами в Excel-05

Параметр «единица» определяет, в каком виде будет выведен результат:

Единица Что возвращает
"d" Полное количество дней между датами
"m" Полное количество месяцев
"y" Полное количество лет
"yd" Разница в днях так, как если бы обе даты находились в одном году (годы не учитываются)
"md" Дни между датами без учета месяцев и лет
"ym" Месяцы между датами без учета лет

Для подсчета обычной разницы в днях используется единица "d", результат будет таким же, как при простом вычитании. Комбинируя единицы в нескольких ячейках, можно получить разбивку вида «2 г. 3 мес. 18 дн.»: для этого в отдельных ячейках прописывают РАЗНДАТ с "y", "ym" и "md" соответственно.

  1. Кликните по ячейке C2 и введите формулу =РАЗНДАТ(A2;B2;"d"). Обратите внимание на порядок аргументов: в отличие от простого вычитания, здесь первой стоит начальная дата, а конечная идет второй. Если перепутать их местами, функция вернет ошибку #ЧИСЛО.
  2. Количество дней между датами в Excel-06
  3. Нажмите Enter, в ячейке отобразится количество дней. Протяните формулу на весь диапазон C2:C6.
  4. Количество дней между датами в Excel-07

Если в ячейке вместо числа появляется ошибка #ЧИСЛО, это почти всегда означает, что дата в столбце A позже даты в столбце B. Проверьте исходные данные и при необходимости поменяйте аргументы местами.

Способ 3: Включительный подсчет дней

Оба предыдущих способа считают количество прошедших дней, не включая начальный день в итог. Например, разница между 1 марта и 5 марта по формуле составит 4, хотя фактически задействованы пять дней: 1-е, 2-е, 3-е, 4-е и 5-е. Такая логика стандартна для математического вычитания, однако в ряде задач, например при расчете аренды, командировок, сроков действия документов, требуется считать оба крайних дня.

Чтобы включить оба дня в результат, к любой из формул выше достаточно добавить +1:

=B2-A2+1

Количество дней между датами в Excel-08

или

=РАЗНДАТ(A2;B2;"d")+1

Количество дней между датами в Excel-09

Если в таблице некоторые ячейки могут быть пустыми и лишний +1 в таких строках дает некорректный результат, оберните формулу в проверку:

=ЕСЛИ(И(A2"";B2"");B2-A2+1;"")

Количество дней между датами в Excel-10
Такая конструкция вернет пустую строку вместо ошибочного единичного значения, если одна из дат не заполнена.

Способ 4: Подсчет рабочих дней с помощью функции ЧИСТРАБДНИ

Функция ЧИСТРАБДНИ вычисляет количество рабочих дней в указанном периоде, автоматически исключая субботы и воскресенья. Дополнительно ей можно передать список праздничных дат, которые тоже будут исключены из подсчета. Синтаксис функции:

=ЧИСТРАБДНИ(нач_дата; кон_дата; [праздники]) Количество дней между датами в Excel-11

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

  1. Кликните по ячейке C2 и начните вводить формулу. Если праздники не учитываются, достаточно написать =ЧИСТРАБДНИ(A2;B2) и нажать Enter.
  2. Количество дней между датами в Excel-12
  3. Если нужно исключить праздничные дни, заранее внесите их в отдельный диапазон таблицы, например E2:E10, и добавьте его третьим аргументом: =ЧИСТРАБДНИ(A2;B2;$E$2:$E$10). Знак доллара фиксирует ссылку на диапазон праздников при протягивании формулы.
  4. Протяните формулу на диапазон C2:C6, где каждая строка покажет количество рабочих дней для соответствующей пары дат.
  5. Количество дней между датами в Excel-13

Функцию ЧИСТРАБДНИ также можно найти через мастер функций: нажмите кнопку «Вставить функцию» рядом со строкой формул, в категории «Дата и время» выберите «ЧИСТРАБДНИ» и заполните аргументы в открывшемся окне.

Количество дней между датами в Excel-14

Обратите внимание, что функция учитывает оба крайних дня, если они рабочие: период с понедельника по пятницу даст результат 5, а не 4. В этом ее принципиальное отличие от простого вычитания дат. Если ваши выходные приходятся не на субботу и воскресенье, а на другие дни недели, используйте расширенную версию =ЧИСТРАБДНИ.МЕЖД(A2;B2;схема), где второй числовой аргумент задает схему выходных: значение 2 соответствует воскресенью и понедельнику, значение 7 соответствует пятнице и субботе, а значения 11–17 позволяют задать один выходной день в неделю.

Способ 5: Вычисление даты через заданное количество рабочих дней

Если стоит обратная задача и нужно не посчитать дни между двумя датами, а определить, на какую дату приходится дедлайн через N рабочих дней, используется функция РАБДЕНЬ. Это удобно при расчете сроков исполнения документов, поставок, ответов на запросы и других процессов, привязанных к рабочему календарю. Синтаксис:

=РАБДЕНЬ(нач_дата; количество_дней; [праздники])

Количество дней между датами в Excel-15

Функция прибавляет к начальной дате указанное количество рабочих дней и возвращает результирующую дату, пропуская выходные. Праздники передаются так же, как в ЧИСТРАБДНИ: ссылкой на диапазон.

  1. Предположим, в ячейке A2 стоит дата начала, а в D2 нужно вывести дату дедлайна через 20 рабочих дней. Кликните по D2 и введите формулу =РАБДЕНЬ(A2;20).
  2. Количество дней между датами в Excel-16
  3. Нажмите Enter. Убедитесь, что ячейка D2 имеет формат «Дата», иначе результат отобразится как число. Если нужно учесть праздники, добавьте третий аргумент: =РАБДЕНЬ(A2;20;$E$2:$E$10).
  4. Количество дней между датами в Excel-17
  5. Чтобы отсчет шел назад, укажите отрицательное количество дней: =РАБДЕНЬ(A2;-20) вернет дату за 20 рабочих дней до начальной.
  6. Количество дней между датами в Excel-18

Важный нюанс: начальная дата в РАБДЕНЬ не входит в счет рабочих дней. Если в A2 стоит понедельник и вы пишете =РАБДЕНЬ(A2;1), результатом будет вторник, а не сам понедельник. При расчете дедлайнов это нужно учитывать заранее, чтобы не получить дату на один день раньше нужной. Для нестандартного рабочего графика предусмотрена расширенная версия =РАБДЕНЬ.МЕЖД(A2;20;схема), которая принимает те же схемы выходных, что и ЧИСТРАБДНИ.МЕЖД.

Дополнительные сведения и частые вопросы

При работе с датами в Excel нередко возникают вопросы, которые напрямую связаны с особенностями хранения дат в программе. Ниже собраны наиболее частые из них.

  • Ячейка показывает дату вместо числа. Если ячейка с результатом отформатирована как «Дата», Excel отобразит число прошедших дней как дату от своей точки отсчета: вместо числа 5 вы увидите «05.01.1900», вместо числа 32 появится «01.02.1900» и так далее. Выделите ячейку, откройте окно форматирования через Ctrl + 1 и установите формат «Общий» или «Числовой».
  • Количество дней между датами в Excel-19
  • РАЗНДАТ возвращает ошибку #ЧИСЛО. Функция РАЗНДАТ не умеет работать с отрицательными интервалами: если начальная дата в ячейке A2 позже конечной в B2, результатом будет ошибка #ЧИСЛО. Проверьте порядок дат в исходных данных. Простое вычитание =B2-A2 в такой ситуации вернет отрицательное число, а не ошибку, что иногда удобнее.
  • Количество дней между датами в Excel-20
  • Даты до 1 января 1900 года не поддерживаются. Внутренняя система дат Excel начинается с 01.01.1900. Любые даты раньше этой отметки программа не сможет обработать корректно: они либо будут восприняты как текст, либо вызовут ошибку в формулах. Для работы с историческими датами потребуются сторонние надстройки или специализированные инструменты.
  • Учет даты и времени одновременно. Если ячейки содержат не только дату, но и время, например «02.03.2026 14:25» и «05.03.2025 19:30», простое вычитание по-прежнему работает. Результат окажется дробным числом: целая часть соответствует количеству суток, а дробная часть соответствует доле суток. Умножив результат на 24, получите разницу в часах, а умножив на 1440, получите разницу в минутах.
  • Количество дней между датами в Excel-21
  • Разбивка дней по месяцам внутри периода. Если нужно узнать, сколько дней периода приходится на каждый конкретный месяц, универсальной встроенной функции для этого нет. Решение строится через комбинацию РАЗНДАТ, ДАТА и КОНМЕСЯЦА: для каждого месяца вычисляется пересечение с заданным периодом. Такая формула требует ручной настройки под конкретную структуру таблицы.

2 комментариев

Вам помогла статья?

Ваш ответ может помочь другим пользователям!