Как посчитать количество дней между датами в Google Таблицах

Обсудить
Как посчитать количество дней между датами в Google Таблицах
Реклама. АО «ТаймВэб». erid: 2W5zFHewtAD

Срок доставки заказа, стаж сотрудника, длительность рекламной кампании, количество дней до дедлайна – все эти задачи сводятся к одному действию: нужно узнать, сколько времени прошло между двумя датами. Google Таблицы решают ее несколькими способами, причем выбор зависит от того, какой результат вам нужен на выходе. Иногда достаточно голого числа дней, в других случаях требуется период вида «2 года 4 месяца», обратный отсчет до события или подсчет исключительно рабочих дней без выходных.

Для всех примеров возьму простую таблицу: в столбце A находятся начальные даты, в столбце B – конечные, а результат будет выводиться в столбце C. В первой строке с данными, то есть в строке 2, стоят даты 01.03.2026 и 15.03.2026. Отталкиваясь от этой структуры, разберем каждый способ по порядку.

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

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

=B2-A2

Использование простого вычитания для подсчета дней между датами в Google Таблицах

Формула возвращает 14 – именно столько дней прошло с 1 по 15 марта. Однако на этом этапе многие сталкиваются с неожиданным поведением таблицы, поэтому есть несколько моментов, которые стоит учитывать:

  • Вместо числа отображается дата. Если в ячейке появилось что-то вроде 14.01.1900, значит, она унаследовала формат даты от исходных ячеек. Выделите ее, разверните меню «Формат» – «Числа» и выберите пункт «Число». Данные при этом не меняются, корректируется только их отображение.Преобразование в число для подсчета дней между датами в Google Таблицах

  • Крайняя дата не учитывается. Формула считает промежуток между датами, а не количество затронутых дней. Если 15 марта тоже должно попасть в расчет, например при подсчете дней аренды, прибавьте единицу: =B2-A2+1.Редактирование формулы для подсчета дней между датами в Google Таблицах

  • Порядок дат влияет на знак. Когда начальная дата оказывается позже конечной, результат становится отрицательным. Убрать минус помогает функция ABS, которая возвращает модуль числа: =ABS(B2-A2).

Есть и отдельная функция ДНИ, выполняющая ровно то же действие, но с обратным порядком аргументов – сначала указывается конечная дата, затем начальная. Запись =ДНИ(B2;A2) вернет те же 14 дней. Использовать ее имеет смысл разве что для наглядности формулы, поскольку обычное вычитание короче.

Способ 2: Функция РАЗНДАТ для лет и месяцев

Голое число дней подходит не всегда. Когда речь идет о стаже, возрасте или сроке действия договора, нужен результат в полных годах или месяцах. За это отвечает функция РАЗНДАТ, у которой третий аргумент задает единицу измерения.

=РАЗНДАТ(A2;B2;"D")

=РАЗНДАТ(A2;B2;"M")

=РАЗНДАТ(A2;B2;"Y")

Использование функции РАЗНДАТ для подсчета дней между датами в Google Таблицах

Первая формула вернет 14 дней, вторая – 0 полных месяцев, третья – 0 полных лет, поскольку в нашем примере период слишком короткий. Всего функция понимает шесть единиц измерения, которые указываются в кавычках:

  • "D" – полное количество дней между датами;
  • "M" – количество полных месяцев;
  • "Y" – количество полных лет;
  • "MD" – дни без учета месяцев и лет, то есть остаток после вычитания полных месяцев;
  • "YM" – месяцы без учета лет;
  • "YD" – дни без учета лет.

Регистр букв роли не играет, поэтому "d" сработает точно так же, как "D". Отдельно обращу внимание на два ограничения. Начальная дата обязана быть раньше конечной, иначе вместо результата появится ошибка #ЧИСЛО!. Кроме того, месяц или год засчитывается как полный только тогда, когда число в конечной дате не меньше числа в начальной: для периода с 30.09.2025 по 28.02.2026 функция вернет 4 месяца, хотя февраль на этом и заканчивается.

