Разница между значениями — одна из самых востребованных операций в Microsoft Excel и Google Таблицах. Без неё невозможно построить финансовые отчёты, рассчитать динамику продаж, проанализировать временные интервалы или даже просто сравнить два числа. Но несмотря на кажущуюся простоту, многие пользователи сталкиваются с ошибками: формулы возвращают неверный результат, отображают дату вместо числа или выдают загадочную надпись #ЗНАЧ!.
В этой статье мы разберём 5 способов вычисления разницы — от элементарного вычитания до специализированных функций вроде ДАТАРАЗН и ВРЕМРАЗН. Вы узнаете, как избежать типичных ошибок при работе с датами, временем и отрицательными значениями, а также научитесь автоматизировать расчёты с помощью условного форматирования. Даже если вы никогда раньше не работали с формулами, после прочтения сможете уверенно применять их на практике.
Особое внимание уделим трём ключевым сценариям:
- 📊 Разница между числами — для финансовых и статистических расчётов.
- 📅 Разница между датами — расчёт сроков, возраста, продолжительности проектов.
- ⏱️ Разница во времени — учёт рабочих часов, анализ временных интервалов.
Все примеры протестированы в Excel 2019–2026 и Google Таблицах, поэтому вы сможете повторить их независимо от версии программы. А в конце статьи вас ждёт FAQ с ответами на самые частые вопросы и полезные лайфхаки для ускорения работы.
1. Базовая формула разницы: простое вычитание
Начнём с самого очевидного — вычитания одного числа из другого. Этот метод работает для любых числовых данных: цен, количества товаров, температурных показателей и т.д. Формула выглядит так:
=A2-B2
Где:
- 📌
A2— ячейка с первым значением (уменьшаемое). - 📌
B2— ячейка со вторым значением (вычитаемое).
Например, если в A2 указана цена товара 1500 ₽, а в B2 — скидка 200 ₽, формула вернёт 1300 ₽. Но здесь есть два подводных камня:
- Если в ячейках
A2илиB2текст (например, "Цена:"), Excel выдаст ошибку#ЗНАЧ!. - При вычитании даты из даты или времени из времени результат может отобразиться в неожиданном формате (например, как число 45678 вместо "125 дней").
Чтобы избежать проблем, всегда проверяйте формат ячеек:
- Выделите диапазон с данными.
- Нажмите правой кнопкой →
Формат ячеек. - Выберите
Числовой,ДатаилиВремяв зависимости от типа данных.
☑️ Проверка перед вычитанием
2. Разница между датами: функция ДАТАРАЗН
Когда нужно посчитать количество дней между двумя датами (например, срок выполнения задачи или возраст человека), простого вычитания недостаточно. Excel предлагает специальную функцию:
=ДАТАРАЗН(начальная_дата; конечная_дата; единица_измерения)
Аргументы функции:
- 🗓️
начальная_дата— более ранняя дата (например,"01.01.2026"). - 🗓️
конечная_дата— более поздняя дата. - 📏
единица_измерения— как отображать результат:"d"— дни (по умолчанию)."m"— полные месяцы."y"— полные годы.
Примеры использования:
| Формула | Начальная дата | Конечная дата | Результат |
|---|---|---|---|
=ДАТАРАЗН("01.01.2026"; "31.01.2026"; "d") |
01.01.2026 | 31.01.2026 | 30 дней |
=ДАТАРАЗН("15.05.2000"; "15.05.2026"; "y") |
15.05.2000 | 15.05.2026 | 24 года |
=ДАТАРАЗН(A2; СЕГОДНЯ(); "m") |
01.03.2026 (в A2) | Текущая дата | 4 месяца (если сегодня 01.07.2026) |
⚠️ Внимание: Функция ДАТАРАЗН игнорирует время! Если вам нужно учитывать часы и минуты, используйте комбинацию ДАТАРАЗН + ВРЕМРАЗН (разберём далее).
А ещё ДАТАРАЗН может вернуть отрицательное значение, если начальная дата позже конечной. Чтобы этого избежать, добавьте проверку с ЕСЛИ:
=ЕСЛИ(ДАТАРАЗН(A2;B2;"d")<0; "Ошибка дат"; ДАТАРАЗН(A2;B2;"d"))
3. Разница во времени: функция ВРЕМРАЗН
Для расчёта интервалов между временными метками (например, длительности звонков, рабочих смен или производственных процессов) используйте функцию ВРЕМРАЗН. Её синтаксис:
=ВРЕМРАЗН(время_начала; время_конца; [формат])
Особенности функции:
- ⏰ Аргументы
время_началаивремя_концамогут быть:- текстовыми строками (
"9:00"), - десятичными числами (
0,375для 9:00), - ссылками на ячейки с временем.
- текстовыми строками (
- 📝 Необязательный аргумент
[формат]определяет единицу измерения результата:"h"— часы."m"— минуты."s"— секунды.
Примеры:
| Формула | Время начала | Время конца | Результат |
|---|---|---|---|
=ВРЕМРАЗН("9:00"; "17:30"; "h") |
9:00 | 17:30 | 8,5 часов |
=ВРЕМРАЗН(A2; B2; "m") |
12:15 (в A2) | 14:45 (в B2) | 150 минут |
=ВРЕМРАЗН(СЕГОДНЯ()+0,3; СЕГОДНЯ()+0,7; "h") |
7:12 (текущая дата + 7:12) | 16:48 (текущая дата + 16:48) | 9,6 часов |
⚠️ Внимание: Если время конца раньше времени начала (например, ВРЕМРАЗН("23:00"; "1:00")), Excel автоматически добавит 24 часа. Чтобы этого избежать, используйте условную логику:
=ЕСЛИ(B2
Эта формула корректно рассчитает разницу даже для ночных смен (например, с 23:00 до 7:00).
4. Разница в процентах: формула для анализа изменений
Часто требуется не просто узнать разницу между двумя числами, а оценить её в процентах. Например, на сколько выросли продажи или уменьшились расходы. Формула для расчёта процентной разницы:
=((новое_значение - старое_значение) / старое_значение) * 100%
Пример: если в январе продажи составили 50 000 ₽, а в феврале — 75 000 ₽, формула будет такой:
=((75000-50000)/50000)*100%
Результат: 50% (прирост продаж).
Чтобы избежать ошибки деления на ноль (если старое значение равно 0), добавьте проверку:
=ЕСЛИ(старое_значение=0; "Нет данных"; ((новое_значение-старое_значение)/старое_значение)*100%)
Также полезно использовать условное форматирование, чтобы автоматически подсвечивать положительные и отрицательные изменения:
- Выделите ячейки с процентной разницей.
- Перейдите на вкладку
Главная → Условное форматирование → Правила выделения ячеек. - Выберите
Больше чеми укажите0, задайте зелёный цвет. - Добавьте второе правило
Меньше чем0с красным цветом.
Как посчитать разницу в процентах между строками?
Если у вас таблица с данными по месяцам, и вы хотите увидеть процентное изменение для каждого месяца относительно предыдущего, используйте формулу:
=ЕСЛИ(B2=0; "—"; (B3-B2)/B2*100%)
Скопируйте её вниз по столбцу. Не забудьте отформатировать ячейки как процентные!
5. Автоматизация: динамическая разница с функциями СЕГОДНЯ и ТДАТА
Excel позволяет рассчитывать разницу относительно текущей даты или времени без ручного ввода. Для этого используйте:
- 📅
СЕГОДНЯ()— возвращает сегодняшнюю дату (обновляется при каждом открытии файла). - ⏰
ТДАТА()— возвращает текущие дату и время.
Примеры:
- 📌 Дни до дедлайна:
=ДАТАРАЗН(СЕГОДНЯ(); "31.12.2026"; "d") - 📌 Время с момента создания записи:
=ТДАТА()-A2(где вA2указана дата/время создания). - 📌 Возраст человека:
=ДАТАРАЗН("15.05.1990"; СЕГОДНЯ(); "y")
⚠️ Внимание: Функции СЕГОДНЯ() и ТДАТА() не обновляются в реальном времени! Они пересчитываются только при:
- открытии файла,
- изменении любой ячейки,
- нажатии
F9(принудительный пересчёт).
Если вам нужны данные с точностью до секунды, используйте VBA-макросы или Power Query.
Для автоматизации отчётов полезно комбинировать динамические функции с ЕСЛИ. Например, чтобы подсветить просроченные задачи:
=ЕСЛИ(ДАТАРАЗН(СЕГОДНЯ(); B2; "d")<0; "Просрочено"; "В срок")
6. Типичные ошибки и как их исправить
Даже опытные пользователи Excel сталкиваются с ошибками при расчёте разницы. Разберём самые распространённые и способы их решения:
| Ошибка | Причина | Решение |
|---|---|---|
#ЗНАЧ! |
В ячейках текст вместо чисел/дат. | Проверить формат ячеек или использовать ЗНАЧЕН() для преобразования текста в число. |
#ДЕЛ/0! |
Деление на ноль (например, в процентной разнице). | Добавить проверку ЕСЛИ(знаменатель=0; "—"; формула). |
Неправильный формат результата (например, 45678 вместо "125 дней"). |
Excel хранит даты как числа (количество дней с 01.01.1900). | Изменить формат ячейки на Дата или Общий. |
| Отрицательная разница во времени. | Время конца раньше времени начала без учёта суток. | Использовать ЕСЛИ(B2 |
Ещё одна частая проблема — некорректное округление. Например, функция ДАТАРАЗН с аргументом "m" возвращает полные месяцы, игнорируя дни. Если вам нужно точное количество месяцев с учётом дней, используйте комбинацию:
=ДАТАРАЗН(A2; B2; "y")*12 + ДАТАРАЗН(A2; B2; "ym")
Где:
"y"— полные годы."ym"— оставшиеся месяцы после вычитания полных лет.
Для округления результата до целого числа добавьте ОКРУГЛ():
=ОКРУГЛ(ДАТАРАЗН(A2; B2; "y")*12 + ДАТАРАЗН(A2; B2; "ym"); 0)
FAQ: Ответы на частые вопросы
🔹 Как посчитать разницу между двумя времени с учётом перерыва?
Если у вас есть время начала (A2), время конца (B2) и продолжительность перерыва (C2), используйте формулу:
=ВРЕМРАЗН(A2; B2; "h") - C2
Например, для смены с 9:00 до 18:00 с перерывом 1 час результат будет 8 часов.
🔹 Почему формула =B2-A2 возвращает дату вместо числа?
Excel интерпретирует содержимое ячеек как даты. Чтобы исправить:
- Выделите ячейку с результатом.
- Нажмите
Ctrl+1(или правой кнопкой →Формат ячеек). - Выберите формат
ОбщийилиЧисловой.
🔹 Можно ли посчитать разницу между датами без выходных?
Да, используйте функцию ЧИСТРАБДНИ():
=ЧИСТРАБДНИ(начальная_дата; конечная_дата; [праздники])
Необязательный аргумент [праздники] — диапазон с датами праздников. Например:
=ЧИСТРАБДНИ("01.01.2026"; "31.01.2026"; D2:D10)
Где D2:D10 — список праздничных дней.
🔹 Как вычесть 30 дней из текущей даты?
Используйте простую формулу:
=СЕГОДНЯ()-30
Или для конкретной даты:
=A2-30
Результат автоматически отформатируется как дата.
🔹 Почему ДАТАРАЗН возвращает ошибку #ИМЯ??
Эта ошибка появляется в Google Таблицах, где функции ДАТАРАЗН нет. Используйте альтернативу:
=DATEDIF(A2; B2; "d")
Или для месяцев/лет:
=DATEDIF(A2; B2; "m")
=DATEDIF(A2; B2; "y")