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

Почему вычитание в Excel кажется сложнее, чем на калькуляторе?

На первый взгляд, вычесть два числа в Microsoft Excel проще простого: ввел формулу, получил результат. Но на практике пользователи сталкиваются с неожиданными ошибками: вместо числа появляется дата, вместо разницы — странный код #ЗНАЧ!, а при вычитании процентов результат вообще не совпадает с ожиданиями. Всё потому, что Excel воспринимает данные не как "просто цифры", а как типы значений с собственными правилами.

В этой статье разберём не только базовое вычитание (=A1-B1), но и нюансы работы с процентами, датами, временем, а также покажем, как избежать типичных ошибок. Например, знали ли вы, что Excel хранит даты как числа, начиная с 1 января 1900 года? Или что вычитание текста из числа может привести к сбою всей таблицы? Эти и другие подводные камни ждут впереди.

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

Базовое вычитание: формулы и синтаксис

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

=A1-B1

Где A1 и B1 — адреса ячеек с уменьшаемым и вычитаемым соответственно. Но даже здесь есть нюансы:

  • 📌 Если в ячейке B1 текст (например, "100 руб"), Excel вернёт ошибку #ЗНАЧ!.
  • 📌 Если ячейка пустая, Excel воспримет её как 0.
  • 📌 Формулу можно писать вручную или использовать мастер функций (кнопка fx рядом со строкой формул).

Альтернативный способ — функция РАЗНОСТЬ() (англ. SUBTRACT), но она доступна только в Excel 365 и Excel 2021. Синтаксис:

=РАЗНОСТЬ(A1; B1)

Вычитание процентов: 3 способа с примерами

Вычитание процентов — одна из самых частых задач в финансовых расчётах. Например, нужно узнать цену со скидкой 20% или вычесть НДС 18%. Здесь многие допускают ошибку, просто отнимая процент от числа (=100-20%), что приводит к неверному результату. Правильные способы:

  1. Вычитание фиксированного процента:
    =A1*(1-B1)

    Где A1 — исходное число, B1 — процент в десятичном формате (например, 20% или 0,2).

  2. Вычитание процента от другой ячейки:
    =A1-(A1*B1)

    Или короче: =A1*(1-B1).

  3. Функция ПРОЦЕНТ.ИЗ (для сложных расчётов):
    =A1-ПРОЦЕНТ.ИЗ(A1; B1)

Пример: если в A1 цена 1000, а в B1 скидка 15%, формула =A1*(1-B1) вернёт 850. А вот =A1-B1 даст 985 — это ошибка, потому что Excel воспринимает B1 как 0,15, а не как 15% от A1.

📊 Какой способ вычитания процентов вы используете чаще?
Формулу =A1*(1-B1)
Функцию ПРОЦЕНТ.ИЗ
Вычитаю вручную
Не работал с процентами

Вычитание дат и времени: секреты формата ячеек

Excel хранит даты как порядковые номера, где 1 — это 1 января 1900 года, а 45000 — примерно 2023 год. Поэтому вычитание дат автоматически даёт разницу в днях. Например:

=B1-A1

Если в A1 дата 01.01.2026, а в B110.01.2026, результат будет 9 (дни). Но что, если нужно получить месяцы или годы?

ЗадачаФормулаПример результата
Разница в днях=B1-A19
Разница в месяцах=РАЗНДАТ(A1; B1; "m")0 (если в одном месяце)
Разница в годах=РАЗНДАТ(A1; B1; "y")0
Дни без учёта годов=РАЗНДАТ(A1; B1; "yd")9

Для времени действует тот же принцип: Excel хранит его как долю суток (например, 12:00 — это 0,5). Чтобы вычесть время, используйте:

=B1-A1

Но обязательно установите формат ячейки с результатом как [ч]:мм или [ч]:мм:сс, иначе Excel покажет некорректное значение (например, 0:12 вместо 12:00).

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

Это означает, что ширина столбца слишком мала для отображения формата даты/времени. Растяните столбец или измените формат ячейки на более короткий (например, дд.мм.гг вместо дд месяц гггг).

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

