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

Разница дат в Excel считается вычитанием: формула =C2-B2 даёт число дней.

Полные месяцы и годы возвращает РАЗНДАТ, а рабочие дни с праздниками 2026 года считает ЧИСТРАБДНИ.

Разобрали формулы на одной таблице, стаж в годах, месяцах и днях и ошибки, из-за которых вместо числа появляется дата.

Статью написал:
Ваня Буявец, продюсер, основатель Checkroi
Ваня Буявец
Основатель Checkroi, продюсер, эксперт в выборе онлайн-курсов
Все 2924 статьи автора Подписаться на Телеграм-канал
Одобрено экспертом:
Наташа Буявец, основатель Checkroi, эксперт по онлайн-курсам
Наташа Буявец
Основательница Checkroi, продюсер Youtube-каналов, эксперт по онлайн-курсам
Все 3578 экспертных мнений Подписаться на Телеграм-канал
Обложка: Разница дат в Excel: дни, полные месяцы и рабочие дни между датами

Чтобы узнать, сколько дней прошло между двумя датами в Excel, достаточно вычесть одну из другой: =C2-B2, где в C2 дата окончания, в B2 дата начала. Excel хранит даты как числа, поэтому разность сразу получается в днях. Для полных месяцев и лет нужна функция РАЗНДАТ: =РАЗНДАТ(B2;C2;"m") вернёт месяцы, =РАЗНДАТ(B2;C2;"y") вернёт годы.

Рабочие дни без выходных и праздников считает ЧИСТРАБДНИ. Ниже разберём все три способа на одной таблице, стаж в формате «7 лет 6 месяцев 25 дней» и ошибки, из-за которых формула вместо числа выдаёт дату из 1900 года. Если вы только начинаете работать в Excel, сначала пригодится разбор того, как сделать таблицу в Excel, а весь инструмент по порядку разбирают на курсах по Excel.

CheckroiCheckroiПодборка курсов по Microsoft Excel686 курсов • 64 школыСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить→

Разница дат в днях: вычитаем одну дату из другой

Рой-аналитик сверяет даты в таблице на ноутбуке

Excel считает каждую дату порядковым номером. По справке Microsoft о функции ДНИ, 1 января 1900 года соответствует номер 1, а 1 января 2008 года номер 39 448. Значит, 12.01.2026 для Excel это число 46 034, а 27.02.2026 число 46 080. Разность двух таких чисел и есть количество дней.

Пошагово это выглядит так:

  1. Введите дату начала в ячейку B2, дату окончания в C2. Пишите в привычном виде: 12.01.2026. Если Excel понял, что это дата, он прижмёт её к правому краю ячейки.
  2. В D2 наберите =C2-B2 и нажмите Enter.
  3. Протяните формулу вниз за маркер в правом нижнем углу ячейки, чтобы посчитать остальные строки. Тот же маркер мы показывали в статье про автоматическую нумерацию строк.
  4. Если в D2 появилась дата вместо числа, поменяйте формат ячейки на «Общий» (разбор ниже, в частых ошибках).

В нашем примере четыре задачи: поставка с 12.01.2026 по 27.02.2026, отпуск с 01.06.2026 по 14.06.2026, стажировка с 15.04.2026 по 14.07.2026 и ремонт с 27.04.2026 по 15.05.2026. Вычитание даёт 46, 13, 90 и 18 дней.

Скриншоты в статье сделаны в Google Таблицах: функции РАЗНДАТ, ЧИСТРАБДНИ, ДАТАМЕС и ОКРУГЛ там называются так же и считают так же. Таблица открыта с британскими региональными настройками, поэтому даты на кадрах выглядят как 12/01/2026, дробь пишется через точку, а аргументы в строке формул разделены запятой. В русском Excel вводите 12.01.2026 и ставьте между аргументами точку с запятой, как в формулах в тексте. Если Таблицы для вас в новинку, начните с инструкции по Google Таблицам.

