Вычитание в Excel: от простых чисел до сложных формул с условиями

Вычитание в Microsoft Excel кажется простой операцией — пока не сталкиваешься с ошибками типа #ЗНАЧ! или неожиданными результатами вроде даты вместо числа. На практике даже опытные пользователи иногда удивляются, почему =5-3-1 даёт не 1, а 24.01.1900 (подсказка: виноват формат ячейки!). Эта статья разберёт все нюансы: от базового вычитания чисел до работы с процентами, датами и массивами данных.

Мы не будем ограничиваться тривиальными примерами вроде =A1-B1. Вы узнаете, как вычитать:

  • 🔢 Числа из разных ячеек (включая динамические диапазоны)
  • 📅 Даты и время (с учётом выходных и праздников)
  • 💰 Проценты и доли (включая НДС и скидки)
  • 📊 Значения с условиями (функции ЕСЛИ + вычитание)

А ещё — как избежать 5 самых распространённых ошибок, которые портят 80% расчётов в Excel.

📊 Как часто вы используете вычитание в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда не пользовался

1. Базовое вычитание: числа, ячейки и диапазоны

Начнём с азов. В Excel вычитание выполняется через формулу, которая всегда начинается со знака =. Простейший пример:

=8-3

Но на практике чаще приходится вычитать значения из ячеек. Допустим, у вас в A1 записано 15, а в B1 — 7. Формула будет:

=A1-B1

Что если нужно вычесть одно и то же число из целого столбца? Не пишите формулу для каждой строки! Используйте абсолютную ссылку со знаком $:

=A1-$C$1

Здесь $C$1 — фиксированная ячейка, значение которой будет вычитаться из всех ячеек столбца A.

☑️ Проверка перед вычитанием

Выполнено: 0 / 4
⚠️ Внимание: Если после вычитания видите ######, значит результат не помещается в ячейку по ширине. Растяните столбец или уменьшите шрифт — данные при этом не потеряются.

2. Вычитание дат и времени: расчёт дней, часов, минут

Excel хранит даты как числа (где 1 = 1 января 1900 года), а время — как доли суток (0,5 = 12:00). Это позволяет легко вычитать даты:

=B2-A2

Если в A2 записано 15.05.2026, а в B220.05.2026, результат будет 5 (дней). Но что если нужно узнать количество рабочих дней (без выходных)? Используйте функцию:

=ЧИСТРАБДНИ(A2; B2)

Для времени действует тот же принцип. Например, чтобы узнать разницу между 14:30 и 9:45:

=ВРЕМЯ(14;30;0)-ВРЕМЯ(9;45;0)

Результат отобразится как 4:45 (4 часа 45 минут). Если нужно получить ответ в часах или минутах, умножьте результат на 24 или 1440 соответственно.