Иногда нужно вычесть значения только при выполнении условия. Например, вычесть бонус из зарплаты, если он превышает 5000. Здесь поможет функция ЕСЛИ:

=ЕСЛИ(B1>5000; A1-B1; A1)

Где:

  • 📌 B1>5000 — условие.
  • 📌 A1-B1 — действие, если условие истинно.
  • 📌 A1 — действие, если условие ложно.

Для вычитания по нескольким критериям используйте СУММЕСЛИМН (англ. SUMIFS):

=СУММЕСЛИМН(диапазон_вычитания; диапазон_условий; условие)

Пример: вычесть из общей суммы (A1) все значения из столбца B, которые больше 100:

=A1-СУММЕСЛИ(B1:B10; ">100")

Убедиться, что диапазоны в ЕСЛИ одинакового размера|

Проверить, что условие записано в кавычках (например, ">100")|

Использовать $ для фиксации ссылок при копировании|

Тестировать формулу на крайних значениях (0, отрицательные числа)

-->

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

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

⚠️ Внимание: Если формула возвращает #ИМЯ?, проверьте, правильно ли написано название функции. Excel не понимает опечатки (например, РАЗНИЦА вместо РАЗНОСТЬ).
ОшибкаПричинаРешение
#ЗНАЧ!Вычитание текста из числаПреобразуйте текст в число функцией ЗНАЧЕН() или исправьте формат ячейки
#ДЕЛ/0!Деление на ноль в сложной формулеПроверьте, не используется ли вычитание в знаменателе (например, =10/(A1-B1))
Неверная датаЯчейки отформатированы как текстВыделите ячейки → Формат → Формат ячеек → Дата
Отрицательное времяФормат ячейки не поддерживает отрицательные значенияИспользуйте формат [ч]:мм;[красный]-ч:мм

Ещё одна частая проблема — автоматическое округление. Excel может отображать 1,00, хотя реальное значение — 0,999999. Чтобы избежать этого, используйте функцию ОКРУГЛ():

=ОКРУГЛ(A1-B1; 2)

Где 2 — количество знаков после запятой.

Продвинутые техники: массивы и динамические диапазоны

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

=A1:A10-B1:B10

Введите эту формулу как формулу массиваExcel 365 она работает автоматически, в старых версиях нажмите Ctrl+Shift+Enter).

Для динамических диапазонов (например, вычитание последних 5 значений) используйте:

=ИНДЕКС(A:A; ПОИСКПОЗ(9E+307; A:A))-ИНДЕКС(B:B; ПОИСКПОЗ(9E+307; B:B))

Эта формула найдёт последние заполненные ячейки в столбцах A и B и вычтет их.

Ещё один полезный приём — вычитание с использованием именованных диапазонов. Создайте именованный диапазон (например, Доходы для A1:A10) и используйте его в формуле:

=СУММ(Доходы)-СУММ(Расходы)

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

Можно ли вычесть текст из числа?

Нет, Excel вернёт ошибку #ЗНАЧ!. Сначала преобразуйте текст в число функцией ЗНАЧЕН() или удалите текстовые символы (например, с помощью ПОИСК и ПСТР).

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

Это означает, что вычитаемая дата (B1) раньше уменьшаемой (A1). Excel корректно считает разницу, но если вам нужны только положительные значения, используйте =АБС(B1-A1).

Как вычесть время с учётом перехода через полночь?

Используйте формат [ч]:мм для ячейки с результатом. Например, если из 23:00 вычесть 1:00, Excel покажет 22:00, но если вычесть 2:00 — вернёт ######. Формат [ч]:мм решит проблему.

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

Да, но только если книга открывалась ранее в текущей сессии Excel. Используйте внешние ссылки:

=[Книга1.xlsx]Лист1!A1-[Книга2.xlsx]Лист1!A1

Учтите, что при закрытии источника формула перестанет обновляться.

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

Сначала приведите валюты к одному курсу, затем применяйте вычитание. Например:

=A1-(B1*Курс_валют)

Где Курс_валют — ячейка с актуальным курсом (например, 75 для рубля к доллару).