Расчёт процентной разницы между двумя числами в Excel: формулы, примеры и лайфхаки

Работаете с прайс-листами, анализируете динамику цен или просто хотите понять, на сколько процентов изменилась стоимость товара? Microsoft Excel предлагает несколько способов быстро вычислить разницу в процентах между двумя цифрами — но не все они одинаково точны. Ошибки в формулах могут привести к искажённым результатам: например, если перепутать местами начальную и конечную цену, процентное изменение покажет не рост, а падение (или наоборот).

В этой статье разберём 3 основных метода расчёта процентной разницы — от базовой формулы до универсального решения для любых случаев (включая отрицательные значения). Также вы узнаете, как автоматизировать процесс с помощью условного форматирования, чтобы визуально выделять рост и падение цен, и почему иногда Excel показывает ошибку #ДЕЛ/0! вместо результата.

Если вам нужно сравнить цены в динамике — например, январь 2026 vs январь 2026, или стоимость товара у разных поставщиков — без процентного анализа не обойтись. Но важно понимать: процентная разница и процентное изменение — это не одно и то же. Первая показывает относительное отличие между двумя значениями, а второе — динамику роста или снижения. Мы разберём оба варианта с примерами из реальных задач (торговля, бухгалтерия, маркетинг).

1. Базовая формула: процентное изменение между двумя числами

Самый простой способ посчитать, на сколько процентов изменилась цена — использовать формулу:

= (Новая_цена - Старая_цена) / Старая_цена * 100%

Эта формула показывает процентное изменение (увеличение или уменьшение) относительно исходного значения. Например, если цена выросла с 1000 до 1200 рублей, расчёт будет таким:

= (1200 - 1000) / 1000 * 100% → 20%

⚠️ Внимание: Если старая цена равна нулю, Excel вернёт ошибку #ДЕЛ/0!. Это логично: делить на ноль невозможно. В таких случаях используйте функцию ЕСЛИОШИБКА:

=ЕСЛИОШИБКА((B2-A2)/A2*100%; "Нет данных")

Где:

  • 📌 A2 — ячейка со старой ценой (базовое значение)
  • 📌 B2 — ячейка с новой ценой (текущее значение)
  • 📌 "Нет данных" — текст, который появится вместо ошибки

2. Процентная разница vs процентное изменение: в чём отличие?

Многие путают эти понятия, но они решают разные задачи:

  • 🔹 Процентное изменение показывает динамику (на сколько % выросла или упала цена). Формула: (Новое - Старое) / Старое * 100%.
  • 🔹 Процентная разница показывает относительное отличие между двумя значениями, независимо от порядка. Формула: =АБС(Новое - Старое) / ((Новое + Старое)/2) * 100%.

Пример: если цена изменилась с 500 до 700 рублей, процентное изменение составит +40%, а процентная разница — ~33,3%. Разница важна, когда нужно сравнить два значения без привязки к порядку (например, цены у двух поставщиков).

В большинстве бизнес-задач используется именно процентное изменение, так как оно показывает направление динамики (рост или падение). Процентная разница актуальна для статистических отчётов, где важен модуль отличия, а не его знак.

📊 Какой тип расчёта вы используете чаще?
Процентное изменение
Процентная разница
Не знаю разницы
Другой вариант

3. Универсальная формула для любых случаев (включая отрицательные цены)

Если в ваших данных встречаются отрицательные значения (например, убытки или кредитовые сальдо), базовая формула может дать сбой. В этом случае используйте универсальный вариант:

=ЕСЛИ(A2=0; "Деление на 0"; (B2-A2)/A2*100%)

Но для отрицательных чисел лучше применить модифицированную формулу, которая учитывает знак изменения:

=ЕСЛИ(A2=0; "Ошибка"; ЕСЛИ(B2>A2; (B2-A2)/ABS(A2)*100%; (A2-B2)/ABS(A2)*100%))

