Как сделать формулу в Excel для вычитания процента: 5 рабочих способов с примерами

Вычитание процентов в Microsoft Excel — одна из самых востребованных операций, с которой сталкиваются бухгалтеры, маркетологи и аналитики. Казалось бы, что может быть проще: взять число, отнять от него 10% и получить результат. Но на практике даже опытные пользователи допускают ошибки, когда речь идет о динамических диапазонах, отрицательных значениях или каскадных скидках (например, "скидка 20% на товар, который уже уценен на 15%").

В этой статье мы разберем не только базовые формулы типа =A1-A1*10%, но и продвинутые техники: вычитание процента от суммы с условиями, расчет обратных процентов (когда известна конечная цена со скидкой), а также автоматизацию через Power Query для массовой обработки данных. Особое внимание уделим типичным ошибкам, из-за которых Excel возвращает #ЗНАЧ! или #ДЕЛ/0!, и покажем, как их обходить.

Если вы никогда не работали с формулами в Excel, не переживайте: первые два раздела написаны для новичков с нуля. Для опытных пользователей подготовлены уникальные кейсы — например, как вычесть процент из диапазона, где некоторые ячейки содержат текст, или как сделать так, чтобы формула автоматически подставляла актуальную ставку НДС из другой таблицы.

Все примеры протестированы в Excel 2019, Excel 365 и Google Таблицах. Если вы используете Excel для Mac или мобильную версию, обратите внимание на раздел с особенностями синтаксиса — там есть нюансы с разделителями (запятая vs точка с запятой).

1. Базовая формула: как вычесть фиксированный процент от числа

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

Способ 1: Формула с прямым указанием процента

=A1-A1*15%

Где A1 — ячейка с исходным числом. Excel автоматически преобразует 15% в десятичную дробь 0.15.

Способ 2: Формула с ссылкой на ячейку с процентом

=A1-A1*B1

Где B1 — ячейка, содержащая процентное значение (например, 15% или 0.15). Этот способ удобнее, если процент может меняться (например, сезонные скидки).

Пример:

Исходная цена (A)Процент скидки (B)ФормулаРезультат (C)
1 200 ₽10%=A2-A2*B21 080 ₽
5 500 ₽25%=A3-A3*B34 125 ₽
890 ₽5%=A4-A4*B4845,50 ₽

⚠️ Внимание: Если в ячейке с процентом указано значение без знака % (например, просто 15), Excel воспримет его как 1500%! Всегда проверяйте формат ячейки: выделите её → правая кнопка → Формат ячеек → выберите Процентный.

2. Вычитание процента от суммы с условиями (функция ЕСЛИ)

Допустим, вам нужно вычесть 10% скидку только для товаров дороже 1 000 ₽, а для остальных оставить цену без изменений. Здесь поможет функция ЕСЛИ (или IF в английской версии):

=ЕСЛИ(A1>1000; A1-A1*10%; A1)

Разберем синтаксис:

  • 🔹 A1>1000 — условие (если цена больше 1 000 ₽).
  • 🔹 A1-A1*10% — действие, если условие истинно (вычесть 10%).
  • 🔹 A1 — действие, если условие ложно (оставить цену без изменений).

📌 Продвинутый пример: Скидка 15% для товаров дороже 1 000 ₽ и дополнительные 5% для товаров дороже 5 000 ₽:

=ЕСЛИ(A1>5000; A1-A1*20%; ЕСЛИ(A1>1000; A1-A1*15%; A1))

⚠️ Внимание: Вложенные функции ЕСЛИ могут стать нечитаемыми, если их больше 3-х уровней. В таких случаях лучше использовать ВПР или ИНДЕКС/ПОИСКПОЗ для работы с таблицами скидок.

📊 Какой тип скидок вы чаще рассчитываете в Excel?
Фиксированный процент
Прогрессивные скидки (чем больше сумма, тем выше %)
Скидки по категориям товаров
Динамические скидки (зависят от даты/сезона)

3. Вычитание процента из диапазона (массовая обработка)

Если нужно вычесть процент из целого столбца с ценами, не обязательно копировать формулу в каждую ячейку. Достаточно:

  1. Ввести формулу в первую ячейку (например, =A2-A2*$B$1, где $B$1 — фиксированный процент).
  2. Навести курсор на правый нижний угол ячейки (появится крестик +).
  3. Дважды кликнуть левой кнопкой мыши — формула автоматически скопируется до последней заполненной ячейки в столбце A.

