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

Быстрые ссылки
- Подсчёт всех дней между двумя датами
- Подсчёт рабочих дней между датами
Коротко о терминах
- Дата: значение, воспринимаемое Google Sheets как календарная точка во времени.
- Рабочие дни: здесь — рабочие дни без субботы и воскресенья; праздники можно дополнительно исключить.
Подсчёт всех дней между двумя датами
Если требуется просто узнать разницу в календарных днях, используйте функции DAYS или DATEDIF. Они учитывают високосные года и возвращают разницу в днях (полных суток) между двумя датами.
Использование DAYS
Функция DAYS удобна и проста. Она возвращает количество дней между двумя датами. Формат записи — DAYS(датаконца, датаначала).
Вставьте в любую пустую ячейку формулу, например:
=DAYS("01/01/2019","01/01/2018")Замените строки дат на свои. Обратите внимание: порядок аргументов важен — сначала дата конца, затем дата начала. Если поставить в обратном порядке, функция вернёт отрицательное число.
Пример выше показывает разницу 365 дней между 01/01/2018 и 01/01/2019 (в примере использован формат DD/MM/YYYY). В локалях формата даты, отличных от приведённого, используйте формат даты по умолчанию для вашей локали. В российских настройках обычно применяется формат DD.MM.YYYY.
Чтобы сменить локаль листа: Файл > Настройки таблицы и измените значение «Локаль» на нужную.
Вы также можете использовать ссылки на ячейки вместо явных дат:
=DAYS(A1, A11)Где A1 и A11 — ячейки с датами.
В примере выше разница 29 дней получена из ячеек E6 и F10.
Использование DATEDIF
DATEDIF возвращает числа в днях, месяцах или годах между двумя датами. Формат записи — DATEDIF(датаначала, датаконца, единица).
Отличие от DAYS: DATEDIF требует сначала дату начала, затем дату конца.
Пример с явными датами:
=DATEDIF("01/01/2018","01/01/2019","D")“D” означает дни. Другие опции: “M” — месяцы, “Y” — годы.

Пример с ссылками на ячейки:
=DATEDIF(A7,G7,"D")
Важно: DATEDIF иногда не отображает подсказки в редакторе формул, но работает корректно.
Подсчёт рабочих дней между двумя датами
Если нужно учитывать только рабочие дни (без субботы и воскресенья) и при необходимости исключать праздники, используйте NETWORKDAYS.
NETWORKDAYS по умолчанию считает рабочими днями дни с понедельника по пятницу. Формат записи — NETWORKDAYS(датаначала, датаконца, [список_праздников]).
Пример с функцией DATE, которая создаёт дату из года, месяца и дня (год, месяц, день):
=NETWORKDAYS(DATE(2018,01,01),DATE(2019,01,01))Использование DATE удобно, когда хотите явно задать части даты и избежать двусмысленности формата.