Три последние единицы измерения выглядят экзотично ровно до того момента, пока не понадобится вывести период человекочитаемой строкой. Собирается такая конструкция объединением нескольких вызовов РАЗНДАТ через амперсанд.

=РАЗНДАТ(A2;B2;"Y")&" г. "&РАЗНДАТ(A2;B2;"YM")&" мес. "&РАЗНДАТ(A2;B2;"MD")&" дн."

Улучшение формулы с РАЗНДАТ для подсчета дней между датами в Google Таблицах

Здесь первая часть выдает полные годы, вторая – остаток в месяцах, третья – остаток в днях. Для даты рождения в ячейке A2 возраст человека на текущий момент считается той же функцией с подстановкой сегодняшнего числа: =РАЗНДАТ(A2;СЕГОДНЯ();"Y"). Единственный недостаток такого вывода – единицы измерения не склоняются, из-за чего получается «1 г. 1 мес.» вместо «1 год 1 месяц». Сокращения решают проблему проще всего, хотя при желании правильную форму слова можно подставлять через вложенную функцию ЕСЛИ.

Способ 3: Расчет относительно текущей даты

Задачи с дедлайнами устроены иначе: конечная дата известна, а вторая точка отсчета – сегодняшний день, который меняется сам. Подставлять текущее число вручную бессмысленно, для этого существует функция СЕГОДНЯ без аргументов.

=B2-СЕГОДНЯ()

Использование функции СЕГОДНЯ для подсчета дней между датами в Google Таблицах

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

=ЕСЛИ(B2<СЕГОДНЯ();"Просрочено на "&(СЕГОДНЯ()-B2)&" дн.";"Осталось "&(B2-СЕГОДНЯ())&" дн.")

Добработка формулы с использованием СЕГОДНЯ для подсчета дней между датами в Google Таблицах

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

При работе с текущей датой полезно помнить о нескольких особенностях:

  • СЕГОДНЯ пересчитывается при каждом изменении в таблице. На небольших файлах это незаметно, но сотни таких формул заметно замедляют документ. Выход простой – вынести СЕГОДНЯ в одну ячейку, а в остальных формулах ссылаться на нее абсолютной ссылкой вида $A$1.
  • Функция ТДАТА решает похожую задачу, но возвращает дату вместе со временем. Для подсчета дней она избыточна, зато пригодится там, где важны часы и минуты.
  • Результат зависит от часового пояса файла, а не вашего компьютера. Если СЕГОДНЯ упорно показывает вчерашнее число, проверьте настройки через меню «Файл» – «Настройки», где задаются региональные параметры вместе с часовым поясом.
  • Зафиксировать дату можно сочетанием клавиш Ctrl+; – оно вставляет текущее число как обычное значение, которое больше никогда не изменится. Удобно для отметок о фактическом выполнении задачи.

Способ 4: Разница между датами со временем

Выгрузки из CRM, систем учета рабочего времени и почтовых сервисов обычно содержат не просто дату, а полную отметку вида 01.03.2026 09:30:00. Вычитание таких значений дает дробное число, которое ставит пользователей в тупик.

=B2-A2

Примеры с данными со временем для подсчета дней между датами в Google Таблицах

Вместо ожидаемых 14 в ячейке появится, к примеру, 14,25. Ничего странного тут нет: целая часть – это дни, дробная – доля суток. Значение 0,25 соответствует шести часам, 0,5 – двенадцати. Дальше все зависит от того, что именно требуется получить.

Для перевода результата в часы умножьте разницу на 24, а для перевода в минуты – на 1440.

=(B2-A2)*24

Умножение на часы для подсчета дней между датами в Google Таблицах

