Если вам нужно вычислить, на сколько процентов одно значение в Excel больше другого, стандартная формула =A2-B2 даст только разницу в абсолютных числах — но не в процентах. Ошибка многих пользователей в том, что они делят разницу на неправильное число или забывают умножить результат на 100, получая некорректные данные. Например, при сравнении продаж за два месяца (150 000 ₽ и 200 000 ₽) формула =(200000-150000)/150000 вернёт 0,33, а не 33%, если не добавить *100.
В этой статье разберём 5 рабочих способов расчёта процентного прироста — от базовой формулы до динамических вариантов с IF и ABS, а также покажем, как избежать ошибок при работе с отрицательными значениями или нулевыми ячейками. Все примеры протестированы в Excel 2019–2026 и Excel Online.
Базовая формула: (Новое - Старое) / Старое * 100
Классический метод расчёта процентного увеличения основан на формуле:
= (Новое_значение - Старое_значение) / Старое_значение * 100
Где:
- 📌 Новое_значение — ячейка с текущим показателем (например,
B2). - 📌 Старое_значение — ячейка с базовым показателем (например,
A2). - 📌
*100— преобразует дробь в проценты.
Пример: если в A2 записано 100, а в B2 — 150, формула =(B2-A2)/A2*100 вернёт 50%. Важно: если Старое_значение равно 0, Excel выдаст ошибку #DIV/0! — решение этой проблемы рассмотрим ниже.
Ошибка #DIV/0! и как её обойти
Ошибка деления на ноль (#DIV/0!) возникает, когда в знаменателе формулы стоит 0 или пустая ячейка. Например, если в A2 нет данных, а в B2 есть значение, Excel не сможет выполнить расчёт. Решения:
- Использовать
IFдля проверки:=IF(A2=0, "Нет данных", (B2-A2)/A2*100)Здесь если
A2=0, выводится текст"Нет данных". - Заменить ноль на минимальное значение:
=IF(A2=0, (B2-0.0001)/0.0001*100, (B2-A2)/A2*100)Подходит для финансовых расчётов, где ноль маловероятен.
⚠️ Внимание: Если в ваших данных возможны отрицательные значения, формула=(B2-A2)/A2*100может дать нелогичный результат (например, -200% при падении с 100 до -100). В таком случае используйтеABS(см. следующий раздел).
Расчёт процентного изменения с учётом отрицательных значений
Когда значения могут быть как положительными, так и отрицательными (например, температура или прибыль/убыток), стандартная формула даёт сбой. Решение — использовать ABS (абсолютное значение) в знаменателе:
= (B2 - A2) / ABS(A2) * 100
Примеры:
A2 (Старое) | B2 (Новое) | Формула | Результат |
|---|---|---|---|
| 100 | 150 | =(150-100)/ABS(100)*100 | 50% |
| -50 | -25 | =(-25-(-50))/ABS(-50)*100 | 50% |
| -100 | 100 | =(100-(-100))/ABS(-100)*100 | 200% |
Эта формула корректно обрабатывает переходы через ноль, но не спасает от #DIV/0!, если A2=0. Для полного решения комбинируйте ABS и IF:
=IF(A2=0, "Ошибка", (B2-A2)/ABS(A2)*100)
Динамическая формула с проверкой на рост/падение
Чтобы автоматически определять, увеличилось значение или уменьшилось, добавьте в формулу условие с IF:
=IF(B2>A2, (B2-A2)/A2*100, -(A2-B2)/A2*100)
Как это работает:
- 📈 Если
B2 > A2, формула показывает положительный процент (рост). - 📉 Если
B2 < A2, результат будет отрицательным (падение). - 🔄 При
B2 = A2вернётся 0%.
Для визуального выделения роста/падения примените условное форматирование:
- Выделите ячейки с результатами.
- Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - Установите правило:
Значение > 0→ зелёный цвет;Значение < 0→ красный.
1. Убедитесь, что в знаменателе стоит базовое (старое) значение.
2. Проверьте, умножен ли результат на 100 для преобразования в проценты.
3. Добавьте обработку ошибок (IF) при делении на ноль.
4. Тестируйте формулу на крайних значениях (0, отрицательные, пустые ячейки).
-->
Процентный прирост для диапазонов данных
Если нужно рассчитать процентное изменение для целого столбца (например, ежемесячные продажи), протягивать формулу вручную неэффективно. Вместо этого:
- Введите формулу в первую ячейку результата (например,
C2):=IF($A2=0, "Нет данных", (B2-$A$1)/$A$1*100)Здесь
$A$1— фиксированное базовое значение (например, продажи января). - Протяните формулу вниз за маркер автозаполнения (маленький квадрат в правом нижнем углу ячейки).
Для сравнения каждого значения со предыдущей строкой (например, межмесячный рост) используйте:
=IF(A2=0, "Нет данных", (B2-A2)/A2*100)
Затем протяните формулу на весь диапазон. Excel автоматически скорректирует ссылки на ячейки (A3, A4 и т.д.).
⚠️ Внимание: При копировании формул с абсолютными ссылками ($A$1) убедитесь, что базовое значение зафиксировано правильно. Если вместо$A$1будетA1, при протягивании ссылка сдвинется наA2, A3и т.д., что исказит результаты.
Альтернативные способы: функция PERCENTCHANGE и Power Query
В Excel 365 и Excel 2021 появилась функция PERCENTCHANGE (в русской версии — ИЗМЕНЕНИЕ), которая упрощает расчёты:
=PERCENTCHANGE(Старое_значение; Новое_значение)
Пример:
=ИЗМЕНЕНИЕ(A2:B2)
Преимущества функции:
- 🔹 Автоматически обрабатывает массивы (можно передавать диапазоны).
- 🔹 Возвращает результат в виде десятичной дроби (умножайте на 100 для процентов).
- 🔹 Корректно работает с отрицательными значениями.
Для сложных трансформаций данных (например, расчёт процентов по нескольким условиям) используйте Power Query:
- Выделите исходную таблицу →
Данные→Из таблицы/диапазона. - В редакторе Power Query добавьте столбец с формулой:
= ( [Новое] - [Старое] ) / [Старое] - Умножьте столбец на 100 и загрузите данные обратно в Excel.
Подробнее о Power Query
Power Query позволяет автоматизировать расчёты для больших наборов данных (тысячи строк) без написания формул в каждой ячейке. Например, можно:
- Объединять данные из нескольких файлов.
- Фильтровать строки по условиям перед расчётом.
- Создавать сводные таблицы с процентными изменениями по группам.
Типичные ошибки и как их избежать
Даже опытные пользователи допускают ошибки при расчёте процентов в Excel. Вот самые распространённые:
| Ошибка | Причина | Решение |
|---|---|---|
| Некорректный знак (%) | Забыли умножить на 100 или применить процентный формат. | Добавьте *100 или нажмите Ctrl+Shift+5. |
Деление на ноль (#DIV/0!) | В базовой ячейке 0 или пусто. | Используйте IF для обработки. |
| Отрицательный процент при росте | Перепутали местами Новое и Старое значения. | Проверьте порядок ячеек в формуле. |
| Несоответствие форматов | Ячейки отформатированы как текст, а не числа. | Выделите ячейки → Формат ячеек → Числовой. |
Критическая ошибка: Использование формулы =B2/A2*100 вместо =(B2-A2)/A2*100. Первая показывает долю нового значения от старого (например, 150% вместо 50% прироста), что вводит в заблуждение.
FAQ: Частые вопросы по расчёту процентов в Excel
Как посчитать, на сколько процентов одно число меньше другого?
Используйте ту же формулу, но с обратным порядком: = (Старое - Новое) / Старое * 100. Например, для значений 200 (старое) и 150 (новое) формула вернёт -25% (уменьшение на 25%).
Почему Excel показывает ###### вместо результата?
Это означает, что столбец слишком узкий для отображения числа. Расширьте столбец или уменьшите количество знаков после запятой (кнопка Уменьшить разрядность на вкладке Главная).
Можно ли рассчитать процентный прирост без формул?
Да, с помощью сводной таблицы:
- Выделите данные →
Вставка→Сводная таблица. - Перетащите поле с значениями в область
Значения. - Нажмите
Параметры поля значения→Дополнительные вычисления→% от....
Как округлить результат до целых процентов?
Оберните формулу в ROUND:
=ROUND((B2-A2)/A2*100, 0)
Здесь 0 — количество знаков после запятой.
Почему при копировании формулы ссылки сбиваются?
Скорее всего, вы не зафиксировали базовое значение знаком $. Например, вместо A2 должно быть $A$2, если это константа. Или используйте A$2 для фиксации только строки.