Функции и формулы
Как вычислить разность дат в Excel: вычитание, обе границы периода и формат ответа
Разность дат в Excel — это число дней между двумя датами для тех, кто считает сроки, длительность командировок и остаток до дедлайна. По справке Microsoft функция ДНИ вычитает начальную дату из конечной и принимает конечную первой[1]. Ниже — вычитание, ДНИ, недели и часы, ошибки формата и границы применения.
Сколько дней длился проект, сколько осталось до сдачи отчёта, сколько часов заняла смена — все эти вопросы сводятся к вычитанию одной даты из другой. Справка Microsoft о вычитании дат описывает формулу «конечная минус начальная», которую протягивают вниз: Excel сам меняет ссылки для каждой строки и возвращает количество дней[2]. Считать по календарю вручную долго, а ошибиться на один день легко.
Порядок работы такой: найти даты начала и конца, ввести формулу вычитания или ДНИ, проверить формат результата, исправить дату вместо числа или текстовую дату и протянуть формулу на свои данные. Все результаты ниже пересчитаны в движке тренажёра.
Ключевые факты: разность дат в Excel
- Разность дат — это число дней между двумя датами, которое Excel получает вычитанием порядковых номеров.
- Справка Microsoft приводит пример: с 01.01.2021 по 31.12.2021 функция ДНИ насчитывает 364 дня[1].
- ДНИ возвращает #ЗНАЧ!, если текст нельзя прочитать как дату[1].
- ДНИ отличается от вычитания тем, что конечная дата стоит первым аргументом, а текст переводится как ДАТАЗНАЧ.
- По справке Microsoft часы между датами со временем показывает формат [h]:mm после вычитания ячеек[5].
Как посчитать разность дат в Excel вычитанием
Разность дат в Excel считается вычитанием начальной даты из конечной: дата хранится числом, и разница двух чисел — это дни. Пример считается на таком листе:
| A | B | C | |
|---|---|---|---|
| 1 | Начало | Конец | Дней |
| 2 | 01.03.2026 | 15.11.2026 | =B2-A2 |
- Введите даты в A2 и B2 — функцией ДАТА или обычным вводом.
- Введите в C2
=B2-A2и нажмите Enter: результат — 259[3]. - Если в ячейке появилась дата вместо числа, поставьте ей общий или числовой формат.
- Протяните формулу вниз на весь список.
Разность дат в Excel не зависит от того, как даты выглядят на экране: важны только их порядковые номера. Вычитание не считает первый день: от 1 до 2 марта получится 1 день. Конечная дата входит в счёт только после прибавления единицы: =B2-A2+1 превращает 259 дней в 260. Так считают длительность командировки или отпуска, где важны обе границы периода. Если формулу протягивают на сотню строк, проверьте две-три из них по календарю: ошибка в одну дату обычно означает, что забыли единицу.
Разность дат в Excel работает и для дат, введённых прямо в формулу текстом. Справка Microsoft о вычислении возраста приводит пример =("02.10.2014"-"02.05.2014") с результатом 153 дня[4].
Справка о вычитании дат для Mac показывает тот же способ на версиях Microsoft 365, Excel 2024 и Excel 2021 для Mac[2]. В Google Таблицах вычитание дат работает так же.
Разобравшись с вычитанием, переходим к функции, которая делает то же самое, но строже проверяет аргументы.
Чем функция ДНИ отличается от простого вычитания
Функция ДНИ возвращает количество дней между датами и принимает конечную дату первой: ДНИ(кон_дата;нач_дата). Если оба аргумента — числа, функция вычитает начальную дату из конечной, а текст переводит в дату, как ДАТАЗНАЧ[1].
| Признак | Вычитание =B2-A2 | Функция =ДНИ(B2;A2) |
|---|---|---|
| порядок | конечная минус начальная | конечная дата — первый аргумент |
| результат на нашем примере | 259 | 259 |
| даты в обратном порядке | -259 | -259 |
| текст, похожий на дату | Excel пытается перевести сам | переводит как ДАТАЗНАЧ |
| текст, который не дата | ошибка | #ЗНАЧ! |
Справка приводит два примера: с 1 февраля по 15 марта 2021 года — 42 дня, с 01.01.2021 по 31.12.2021 — 364[1]. Числовая дата вне допустимого диапазона даёт #ЧИСЛО!, а допустимые даты лежат между 1 января 1900 года и 31 декабря 9999 года[7].
ДНИ удобна, когда даты приходят из выгрузки текстом: функция сама переводит их и возвращает целое число без времени. Справка относит ДНИ к Excel для Microsoft 365, Excel 2024, Excel 2021, Excel 2019 и Excel 2016[1].
Однако дни — не единственная единица разницы: сроки бывают в неделях, а смены — в часах.
Пример: недели, часы и дни до срока
Разность дат переводится в недели делением на 7, а в часы — умножением на 24 или форматом [ч]:мм. Справка Microsoft о разнице двух дат советует делить дни на 7 и форматировать результат как число с двумя знаками[5].
| Задача | Формула | Результат |
|---|---|---|
| дней между 01.03.2026 и 15.11.2026 | =B2-A2 | 259 |
| то же с обеими границами | =B2-A2+1 | 260 |
| полных недель | =ЦЕЛОЕ((B2-A2)/7) | 37 |
| часов между 06.11.2026 9:00 и 07.11.2026 18:30 | =(D4-C4)*24 | 33,5 |
| то же в виде часов и минут | формат [ч]:мм | 33:30 |
| дней до 01.01.2027 на 06.11.2026 | =ДАТА(2027;1;1)-СЕГОДНЯ() | 56 |
Полные недели между датами даёт ЦЕЛОЕ от разности, делённой на 7[3]. Разницу двух моментов времени в часах показывает формат [ч]:мм или умножение разности на 24: без квадратных скобок формат часов сбросится после суток.
Дни до срока считают от функции СЕГОДНЯ: формула пересчитывается каждый день, и отрицательное число означает просрочку. Подробно о пересчёте текущей даты — на странице о функции СЕГОДНЯ и обновлении даты в ячейке.
Посчитайте разность дат в тренажёре: урок меняет даты и проверяет, что формула не путает начальную и конечную дату.
Именно поэтому ошибки формата требуют отдельного разбора: формула верна, а в ячейке видно не то.
Ошибки разности дат: дата вместо числа, текст и минус
Разность дат чаще всего «ломается» не в формуле, а в формате ячейки или в типе исходных данных. Таблица собирает три частых сбоя на наших данных[3].
| Что видно | Причина | Что сделать |
|---|---|---|
| дата вроде 15.09.1900 вместо числа | ячейке достался формат даты | поставить общий или числовой формат |
| #ЗНАЧ! | текст не читается как дата | ввести дату заново или через ДАТА |
| отрицательное число | даты перепутаны местами | поменять аргументы или взять ABS |
| 1,3958 вместо часов | разность моментов времени | умножить на 24 или задать [ч]:мм |
Дата вместо числа — не ошибка вычисления, а вопрос отображения. Результат 259 просто показан в формате даты, и Excel выводит его как день в начале 1900 года. Справка Google о DATEDIF советует в таком случае сменить формат ячейки на числовой[6], и в Excel решение то же.
Текстовая дата из выгрузки выглядит как обычная, но ЕТЕКСТ для неё возвращает ИСТИНА. ДНИ переведёт такую дату сама, а для вычитания её лучше заранее превратить в число через ДАТАЗНАЧ. Если даты из выгрузки содержат лишние пробелы или точки в конце, даже ДНИ может не прочитать их и вернёт #ЗНАЧ! — тогда строки сначала чистят.
Остаётся понять, когда простая разность дат даёт не тот ответ, который нужен.
Когда вычитание дат не подойдёт
Вычитание дат не подойдёт для полных месяцев и лет: оно даёт только дни, и месяцы разной длины в нём не видны. Каждое условие ниже проверяется до того, как писать формулу. Разность дат в Excel считает только календарные дни, а все остальные единицы получают из неё делением или другими функциями.
- Если нужны полные месяцы или годы — возраст, стаж, срок аренды, — разность в днях не поможет: нужна функция с единицами, о ней сказано выше во врезке «Не путать».
- Если нужны только будние дни, вычитание посчитает и выходные — для графиков есть страница о количестве будних дней в периоде.
- При датах раньше 1 января 1900 года вычитание не работает: такие значения выходят за пределы дат для вычислений[7].
- Если в данных смешаны даты и текст, результат части строк окажется ошибкой — сначала проверьте тип ячеек.
- Если срок задан в месяцах, а не в днях, разность дат его не посчитает: дату окончания получают сдвигом на месяцы, а не вычитанием.
Для отчётов с датами формат ответа задают заранее, чтобы разность дат в Excel сразу показывала число: числовой для дней, [ч]:мм для часов. Коды формата разобраны на странице о числовых форматах ячеек. Остальные группы формул собраны в каталоге формул Excel для работы с датами.
Частые вопросы
Как посчитать количество дней между датами в Excel?
Количество дней между датами даёт вычитание =B2-A2 или функция =ДНИ(B2;A2). Для 01.03.2026 и 15.11.2026 обе вернут 259[3].
Как посчитать дни включительно?
Дни включительно считают прибавлением единицы: =B2-A2+1. Без неё разность дат в Excel не учитывает первый день, и 260 дней превратятся в 259[3].
Почему вместо числа дней появилась дата?
Вместо числа дней дата появляется, если у ячейки формат даты: 259 дней показываются как 15.09.1900[3]. Если не сменить формат, вся колонка будет выглядеть как даты начала 1900 года. Поставьте общий или числовой формат — появится число.
Как посчитать разницу между датами в часах?
Разницу в часах даёт разность моментов времени, умноженная на 24, или формат [h]:mm[5]. Для 06.11.2026 9:00 и 07.11.2026 18:30 получится 33,5 часа.
Чем ДНИ отличается от вычитания?
ДНИ отличается от вычитания порядком аргументов: первой идёт конечная дата. Текстовые даты функция переводит сама, как ДАТАЗНАЧ[1].
Можно ли посчитать разность дат в Google Таблицах?
Да, в Google Таблицах даты вычитают так же: конечная минус начальная. Если результат показан как дата, справка Google советует числовой формат[6].
Источники
- [1] Microsoft, справка «Функция ДНИ», 2026
- [2] Microsoft, справка «Вычитание дат в Excel для Mac», 2026
- [3] Редакция «Excel-тренажёра», проверка «разность дат 01.03.2026–15.11.2026, недели и часы» в движке тренажёра, 2026
- [4] Microsoft, справка «Вычисление возраста», 2026
- [5] Microsoft, справка «Calculate the difference between two dates», 2026
- [6] Google, справка «DATEDIF», 2026
- [7] Microsoft, «Технические характеристики и ограничения Microsoft Excel», 2026