🔹 Абсолютная vs относительная ссылка:

  • 📌 $B$1 — абсолютная ссылка (не меняется при копировании).
  • 📌 B1 — относительная ссылка (меняется на B2, B3 и т.д.).

⚠️ Внимание: Если в столбце есть пустые ячейки или текст, Excel вернет #ЗНАЧ!. Чтобы избежать ошибок, оберните формулу в ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(A2-A2*$B$1; "")

Убедиться, что все ячейки с ценами имеют числовой формат|Проверить отсутствие текстовых значений (например, "Нет в наличии")|Зафиксировать ячейку с процентом абсолютной ссылкой ($B$1)|Проверить, что процент указан в формате "Процентный" (а не как десятичная дробь)-->

4. Обратный расчет: как найти исходную цену, если известна цена со скидкой

Ситуация: вы знаете, что товар продается за 800 ₽ после скидки 20%. Как узнать его исходную цену? Здесь поможет формула:

=C1/(1-D1)

Где:

  • 🔹 C1 — цена со скидкой (800 ₽).
  • 🔹 D1 — скидка в десятичном формате (20% = 0.2).

📌 Пример:

Цена со скидкой (C)Скидка (D)ФормулаИсходная цена (E)
800 ₽20%=C2/(1-D2)1 000 ₽
1 240 ₽15%=C3/(1-D3)1 458,82 ₽

⚠️ Внимание: Если скидка указана как отрицательное число (например, -20% для наценки), формула примет вид =C1/(1+ABS(D1)), где ABS — функция модуля.

Почему нельзя просто разделить на процент?

Если разделить 800 ₽ на 20%, получится 4 000 ₽ — это неверно, потому что 20% вычисляются от исходной цены, а не от конечной. Формула =C1/(1-D1) учитывает, что скидка применяется к неизвестному значению (X), и решает уравнение: X - X*D1 = C1.

5. Вычитание процента с учетом НДС и других налогов

Расчет цены без НДС (или с вычетом другого налога) — частая задача для бухгалтеров. В России ставка НДС обычно составляет 20%, поэтому формула для вычитания НДС из суммы с налогом будет такой:

=A1/1,2

Где A1 — сумма с НДС.

🔹 Альтернативный вариант (если ставка НДС в отдельной ячейке):

=A1/(1+B1)

Где B1 — ставка НДС в десятичном формате (например, 0.2 для 20%).

⚠️ Внимание: Если вы работаете с упрощенной системой налогообложения (УСН), где налог включается в цену (а не добавляется сверху), используйте формулу:

=A1/(1+B1)*B1

Эта формула вернет сумму налога, а не цену без налога.

📊 Сравнение методов:

Тип налогаФормула для цены без налогаФормула для суммы налога
НДС 20% (включен в цену)=A1/1,2=A1-A1/1,2
НДС 20% (добавлен к цене)=A1/1,2=A1-A1/1,2
УСН 6% (включен в цену)=A1/1,06=A1-A1/1,06

6. Динамическое вычитание процентов (с привязкой к дате или условию)

Представьте, что скидка действует только в определенные дни недели или в течение промо-периода. Для этого можно комбинировать вычитание процентов с функциями ЕСЛИ, И, ДЕНЬНЕД или СЕГОДНЯ.

📌 Пример 1: Скидка 10% по понедельникам

=ЕСЛИ(ДЕНЬНЕД(СЕГОДНЯ())=2; A1-A1*10%; A1)

Где ДЕНЬНЕД возвращает номер дня недели (2 = понедельник).

📌 Пример 2: Скидка 15% с 1 по 10 число каждого месяца

=ЕСЛИ(И(ДЕНЬ(СЕГОДНЯ())>=1; ДЕНЬ(СЕГОДНЯ())<=10); A1-A1*15%; A1)

⚠️ Внимание: Функция СЕГОДНЯ() обновляется при каждом открытии файла. Если вам нужно зафиксировать дату (например, для отчета), замените её на конкретное значение (например, "31.12.2026").

7. Распространенные ошибки и как их исправить

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

🔴 Ошибка #ЗНАЧ!:

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