Эта формула:

  • 🔢 Автоматически определяет, выросла цена или упала.
  • 🔢 Корректно работает с отрицательными значениями (например, если старая цена была -500, а новая -300).
  • 🔢 Возвращает текст "Ошибка", если делитель равен нулю.

Критичный нюанс: при работе с отрицательными ценами процентное изменение может превышать 100% — это нормально. Например, если цена изменилась с -100 до 200, рост составит 300% (так как (200 - (-100)) / 100 * 100% = 300%).

4. Автоматизация: условное форматирование для визуализации изменений

Чтобы быстро увидеть, где цены выросли, а где упали, используйте условное форматирование:

  1. Выделите ячейки с результатами процентного изменения.
  2. Перейдите на вкладку Главная → Условное форматирование → Правила выделения ячеек → Больше....
  3. Создайте два правила:
    • 🟢 Для роста цены (значение > 0): зелёный фон.
    • 🔴 Для падения цены (значение < 0): красный фон.

Пример настройки:

УсловиеФорматПример
Значение > 0Зелёный фон, чёрный текст+25%
Значение < 0Красный фон, белый текст-15%
Значение = 0Серый фон0%

⚠️ Внимание: Если в ячейках отображаются проценты с знаком "%", но Excel воспринимает их как текст (например, при импорте данных), используйте функцию ЗНАЧЕН для преобразования:

=ЗНАЧЕН(ПОДСТАВИТЬ(B2; "%"; ""))/100

Убедитесь, что ячейки имеют процентный формат|

Проверьте отсутствие текстовых значений в числовых столбцах|

Используйте ЕСЛИОШИБКА для обработки делений на ноль|

Сравните результаты с ручным расчётом для 2-3 строк-->

5. Распространённые ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при расчёте процентной разницы. Вот самые частые:

  1. 🔄 Перепутан порядок чисел: Если в формуле (B2-A2)/A2 поменять A2 и B2 местами, результат будет неверным. Например, (1000-1200)/1200 даст -16,67% вместо +20%.
  2. 🚫 Игнорирование нулевых значений: Деление на ноль — частая причина ошибок. Всегда добавляйте проверку ЕСЛИ или ЕСЛИОШИБКА.
  3. 📉 Неучёт отрицательных цен: Если в данных есть убытки (например, -500), стандартная формула может дать нелогичный результат. Используйте модифицированный вариант из раздела 3.
  4. 🔢 Неправильный формат ячеек: Excel может воспринимать числа как текст (например, если они импортированы из CSV). Проверяйте формат с помощью функции ТИП:
    =ТИП(B2)

    Если результат не 1 (число), данные нужно преобразовать.

💡 Полезный совет: Чтобы избежать ошибок, создайте тестовую таблицу с известными значениями (например, рост с 100 до 150 должен дать +50%). Сравните результаты формул с ручным расчётом.

Что делать, если формула возвращает #ЗНАЧ!?

Ошибка #ЗНАЧ! появляется, когда Excel не может распознать данные как числа. Решения:

1. Удалите пробелы: =ПЕЧСИМВ(B2).

2. Замените запятые на точки (если данные импортированы из европейских источников): =ПОДСТАВИТЬ(B2; ","; ".").

3. Преобразуйте текст в число: =ЗНАЧЕН(B2).

6. Продвинутый уровень: динамический расчёт с помощью Power Query

Если вам нужно регулярно сравнивать цены в больших таблицах (например, ежемесячные отчёты), ручной ввод формул неэффективен. В этом случае поможет Power Query — инструмент для автоматизации обработки данных.