Разница дат в днях формулой вычитания в Google Таблицах: 46 дней между 12.01.2026 и 27.02.2026
Формула =F2-E2 вычитает дату начала из даты окончания. Рядом столбцы с обеими датами, неделями и рабочими днями для тех же четырёх задач.

Считать ли обе даты

Вычитание не включает в период первый день. С 1 по 14 июня формула насчитает 13 дней, хотя отпуск длится 14. Для отпусков, командировок и аренды по дням добавьте единицу: =C2-B2+1. В нашей таблице это столбец «С обеими»: 47, 14, 91 и 19.

Правило простое. Если нужен срок «сколько прошло» (просрочка, возраст долга, дни до дедлайна), хватит обычного вычитания. Если нужно число календарных дней, которые человек провёл в отпуске или на объекте, прибавьте единицу.

Функция ДНИ

То же самое делает функция =ДНИ(C2;B2). Обратите внимание на порядок аргументов: сначала дата окончания, потом дата начала, так записан синтаксис в справке Microsoft. Результат совпадает с вычитанием, зато функция сама превращает текст в дату через ДАТАЗНАЧ, если дата записана строкой.

Сколько дней осталось до даты

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

Как прибавить к дате дни, рабочие дни или месяцы

Обратная задача встречается не реже: известна дата начала и срок, нужна дата окончания. Excel решает её теми же числами.

Задача Формула Результат для 27.04.2026
Прибавить 30 календарных дней =E5+30 27.05.2026
Прибавить 10 рабочих дней без праздников =РАБДЕНЬ(E5;10) 11.05.2026
Прибавить 10 рабочих дней с праздниками =РАБДЕНЬ(E5;10;$M$2:$M$15) 13.05.2026
Прибавить 3 месяца =ДАТАМЕС(E5;3) 27.07.2026

Функция РАБДЕНЬ пропускает субботы, воскресенья и даты из списка праздников. Разница в два дня в нашем примере набежала из-за 1 и 11 мая: без списка праздников Excel посчитал бы их рабочими. На таких сроках строится и диаграмма Ганта в Excel. Ячейке с результатом нужен формат даты, иначе вместо 13.05.2026 появится число 46 155.

Канал основателя Checkroi Вани Буявца3 700 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединиться

Функция РАЗНДАТ: месяцы и годы между датами

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

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

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

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

Единица Что возвращает Пример для 12.01.2026 – 27.02.2026
"d" Дни между датами 46
"m" Полные месяцы 1
"y" Полные годы 0
"ym" Месяцы сверх полных лет 1
"yd" Дни без учёта лет 46
"md" Дни сверх полных месяцев (с ошибками, см. ниже) 15

Почему между 12 января и 27 февраля всего один полный месяц? Второй месяц закончился бы 12 марта, до него не хватает двух недель. РАЗНДАТ считает только завершённые месяцы и годы, дробных значений не возвращает. У стажировки с 15.04.2026 по 14.07.2026 выходит 2 полных месяца: третий истёк бы 15 июля, на день позже.

Если дата начала окажется позже даты окончания, РАЗНДАТ вернёт ошибку #ЧИСЛО!. Вычитание в той же ситуации просто даст отрицательное число.

В русской справке Microsoft единицы местами переведены (например, «ЮМ» вместо «YM»). В формулу так писать не нужно: Excel ждёт латинские "y", "m", "d", "ym", "yd" и "md", как в таблице синтаксиса той же справки.

Как посчитать стаж или возраст в годах, месяцах и днях

Рой-кадровик радуется, что стаж посчитался одной формулой

Кадровику обычно нужен ответ вида «7 лет 6 месяцев 25 дней». Его собирают из трёх формул. Пусть дата приёма в E8, а дата, на которую считаем стаж, в F8.

  1. Полные годы: =РАЗНДАТ(E8;F8;"y").
  2. Месяцы сверх лет: =РАЗНДАТ(E8;F8;"ym").
  3. Дни сверх месяцев: =F8-ДАТАМЕС(E8;РАЗНДАТ(E8;F8;"m")).
  4. Сборка в одну строку: =G8&" г. "&H8&" мес. "&I8&" дн."