Если нужен привычный вид «часы:минуты», разверните меню «Формат» – «Числа» и выберите пункт «Продолжительность». В отличие от формата времени, он корректно отображает значения больше суток, тогда как обычный формат времени после 24 часов обнуляет счетчик и показывает 03:00 вместо 27:00. Когда время в расчете не нужно вовсе, отбросьте его функцией ЦЕЛОЕ, обернув ей каждую дату: =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2).

Способ 5: Только рабочие дни

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

=ЧИСТРАБДНИ(A2;B2;$F$2:$F$4)

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

Абсолютные ссылки со знаками доллара нужны для того, чтобы при протягивании формулы вниз диапазон с праздниками не сместился. Подробный разбор всех аргументов функции вместе с примерами уже есть в отдельном материале на нашем сайте. Написан он на примере Microsoft Excel, однако синтаксис в Google Таблицах точно такой же.

Читайте также в Комьюнити: Детальный разбор функции ЧИСТРАБДНИ в Microsoft Excel

Дополнительные примеры с ЧИСТРАБДНИ для подсчета дней между датами в Google Таблицах

Дополню картину тремя моментами, которые касаются именно Google Таблиц. Встроенного календаря российских праздников тут нет, поэтому список нерабочих дней придется вести вручную – проще один раз завести отдельный лист с производственным календарем на год и ссылаться на него из всех формул. Для нестандартного графика работы существует ЧИСТРАБДНИ.МЕЖД, у которой выходные задаются либо числовым кодом, либо строкой из семи нулей и единиц, где каждый символ отвечает за день недели начиная с понедельника. 

Обратную задачу решает функция РАБДЕНЬ: она прибавляет к дате заданное количество рабочих дней и возвращает конечную дату, что удобно при расчете сроков сдачи проекта.

Частые ошибки при расчете разницы дат

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

  • Ошибка #ЗНАЧ! говорит о том, что одно из значений таблица считает текстом, а не датой. Обычно так происходит после импорта из CSV или копирования с сайта. Признак заметен сразу: настоящие даты выравниваются по правому краю ячейки, текстовые – по левому. Исправляется функцией ДАТАЗНАЧ, которая превращает текстовую запись в полноценную дату.Использование функции ДАТАЗНАЧ для подсчета дней между датами в Google Таблицах

  • Лишние пробелы в начале или конце значения мешают преобразованию точно так же, при этом визуально ячейка выглядит совершенно нормально. Прогоните столбец через СЖПРОБЕЛЫ перед расчетом.

Читайте также в Комьюнити: Как найти и удалить лишние пробелы в Google Таблицах

Удаление лишних пробелов для подсчета дней между датами в Google Таблицах

  • Разница в один день обычно объясняется тем, что крайняя дата не учитывается при вычитании. Решается прибавлением единицы, о чем говорилось в первом способе.
  • Ошибка #ЧИСЛО! появляется только у РАЗНДАТ и означает, что даты перепутаны местами. Поменяйте аргументы или заранее оберните их в МИН и МАКС, чтобы порядок определялся автоматически.
  • Результат не сходится с расчетом бухгалтерии. В банковской практике месяц условно приравнивают к 30 дням, а год – к 360, поэтому календарная разница там не применяется. Для таких вычислений предназначена функция ДНЕЙ360 с выбором американского или европейского метода, о которой у нас есть отдельная статья.

Читайте также в Комьюнити: Использование функции ДНЕЙ360 в Google Таблицах

Использование функции ДНЕЙ360 для подсчета дней между датами в Google Таблицах

Отдельно упомяну ситуацию с большими таблицами, где формулу приходится протягивать на тысячи строк. Обернув расчет в ARRAYFORMULA, вы получите столбец, который считает разницу сразу для всего диапазона и подхватывает новые записи автоматически: =ARRAYFORMULA(ЕСЛИ(A2:A<>"";B2:B-A2:A;"")). Проверка на пустое значение здесь нужна для того, чтобы в незаполненных строках не появлялись нули.

Заключение

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

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

Наши постоянные авторы и читатели делятся лайфхаками, основанными на личном опыте. Полная свобода самовыражения.

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте