Как посчитать разницу в процентах между числами в Excel: 5 работающих способов

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

В этой статье вы найдёте 5 проверенных способов расчёта процентной разницы — от базовой формулы до динамических массивов для больших таблиц. Мы разберём реальные примеры с цифрами, покажем, как избежать ошибок при делении на ноль, и объясним, почему иногда результаты отличаются от ожидаемых. А в конце — уникальный лайфхак для автоматизации расчётов с помощью условного форматирования.

Если вы работаете с отчётами, где важна точность (например, бухгалтерия или маркетинг), этот материал поможет исключить погрешности. Для новичков мы подготовили пошаговые скриншоты, а опытные пользователи найдут здесь продвинутые техники с INDEX-MATCH и LAMBDA.

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

Самый простой случай — когда у вас есть два числа (например, продажи в январе и феврале), и нужно узнать, на сколько процентов одно больше или меньше другого. Формула выглядит так:

= (Новое_значение - Старое_значение) / Старое_значение * 100%

Разберём на примере. Допустим, в январе вы продали товаров на 120 000 ₽, а в феврале — на 150 000 ₽. Чтобы узнать процент прироста:

  1. Введите в ячейку = (B2-A2)/A2*100%, где A2 — январь, B2 — февраль.
  2. Нажмите Enter — результат будет 25%.

⚠️ Критическая деталь: если старое значение равно нулю, Excel вернёт ошибку #DIV/0!. Чтобы этого избежать, используйте функцию IFERROR:

=IFERROR((B2-A2)/A2*100%, "Нет данных")

2. Разница в процентах между строками таблицы

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

Регион Январь (₽) Февраль (₽) Разница (%)
Москва 500 000 650 000 = (C2-B2)/B2*100%
Санкт-Петербург 320 000 290 000 = (C3-B3)/B3*100%
Казань 180 000 220 000 = (C4-B4)/B4*100%

Обратите внимание: для Санкт-Петербурга результат будет отрицательным (-9,38%), потому что продажи упали. Это нормально — формула автоматически показывает убыток.

Убедитесь, что оба столбца содержат числа, а не текст|

Проверьте, нет ли нулевых значений в знаменателе|

Отформатируйте ячейки с результатом как "Процентный"|

Зафиксируйте ссылки на столбцы (например, $B2), если копируете формулу вправо-->

>

3. Процентная разница с учётом направления (прирост vs убыток)

Иногда нужно не просто посчитать разницу, но и визуально выделить прирост зелёным, а убыток — красным. Для этого:

  1. Используйте ту же формулу = (Новое-Старое)/Старое*100%.
  2. Выделите столбец с результатами и примените условное форматирование:
    • 📌 Главная → Условное форматирование → Правила выделения ячеек → Больше чем → укажите 0, выберите зелёный цвет.
    • 📌 Повторите для значения "меньше чем" 0, выбрав красный цвет.

Теперь все положительные значения будут зелёными, а отрицательные — красными. Это наглядно покажет динамику.

Почему формула даёт неожиданный результат?

Если вы получаете число вроде 125% вместо 25%, скорее всего, вы забыли разделить на старое значение или не умножили на 100%. Проверьте формулу ещё раз: правильный вид — = (Новое-Старое)/Старое*100%, а не = Новое/Старое*100%.

4. Динамический расчёт с помощью функций INDEX и MATCH

Когда данные разбросаны по большой таблице, удобно использовать INDEX-MATCH для автоматического поиска значений. Например, у вас есть таблица с продажами по датам, и нужно посчитать разницу между любыми двумя месяцами.

Формула будет такой:

= (INDEX(Диапазон_значений; MATCH(Месяц2; Диапазон_месяцев; 0)) -

INDEX(Диапазон_значений; MATCH(Месяц1; Диапазон_месяцев; 0))) /

INDEX(Диапазон_значений; MATCH(Месяц1; Диапазон_месяцев; 0)) * 100%

Где:

  • 📊 Диапазон_значений — столбец с цифрами (например, B2:B100).
  • 📅 Диапазон_месяцев — столбец с названиями месяцев (A2:A100).
  • 🔍 Месяц1 и Месяц2 — ячейки, где указаны искомые месяцы (например, D2 и E2).

Ручной ввод формулы|

Условное форматирование|

Функции INDEX-MATCH|

Power Query|

Не знаю, как посчитать-->

5. Расчёт процентной разницы для сводных таблиц

Если вы работаете со сводными таблицами, Excel предлагает встроенные инструменты для анализа динамики:

  1. Создайте сводную таблицу на основе ваших данных.
  2. Перетащите поле с датами в область Строки, а поле с значениями — в Значения.
  3. Щёлкните правой кнопкой по любому числу в столбце значений → Показать значения как% разницы от.
  4. Выберите базовое поле (например, "Предыдущий месяц").

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

6. Типичные ошибки и как их избежать

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

⚠️ Внимание: Если вы видите результат вроде 1,25 вместо 125%, проверьте формат ячейки. Кликните правой кнопкой → Формат ячеек → выберите Процентный.
  • 🚫 Деление на ноль: Всегда используйте IFERROR, если в данных могут быть нули.
  • 🔄 Перепутанный порядок: Формула (Новое-Старое)/Старое не равна (Старое-Новое)/Новое — результаты будут разными!
  • 📉 Отрицательные проценты: Если вам нужны только абсолютные значения, оберните формулу в ABS().
  • 🔢 Копирование формул: При протягивании формулы вниз убедитесь, что ссылки на ячейки корректно сдвигаются (используйте $ для фиксации столбцов).

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

=ROUND((B2-A2)/A2*100%, 2)

Эта формула округлит результат до двух знаков после запятой.

7. Продвинутые техники: LAMBDA и динамические массивы

В Excel 365 и Excel 2021 появились динамические массивы, которые позволяют рассчитывать процентные различия для целых диапазонов за одну формулу. Например, чтобы посчитать разницу между двумя столбцами сразу для всех строк:

= (B2:B100 - A2:A100) / A2:A100 * 100%

Excel автоматически "прольёт" результат на все строки. А если добавить функцию LAMBDA, можно создать собственную формулу для повторного использования:

= LAMBDA(new, old; (new-old)/old*100%)

(Блок_новых_значений; Блок_старых_значений)

Этот подход экономит время, когда нужно применить один и тот же расчёт к разным диапазонам.

FAQ: Ответы на частые вопросы

Как посчитать процентную разницу между тремя числами?

Если нужно сравнить три значения (например, январь, февраль, март), рассчитайте разницу последовательно:

  1. Январь → февраль: = (B2-A2)/A2*100%.
  2. Февраль → март: = (C2-B2)/B2*100%.

Для сравнения марта с январём используйте = (C2-A2)/A2*100%.

Почему Excel показывает ######## вместо процентов?

Это означает, что столбец слишком узкий для отображения числа. Растяните его вручную или используйте автоподбор ширины (Главная → Формат → Автоподбор ширины столбца).

Можно ли посчитать процентную разницу для нечисловых данных?

Нет. Формула работает только с числами. Если в ячейках текст (например, "100 тыс."), сначала преобразуйте их в числа с помощью Значение () или Text to Columns.

Как автоматически обновить проценты при изменении исходных данных?

Excel обновляет формулы автоматически, но если этого не происходит:

  1. Проверьте, не стоит ли у вас Автоматический пересчёт в режиме Вручную (Формулы → Параметры вычислений).
  2. Нажмите F9, чтобы принудительно пересчитать все формулы.
Есть ли разница между формулами для Excel и Google Sheets?

Нет, синтаксис одинаковый. Все формулы из этой статьи будут работать и в Google Таблицах без изменений.