Третья формула заменяет единицу "md", о которой Microsoft прямо предупреждает: с ней результат бывает отрицательным, нулевым или неверным. Логика замены такая. Функция ДАТАМЕС прибавляет к дате приёма все полные месяцы стажа и получает последнюю «месячную годовщину». Остаток до текущей даты и есть дни.

Функция РАЗНДАТ с единицей ym считает месяцы стажа сверх полных лет в Google Таблицах
Единица ym возвращает месяцы, оставшиеся после полных лет: у сотрудницы с датой приёма 18.03.2019 это 6 месяцев.

На 13.10.2026 у сотрудницы, принятой 18.03.2019, выходит 7 лет, 6 месяцев и 25 дней. У сотрудника с датой приёма 05.11.2024 получается 1 год 11 месяцев 8 дней, а с 03.09.2012 набегает 14 лет 1 месяц 10 дней.

Дни стажа сверх полных месяцев через ДАТАМЕС и РАЗНДАТ в Google Таблицах
ДАТАМЕС прибавляет к дате приёма все полные месяцы, вычитание даёт остаток в днях. В столбце «Стаж» три числа собраны в одну строку.

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

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

Сколько рабочих дней между датами: ЧИСТРАБДНИ и праздники 2026 года

Настольный календарь с отмеченными праздниками рядом с ноутбуком

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

=ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники])

Похожий подсчёт по каждому сотруднику ведёт табельщик в табеле учёта рабочего времени. Без третьего аргумента функция убирает только субботы и воскресенья. В отличие от вычитания, она включает в подсчёт обе даты, если они рабочие. У поставки с 12.01.2026 по 27.02.2026 выходит 35 рабочих дней, у стажировки 65.

Российские праздники Excel не знает, их нужно дать списком. Выпишите их в отдельный столбец и укажите диапазон третьим аргументом. Чтобы ссылка не съезжала при копировании формулы вниз, закрепите её знаками доллара: =ЧИСТРАБДНИ(E2;F2;$M$2:$M$15).

В 2026 году на будни выпадают 14 нерабочих дней. Список составлен по производственному календарю 2026 года КонсультантПлюс с учётом постановления Правительства РФ от 24.09.2025 № 1466 «О переносе выходных дней в 2026 году»:

  • январь: 01.01, 02.01, 05.01, 06.01, 07.01, 08.01 и 09.01 (выходной перенесён с субботы 3 января);
  • 23.02 и 09.03 (8 марта выпадает на воскресенье, выходной переходит на понедельник);
  • 01.05 и 11.05 (9 мая приходится на субботу);
  • 12.06, 04.11 и 31.12 (выходной перенесён с воскресенья 4 января).

Проверить список легко. Поставьте период с 01.01.2026 по 31.12.2026: ЧИСТРАБДНИ с этим диапазоном праздников вернёт 247 рабочих дней, ровно столько указано в производственном календаре. С праздниками у поставки остаётся 34 рабочих дня вместо 35, у стажировки 62 вместо 65, у ремонта с майскими праздниками 13 вместо 15.

ЧИСТРАБДНИ со списком праздников 2026 года считает рабочие дни между датами в Google Таблицах
Третьим аргументом передан столбец с 14 праздничными буднями 2026 года. У поставки рабочих дней 34 вместо 35, у ремонта 13 вместо 15.

Другой график и рабочие субботы

Если выходные у вас не суббота и воскресенье, берите ЧИСТРАБДНИ.МЕЖД. Третьим аргументом она принимает код выходных: 1 означает субботу и воскресенье, 11 только воскресенье, 7 пятницу и субботу. Можно передать и строку из семи нулей и единиц, начиная с понедельника: "0000011" означает выходные в субботу и воскресенье.