ФормулаПример данныхРезультатФормат ячейки
=B1-A1A1=10.05.2026, B1=15.05.20265Общий
=ЧИСТРАБДНИ(A1;B1)A1=10.05.2026, B1=15.05.20263Общий
=ВРЕМЗНАЧ("14:30")-ВРЕМЗНАЧ("9:45")0,2 (4:48)Время
=(B1-A1)*24A1=9:00, B1=17:308,5Числовой
⚠️ Внимание: При вычитании времени, пересекающего полночь (например, 23:00 и 2:00), Excel может вернуть отрицательное значение. Используйте формулу =ЕСЛИ(B1 для корректного расчёта.

3. Вычитание процентов: скидки, НДС, изменение значений

Проценты в Excel — отдельная головная боль. Чтобы вычесть 20% из числа 100, нельзя просто написать =100-20% — это сработает, но неверно с точки зрения математики. Правильный вариант:

=100-(100*20%)

Или короче:

=100*80%

Для динамических расчётов (например, вычет НДС 20% из суммы в ячейке A1):

=A1-(A1*20%)

Или с использованием функции:

=A1*(1-20%)

А что если нужно узнать, на сколько процентов уменьшилось значение? Например, было 150, стало 120. Формула:

=(150-120)/150

Не забудьте установить для ячейки процентный формат (клавиши Ctrl+Shift+5).

Почему =100-20% даёт 80, а не 80%?

Excel сначала вычисляет 20% от 100 (то есть 20), затем выполняет 100-20. Чтобы получить 80% от числа, нужно умножать на (1-20%), а не вычитать проценты напрямую.

4. Вычитание с условиями: функции ЕСЛИ и СУММЕСЛИ

Допустим, вам нужно вычесть 10% от суммы только если она превышает 1000 рублей. Здесь поможет функция ЕСЛИ:

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

Более сложный пример: вычесть фиксированную скидку 50 рублей, но не более 20% от цены:

=ЕСЛИ(A1*0,2<50; A1-50; A1*0,8)

Для работы с диапазонами используйте СУММЕСЛИ. Например, вычесть из общей суммы (B10) все значения из столбца B2:B9, которые больше 500:

=B10-СУММЕСЛИ(B2:B9; ">500")

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

=СУММ(B2:B9)-СУММЕСЛИ(A2:A9; "Да"; B2:B9)

Здесь из суммы столбца B вычитаются только те значения, где в соответствующих ячейках столбца A стоит "Да".

5. Типичные ошибки и как их исправить

Даже в простом вычитании Excel может подложить "свинью". Вот 5 самых распространённых ошибок и их решения:

  1. #ЗНАЧ! (Value) — появляется, когда пытаетесь вычесть текст из числа. Проверьте ячейки на скрытые символы (пробелы, апострофы) или используйте =ЗНАЧЕН(A1) для преобразования текста в число.
  2. #ДЕЛ/0! (Div/0) — возникает при вычитании дат, если одна из ячеек пуста. Используйте =ЕСЛИОШИБКА(B1-A1; "").
  3. Некорректный результат (например, 15.01.1900 вместо 15) — проверьте формат ячейки. Выделите ячейку, нажмите Ctrl+1 и выберите "Числовой".
  4. Отрицательные числа отображаются как ###### — расширьте столбец или измените формат на "Числовой" с разрешением отрицательных значений.
  5. Формула не обновляется — включите автоматический пересчёт в Формулы → Параметры вычислений → Автоматически.

Особенный случай — вычитание из пустой ячейки. Excel воспринимает её как 0, но это может искажать расчёты. Чтобы игнорировать пустые ячейки:

=ЕСЛИ(A1=""; ""; A1-B1)

6. Продвинутые техники: массивы, Power Query и VBA

Для сложных задач базовых формул недостаточно. Рассмотрим 3 продвинутых метода:

1. Вычитание с использованием массивов (для Excel 365 и 2021):

Допустим, нужно вычесть из каждого элемента диапазона A1:A5 соответствующее значение из B1:B5 и получить массив результатов:

=A1:A5-B1:B5

Введите формулу в одну ячейку и подтвердите Enter — результат "прольётся" на весь диапазон.

2. Power Query для вычитания столбцов:

  • 📋 Выделите данные и нажмите Данные → Из таблицы/диапазона.
  • 🔄 В редакторе Power Query выберите столбец, затем Добавить столбец → Вычесть.
  • 💾 Нажмите Закрыть и загрузить, чтобы вернуть результат в Excel.

3. VBA для автоматического вычитания:

Создайте макрос, который вычитает фиксированное значение (например, 10) из выделенного диапазона:

Sub SubtractValue()

Dim cell As Range

For Each cell In Selection

If IsNumeric(cell.Value) Then

cell.Value = cell.Value - 10

End If

Next cell

End Sub

Чтобы запустить, нажмите Alt+F8, выберите макрос и кликните Выполнить.

7. Вычитание в Google Таблицах: ключевые отличия

Формулы вычитания в Google Sheets работают почти так же, как в Excel, но есть нюансы:

  • 🔹 Функции на английском: вместо ЧИСТРАБДНИ используйте =NETWORKDAYS.
  • 🔹 Формат дат: по умолчанию начинается с 30.12.1899 (в Excel — с 01.01.1900).
  • 🔹 Горячие клавиши: для вставки текущей даты используйте Ctrl+; (как в Excel), а для времени — Ctrl+Shift+;.
  • 🔹 Массивы: формулы массивов работают без Ctrl+Shift+Enter (как в Excel 365).

Пример вычитания с условием в Google Таблицах:

=IF(A1>1000; A1-A1*10%; A1)

Обратите внимание на запятые вместо точек с запятой в разделителях аргументов (зависит от региональных настроек).

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

❓ Почему формула =A1-B1 возвращает дату вместо числа?

Excel воспринял значения в ячейках A1 или B1 как даты. Проверьте формат ячеек (Ctrl+1) и измените его на "Числовой". Если данные импортированы из внешнего источника, используйте функцию =ЗНАЧЕН() для преобразования текста в число.

❓ Как вычесть время с учётом ночного периода (например, 23:00 до 7:00)?

Используйте формулу:

=ЕСЛИ(B1

Где 1 — это один полный день (24 часа). Умножьте результат на 24, чтобы получить часы.

❓ Можно ли вычесть значения из закрытой книги?

Да, но с ограничениями. В формуле укажите полный путь:

='C:\Путь\[Книга.xlsx]Лист1'!A1-B1

Excel предложит открыть источник для обновления данных. Для автоматического обновления без открытия используйте Power Query.

❓ Как вычесть из числа случайное значение в заданном диапазоне?

Используйте функции СЛЧИС и ЦЕЛОЕ:

=A1-(ЦЕЛОЕ(СЛЧИС()*10)+1)

Эта формула вычтет из A1 случайное число от 1 до 10. Для обновления значения нажмите F9.

❓ Почему после вычитания появляется #ИМЯ? в английской версии Excel?

Ошибка #NAME? означает, что Excel не распознаёт имя функции. Проверьте:

  • 🔹 Правильность написания функции (например, SUMIF, а не СУММЕСЛИ в английской версии).
  • 🔹 Отсутствие лишних пробелов или символов в формуле.
  • 🔹 Региональные настройки (в некоторых версиях разделитель — запятая, а не точка с запятой).