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

Excel считает каждую дату порядковым номером. По справке Microsoft о функции ДНИ, 1 января 1900 года соответствует номер 1, а 1 января 2008 года номер 39 448. Значит, 12.01.2026 для Excel это число 46 034, а 27.02.2026 число 46 080. Разность двух таких чисел и есть количество дней.
Пошагово это выглядит так:
- Введите дату начала в ячейку B2, дату окончания в C2. Пишите в привычном виде: 12.01.2026. Если Excel понял, что это дата, он прижмёт её к правому краю ячейки.
- В D2 наберите
=C2-B2и нажмите Enter. - Протяните формулу вниз за маркер в правом нижнем углу ячейки, чтобы посчитать остальные строки. Тот же маркер мы показывали в статье про автоматическую нумерацию строк.
- Если в 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 Таблицам.

Считать ли обе даты
Вычитание не включает в период первый день. С 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.
- Полные годы:
=РАЗНДАТ(E8;F8;"y"). - Месяцы сверх лет:
=РАЗНДАТ(E8;F8;"ym"). - Дни сверх месяцев:
=F8-ДАТАМЕС(E8;РАЗНДАТ(E8;F8;"m")). - Сборка в одну строку:
=G8&" г. "&H8&" мес. "&I8&" дн."
Третья формула заменяет единицу "md", о которой Microsoft прямо предупреждает: с ней результат бывает отрицательным, нулевым или неверным. Логика замены такая. Функция ДАТАМЕС прибавляет к дате приёма все полные месяцы стажа и получает последнюю «месячную годовщину». Остаток до текущей даты и есть дни.

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

Чтобы стаж пересчитывался сам каждый день, вместо фиксированной даты в 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.

Другой график и рабочие субботы
Если выходные у вас не суббота и воскресенье, берите ЧИСТРАБДНИ.МЕЖД. Третьим аргументом она принимает код выходных: 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. Разница небольшая, но в процентах по крупной сумме она заметна.
Частые ошибки и что с ними делать
Почти все проблемы с датами сводятся к одному: Excel видит в ячейке не то, что видите вы.
- Вместо числа дней в ячейке дата 1900 года. Причина: ячейке с формулой достался формат даты, например её скопировали из столбца с датами. Тогда 46 дней Excel покажет как 15.02.1900. Решение: «Главная» → группа «Число» → в списке форматов выбрать «Общий» или «Числовой».

- Ошибка #ЗНАЧ! при вычитании. Причина: одна из дат записана текстом в формате, который Excel не узнаёт. Так бывает с выгрузками из учётных систем и сайтов: американский порядок 02/27/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 Перейти на сайт курса | 29 899 ₽ | 2965 ₽/мес. | 4 месяца | Обзор курса | |
| Excel для аналитика Перейти на сайт курса | 17 200 ₽ | 2866 ₽/мес. | 2 месяца | Обзор курса |
Больше программ — в полном каталоге курсов по Microsoft Excel