Алгоритм действий:

  1. Импортируйте данные в Power Query: Данные → Получить данные → Из таблицы/диапазона.
  2. Добавьте пользовательский столбец с формулой процентного изменения:
    = ([Новая_цена] - [Старая_цена]) / [Старая_цена]
  3. Умножьте результат на 100, чтобы получить проценты.
  4. Загрузите данные обратно в Excel.
  5. Преимущества Power Query:

    • ⚡ Автоматическое обновление при изменении исходных данных.
    • 🔄 Возможность объединять данные из нескольких источников (например, прайсы разных поставщиков).
    • 📊 Легко добавлять дополнительные вычисления (например, среднюю цену по категории).

    ⚠️ Внимание: Power Query доступен в Excel 2016 и новее. В старых версиях используйте надстройку Power Query (бесплатная загрузка с сайта Microsoft).

    7. Практические примеры: расчёт процентной разницы для бизнеса

    Разберём реальные кейсы, где пригодится расчёт процентной разницы:

    Пример 1: Анализ прайс-листа поставщика

    У вас есть цены на товары от поставщика в январе и феврале. Нужно найти товары, которые подорожали больше чем на 10%:

    =ЕСЛИ((B2-A2)/A2>0,1; "Подорожал >10%"; "")

    Пример 2: Контроль маржи

    Вы продаёте товар по 1500 рублей, а закупаете по 1000. Маржа в процентах:

    = (1500 - 1000) / 1500 * 100% → 33,3%

    ⚠️ Обратите внимание: здесь в знаменателе стоит цена продажи, а не закупки!

    Пример 3: Сравнение курсов валют

    Курс доллара вырос с 75 до 90 рублей. Процентное изменение:

    = (90 - 75) / 75 * 100% → 20%

    Пример 4: Анализ скидок

    Товар стоил 2000 рублей, теперь продаётся за 1600. Размер скидки в процентах:

    = (2000 - 1600) / 2000 * 100% → 20%

    📌 Важно: В маркетинге часто используют термин "процент скидки", но по сути это то же процентное изменение, только с обратным знаком.

    FAQ: Частые вопросы о расчёте процентной разницы в Excel

    🔹 Почему моя формула показывает #ДЕЛ/0!, хотя в ячейке есть число?

    Ошибка #ДЕЛ/0! появляется, если делитель равен нулю или Excel воспринимает ячейку как пустую. Проверьте:

    • 🔸 Формат ячейки (возможно, там текст вместо числа).
    • 🔸 Наличие пробелов или непечатаемых символов (используйте =ПРОБЕЛЫ(A2)).
    • 🔸 Если делитель действительно ноль, добавьте обработку ошибки: =ЕСЛИОШИБКА(формула; "Нет данных").
    🔹 Как посчитать процентную разницу между двумя столбцами для всей таблицы?

    Выделите ячейку с формулой, потяните за правый нижний угол (маркер автозаполнения) вниз. Или используйте Ctrl+D для копирования формулы вниз по столбцу. Для больших таблиц (10 000+ строк) лучше использовать Power Query или массивные формулы:

    =МАССИВ((B2:B100 - A2:A100) / A2:A100 * 100%)

    ⚠️ В Excel 365 и 2021 массивы поддерживаются нативно. В старых версиях используйте Ctrl+Shift+Enter.

    🔹 Можно ли посчитать процентную разницу между строками (например, сравнить январь с февралём)?

    Да, но нужно правильно сослаться на ячейки. Например, чтобы сравнить цену в феврале (строка 3) с январём (строка 2):

    = (B3 - B2) / B2 * 100%

    Для автоматического расчёта по всем строкам используйте относительные ссылки и протяните формулу вниз.

    🔹 Как округлить результат до двух знаков после запятой?

    Используйте функцию ОКРУГЛ:

    =ОКРУГЛ((B2-A2)/A2*100%; 2)

    Или настройте формат ячейки: Главная → Формат → Формат ячеек → Числовой → 2 десятичных знака.

    🔹 Почему при копировании формулы ссылки на ячейки сбиваются?

    Скорее всего, вы использовали абсолютные ссылки$) там, где нужны относительные. Например:

    • ❌ Неправильно: =($B$2-A2)/A2 (столбец B зафиксирован).
    • ✅ Правильно: =(B2-A2)/A2 (все ссылки относительные).

Если нужно зафиксировать только строку или столбец, используйте смешанные ссылки: =($B2-A2)/A2 (фиксирован только столбец B).