🔴 Ошибка #ДЕЛ/0!:

  • 🔹 Причина: Деление на ноль (например, если ячейка с процентом пустая).
  • 🔹 Решение: Задайте процент по умолчанию: =ЕСЛИ(B1=0; A1; A1-A1*B1).

🔴 Неправильный результат (слишком большое/малое число):

  • 🔹 Причина: Процент указан как целое число (например, 20 вместо 20% или 0.2).
  • 🔹 Решение: Проверьте формат ячейки с процентом (должен быть Процентный).

🔴 Формула не копируется корректно:

  • 🔹 Причина: Не зафиксирована ячейка с процентом (отсутствует $).
  • 🔹 Решение: Используйте абсолютную ссылку $B$1.
Как найти все ошибки в таблице?

Выделите диапазон → Главная → Найти и выделить → Выделить группу ячеек → Ошибки. Excel подсветит все ячейки с ошибками, и вы сможете исправить их массово.

8. Альтернативные методы: Power Query и VBA

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

🔹 Метод 1: Power Query (Excel 2016 и новее)

  1. Выделите исходные данные → Данные → Из таблицы/диапазона.
  2. В редакторе Power Query выберите столбец с ценами → Преобразовать → Стандартный → Вычесть.
  3. Введите формулу типа [Цена] - [Цена] * 0.15 (для скидки 15%).
  4. Нажмите Закрыть и загрузить.

🔹 Метод 2: Макрос VBA (для массовой обработки)

Sub SubtractPercentage()

Dim rng As Range

Dim cell As Range

Dim discount As Double

discount = 0.15 ' 15% скидка

Set rng = Selection ' Выделенный диапазон

For Each cell In rng

If IsNumeric(cell.Value) Then

cell.Value = cell.Value - (cell.Value * discount)

End If

Next cell

End Sub

Чтобы запустить макрос: нажмите Alt+F11Insert → Module → вставьте код → выделите ячейки с ценами → запустите макрос (F5).

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm. Если вы сохраните файл как .xlsx, VBA-код будет удален!

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

Как вычесть процент из суммы, если процент указан в другой таблице?

Используйте функцию ВПР или ИНДЕКС/ПОИСКПОЗ для подстановки процента. Пример:

=A1 - A1 * ВПР(B1; ДиапазонТаблицыСПроцентами; 2; ЛОЖЬ)

Где B1 — критерий поиска (например, категория товара), а ДиапазонТаблицыСПроцентами — таблица с соответствием категорий и скидок.

Можно ли вычесть процент без формул, через формат ячеек?

Нет, формат ячеек изменяет только отображение числа, но не его значение. Например, если применить процентный формат к ячейке с числом 50, она будет показывать 5000%, но в расчетах по-прежнему будет использоваться 50. Для вычитания процента обязательно нужна формула.

Почему при вычитании 10% из 100 я получаю 99,999999 вместо 90?

Это связано с погрешностью чисел с плавающей запятой. Excel хранит числа в двоичном формате, и некоторые дроби (например, 0.1) не имеют точного представления. Чтобы исправить:

  • 🔹 Уменьшите количество знаков после запятой: Формат ячеек → Числовой → 2 десятичных знака.
  • 🔹 Используйте функцию ОКРУГЛ: =ОКРУГЛ(A1-A1*10%; 2).
Как вычесть процент в Google Таблицах? Синтаксис отличается?

Формулы работают аналогично, но есть нюансы:

  • 🔹 Разделитель аргументов — запятая (,), а не точка с запятой (;). Пример: =A1-A1*B1 (без изменений), но =IF(A1>1000, A1-A1*0.1, A1).
  • 🔹 Функция СЕГОДНЯ пишется как TODAY().
  • 🔹 Нет функции ДЕНЬНЕД — используйте WEEKDAY().
Можно ли сделать так, чтобы процент автоматически pulls из интернета (например, курс доллара)?

Да, но для этого потребуются надстройки:

  • 🔹 В Excel 365: используйте Power Query с подключением к API Центробанка или финансовым источникам (например, =WEBSERVICE("https://www.cbr.ru/scripts/XML_daily.asp") + парсинг XML).
  • 🔹 В Google Таблицах: воспользуйтесь функцией =IMPORTXML() или =GOOGLEFINANCE().

⚠️ Для работы с API может потребоваться знание JSON или XML.