Вы также можете использовать ссылки на ячейки:
=NETWORKDAYS(A6,B6)Если нужно исключить конкретные даты (праздники), добавьте список дат в третьем аргументе как массив или диапазон ячеек. Пример с диапазоном:
=NETWORKDAYS(A6,B6,{B6:D6}Где B6:D6 — набор ячеек с праздниками.
Пример с явными датами через DATE:
=NETWORKDAYS(E11,F13,{DATE(2019,11,18),DATE(2019,11,19)})В примере выше между двумя датами по стандартному расчёту было 11 рабочих дней (в ячейке B2). При исключении одного или нескольких праздников итог уменьшился на 2–3 дня в ячейках B3 и B4.
Важно: NETWORKDAYS всегда исключает субботу и воскресенье. Если в вашем графике другие выходные (например, пятница и суббота), используйте NETWORKDAYS.INTL, где можно задать шаблон выходных.
Дополнительные приёмы и рекомендации
Как избежать ошибок с форматом дат
- Вводите даты через DATE(год, месяц, день), чтобы избежать ошибок локали.
- Локаль листа задаёт формат ввода и отображения дат. В России обычно формат DD.MM.YYYY.
- Если Google Sheets не распознаёт строку как дату, используйте VALUE или DATEVALUE для преобразования.
NETWORKDAYS.INTL для нестандартных выходных
Если в вашей компании выходными являются пятница и суббота или только воскресенье, используйте NETWORKDAYS.INTL:
=NETWORKDAYS.INTL(A1,B1,"0000011")Где строка шаблона определяет выходные: 1 — выходной, 0 — рабочий; первая цифра — понедельник.
Проверка диапазона праздников
- Убедитесь, что диапазон праздников содержит корректные даты (тип ячеек — «Дата»).
- Пустые ячейки в списке праздников игнорируются.
Ментальные модели и heuristics
- Если нужен «чистый» календарный интервал — используйте DAYS или DATEDIF.
- Если нужны рабочие дни по стандартному календарю — NETWORKDAYS.
- Если выходные отличаются — NETWORKDAYS.INTL.
- Для устойчивых отчётов всегда храните список праздников отдельно и ссылкой добавляйте в формулы.
Когда эти формулы не подходят
- Если нужно учитывать частичные рабочие дни (смены, часы) — помещайте расчёт времени в отдельные столбцы и используйте разницу дат/времён с учётом формата времени.
- Для расчёта рабочих часов с учётом смен и перерывов требуются скрипты (Apps Script) или более детализированные формулы.
Шпаргалка по формулам (быстрый обзор)
- DAYS(датаконца, датаначала) — возвращает целое число дней.
- DATEDIF(датаначала, датаконца, “D”) — дни; “M” — месяцы; “Y” — годы.
- NETWORKDAYS(датаначала, датаконца, [праздники]) — рабочие дни, выходные: суббота/воскресенье.
- NETWORKDAYS.INTL(датаначала, датаконца, [выходные], [праздники]) — настраиваемые выходные.
- DATE(год, месяц, день) — создаёт дату из чисел.
Примеры — на практике
- Количество дней между 10 февраля 2020 и 20 марта 2020 (дни):
=DAYS("03/20/2020","02/10/2020")- Количество месяцев между 01.01.2019 и 01.06.2019:
=DATEDIF("01/01/2019","01/06/2019","M")- Рабочие дни между 01.07.2020 и 31.07.2020, исключая два праздника в ячейках H1:H2:
=NETWORKDAYS(DATE(2020,7,1),DATE(2020,7,31),H1:H2)Чек-листы по ролям
Разработчик/аналитик:
- Проверить локаль листа.
- Хранить праздники в отдельном диапазоне.
- Использовать DATE() при автогенерации дат.
Бизнес-аналитик:
- Уточнить, что считать «рабочими днями».
- Предоставить список официальных праздников.
- Проверить временные зоны и смены, если важны.
Менеджер проекта:
- Убедиться, что отчёты используют единый лист с праздниками.
- Попросить валидацию на тестовых датах (см. тесты ниже).
Критерии приёмки
- Формулы возвращают ожидаемые значения на контрольных датах (включая високосный год).
- При добавлении праздников итог изменяется корректно.
- В репорт попадают только рабочие дни, если это было требованием.
- Формулы читаемы и документированы в примечаниях к листу.
Тесты и сценарии приёмки
- Тест: период 2019-01-01 — 2019-01-31
- Ожидание: DAYS = 30; NETWORKDAYS = количество рабочих дней в январе без праздников.
- Тест: период пересекает 29 февраля високосного года (например, 2019–2020)
- Ожидание: учитывается дополнительный день.
- Тест: список праздников содержит даты вне периода
- Ожидание: лишние даты игнорируются.
- Тест: нестандартные выходные через NETWORKDAYS.INTL
- Ожидание: выходные учитываются согласно шаблону.
Мини-методология внедрения в отчётность
- Создать отдельный лист Holidays и заполнить официальные даты.
- На основном листе ссылаться на диапазон Holidays в NETWORKDAYS.
- Автоматически проверять локаль и приводить даты через DATE().
- Документировать формулы рядом с ячейками (комментарий ячейки).
Дерево решений (быстрое)
flowchart TD
A[Нужен подсчёт дней между датами?] --> B{Только календарные дни}
B -- Да --> C[Использовать DAYS или DATEDIF]
B -- Нет --> D{Требуются только рабочие дни}
D -- Да --> E{Выходные: суб+вс?}
E -- Да --> F[NETWORKDAYS]
E -- Нет --> G[NETWORKDAYS.INTL]
D -- Нет --> H[Рассмотреть расчёт рабочих часов или скрипты]Частые ошибки и как их избежать
- Неправильный порядок аргументов в DAYS приводит к отрицательным значениям.
- DATEDIF требует сначала дату начала, затем дату конца.
- Строковые даты зависят от локали; используйте DATE() для стабильности.
Важно: всегда проверяйте результат на нескольких контрольных примерах, включая високосные годы.
Короткое резюме
- Для всех календарных дней используйте DAYS или DATEDIF.
- Для рабочих дней используйте NETWORKDAYS или NETWORKDAYS.INTL (для кастомных выходных).
- Храните список праздников отдельно и ссылкой подключайте к формуле.
- Для сложных сценариев (смены, часы) используйте Apps Script или детальные таблицы с временными метками.
Итог: выбор функции зависит от того, учитываете ли вы выходные и праздники. Простые задачи решаются одной строкой формулы; для корпоративной отчётности лучше вынести праздники в отдельный лист и стандартизировать ввод дат.
Похожие материалы
Кадр за плечом: советы по съёмке OTS
Исправление цветовых проблем в Photoshop
Регулировка яркости и контраста в Photoshop
Исправить серую опцию «Приостановить обновления» в Windows 11
Как убрать дрожание в видео со смартфона