Сложнее с перенесёнными рабочими субботами. В 2026 году их нет, а в 2025-м, по производственному календарю 2025 года, выходной перенесли с субботы 1 ноября на понедельник 3 ноября, и суббота стала рабочей. ЧИСТРАБДНИ такую субботу не посчитает. Выпишите рабочие субботы отдельным диапазоном и прибавьте их к результату:

=ЧИСТРАБДНИ(E2;F2;Праздники)+СЧЁТЕСЛИМН(Субботы;">="&E2;Субботы;"<="&F2)

«Праздники» и «Субботы» здесь именованные диапазоны. Имя задаётся так: выделить ячейки, открыть «Формулы» → «Задать имя». Про то, как работают функции подсчёта по условию, мы рассказывали в статье о том, как посчитать количество ячеек с определённым значением.

Разница в неделях и в долях года

Недели получаются делением дней на семь: =(F2-E2)/7. Чтобы не тащить в отчёт шесть знаков после запятой, оберните формулу в ОКРУГЛ: =ОКРУГЛ((F2-E2)/7;1). Поставка длилась 6,6 недели, стажировка 12,9. Про другие функции округления есть отдельный разбор: как округлить число в Excel.

Для процентов по вкладу, аренды за неполный год и других финансовых расчётов пригодится функция ДОЛЯГОДА. Она возвращает долю года между датами, а третий аргумент, базис, задаёт, как считать дни:

Базис Как считаются дни Когда подходит
0 или пусто Американский 30/360 редко нужен в российских расчётах
1 Фактический/фактический точная доля с учётом високосного года
3 Фактический/365 проценты «по дням» в году из 365 дней

Базис стоит указывать явно. Справка Microsoft приводит пример: для 01.01.2012–30.07.2012 без базиса выходит 0,58055556, с базисом 1 получается 0,57650273, а с базисом 3 выходит 0,57808219. Разница небольшая, но в процентах по крупной сумме она заметна.

Ваня БуявецКанал основателя Checkroi Вани БуявцаЗабирайте промпты и обучение по нейросетям в моём Телеграм-каналеБольше 3 700 человек уже применяют Claude Code, ChatGPT и другие нейросети в работе, учёбе, бизнесе и жизниПерейти в канал

Частые ошибки и что с ними делать

Почти все проблемы с датами сводятся к одному: Excel видит в ячейке не то, что видите вы.

  • Вместо числа дней в ячейке дата 1900 года. Причина: ячейке с формулой достался формат даты, например её скопировали из столбца с датами. Тогда 46 дней Excel покажет как 15.02.1900. Решение: «Главная» → группа «Число» → в списке форматов выбрать «Общий» или «Числовой».
Количество рабочих дней показано как дата 1900 года из-за формата ячейки в Google Таблицах
Формула верная, но у столбца остался формат даты: 34 рабочих дня таблица показала как 2 февраля 1900 года. Лечится сменой формата на числовой.
  • Ошибка #ЗНАЧ! при вычитании. Причина: одна из дат записана текстом в формате, который Excel не узнаёт. Так бывает с выгрузками из учётных систем и сайтов: американский порядок 02/27/2026, лишний пробел, точка в конце. Такая «дата» прижата к левому краю ячейки. Решение: превратить текст в даты командой «Данные» → «Текст по столбцам» с форматом ДМГ (подробно в статье о том, как разделить текст по столбцам в Excel) или функцией ДАТАЗНАЧ.
Ошибка при вычитании даты, записанной текстом, в Google Таблицах
Таблица не узнала дату 27.02.2026 и сохранила её как текст, поэтому вычитание вернуло ошибку. В русском Excel в такой ситуации появится #ЗНАЧ!.
  • РАЗНДАТ возвращает #ЧИСЛО!. Причина: дата начала позже даты окончания, часто просто перепутаны столбцы. Решение: поменять аргументы местами или обернуть формулу в проверку функцией ЕСЛИ: =ЕСЛИ(E2>F2;"";РАЗНДАТ(E2;F2;"m")).
  • Excel пишет #ИМЯ?. Причина: опечатка в названии функции или единица без кавычек. Решение: проверить название и взять единицу в кавычки. Если же в кавычках русская буква «у» вместо латинской "y", РАЗНДАТ вернёт #ЧИСЛО!: перепечатайте единицу в английской раскладке.
  • Дней на один меньше, чем ждали. Причина: вычитание не считает первый день периода. Решение: добавить +1, если нужны обе границы.
  • Разность получилась дробной. Причина: в ячейке кроме даты есть время, например 12.01.2026 15:30. Решение: отрезать время функцией ЦЕЛОЕ: =ЦЕЛОЕ(F2)-ЦЕЛОЕ(E2).
  • Неверные дни сверх месяцев. Причина: использована единица "md". Решение: формула с ДАТАМЕС из раздела про стаж.

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

Где освоить Excel системно

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

Если Excel занимает у вас полрабочего дня, загляните в разбор о том, кто такой специалист по Excel и где такие навыки ценят.

КурсШколаСтоимость со скидкойВ рассрочкуДлитель­ностьОбзор курса от Checkroi
Excel
Перейти на сайт курса
НетологияНетология31 900 ₽1691 ₽/мес.8 недельОбзор курса
Power BI & Excel PRO
Перейти на сайт курса
НетологияНетология38 500 ₽3208 ₽/мес.2 месяцаОбзор курса
Excel для работы
Перейти на сайт курса
Академия ЭдюсонЭдюсон16 500 ₽1375 ₽/мес.2 неделиОбзор курса
Excel + Google Таблицы с нуля до PRO
Перейти на сайт курса
SkillboxSkillbox29 899 ₽2965 ₽/мес.4 месяцаОбзор курса
Excel для аналитика
Перейти на сайт курса
Moscow Business AcademyMoscow Business Academy17 200 ₽2866 ₽/мес.2 месяцаОбзор курса

Больше программ — в полном каталоге курсов по Microsoft Excel

Часто задаваемые вопросы

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

Вычтите дату начала из даты окончания: =C2-B2. Excel хранит даты как числа, поэтому разность сразу получается в днях. Если нужно включить в период обе даты, например для отпуска, добавьте единицу: =C2-B2+1.

Почему в Excel нет функции РАЗНДАТ в списке функций?

Microsoft оставила РАЗНДАТ для совместимости со старыми книгами Lotus 1-2-3, поэтому в мастере функций её обычно нет и подсказка аргументов не появляется. Формулу вводят руками целиком, например =РАЗНДАТ(B2;C2;"m"), и она работает. Единицы пишутся латиницей: "y", "m", "d", "ym", "yd".

Как посчитать рабочие дни между датами с учётом праздников?

Используйте ЧИСТРАБДНИ: =ЧИСТРАБДНИ(B2;C2;$M$2:$M$15), где в третьем аргументе диапазон с праздничными датами. В 2026 году на будни выпадает 14 нерабочих праздничных дней. С таким списком функция насчитает за год 247 рабочих дней, как в производственном календаре.

Как посчитать стаж в годах, месяцах и днях?

Нужны три формулы: =РАЗНДАТ(E8;F8;"y") для полных лет, =РАЗНДАТ(E8;F8;"ym") для месяцев сверх лет и =F8-ДАТАМЕС(E8;РАЗНДАТ(E8;F8;"m")) для оставшихся дней. Единицу "md" для дней лучше не брать, Microsoft предупреждает, что она даёт неверные результаты.

Почему вместо разницы дат Excel показывает дату 1900 года?

У ячейки с формулой формат даты, и число дней Excel выводит как дату: 46 дней превращаются в 15.02.1900. Поменяйте формат на «Общий» или «Числовой» на вкладке «Главная» в группе «Число».

Как посчитать, сколько дней осталось до даты?

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

Читайте Checkroi первым в Google
Добавьте Checkroi в избранные источники — и наши разборы курсов и обзоры школ будут показываться выше в вашей выдаче Google.
Оставить комментарий
0 комментариев
Форма комментария

Оставьте комментарий

Напишите, что думаете. Нам важно ваше мнение!