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

Вычитание в Microsoft Excel — одна из самых востребованных операций, которая на первый взгляд кажется элементарной. Однако даже опытные пользователи сталкиваются с нюансами: почему формула =A1-B1 suddenly возвращает дату вместо числа? Как вычесть проценты или время корректно? И почему результаты иногда отображаются в странном формате ######?

Эта статья не просто объяснит базовый синтаксис. Мы разберём 7 реальных сценариев — от вычитания столбцов до расчёта разницы между датами с учётом выходных, — а также покажем, как избежать 5 типичных ошибок, которые портят 80% вычислений. Вы узнаете, почему =СЕГОДНЯ()-A1 может дать неверный результат и как заставить Excel вычитать время без "магических" преобразований. Готовы перестать гуглить "почему эксель не вычитает" каждый раз?

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

Начнём с азов: как вычесть одно число из другого или содержимое одной ячейки из другой. В Excel для этого используется оператор минус (-) или функция РАЗН (в английской версии SUBTRACT, но в русскоязычном Excel её нет — только оператор).

Простейшая формула выглядит так:

=A1-B1

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

  • 📌 Пример 1: =50-20 → вернёт 30 (статическое вычитание).
  • 📌 Пример 2: =B2-A2 → вычтет значение из A2 из B2.
  • 📌 Пример 3: =СУММ(C1:C5)-D1 → вычтет D1 из суммы диапазона C1:C5.

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

=ЗНАЧЕН(ПОДСТАВИТЬ(A1; " кг"; "")) - ЗНАЧЕН(ПОДСТАВИТЬ(B1; " кг"; ""))
📊 Как часто вы используете вычитание в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

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

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

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

Но что если условий несколько? Вместо гнездования ЕСЛИ (что делает формулу нечитаемой) используйте ЕСЛИМН (IFS в английской версии):

=ЕСЛИМН(

A1>2000; A1-A1*15%; -- скидка 15% для товаров >2000

A1>1000; A1-A1*10%; -- скидка 10% для товаров >1000

ИСТИНА; A1 -- без скидки

)

Лайфхак: если условие проверяет диапазон (например, "между 500 и 1000"), комбинируйте И (AND) с ЕСЛИ:

=ЕСЛИ(И(A1>=500; A1<=1000); A1*0,95; A1)

Убедитесь, что все скобки закрыты|Проверьте порядок аргументов в ЕСЛИ (условие; значение_если_истина; значение_если_ложь)|Используйте ЕСЛИМН вместо вложенных ЕСЛИ|Тестируйте формулу на граничных значениях (например, ровно 1000 рублей)

-->

3. Вычитание дат и времени: подводные камни

Excel хранит даты и время как числа: 1 соответствует 01.01.1900, а время — долям суток (например, 0,5 = 12:00). Это приводит к неожиданным результатам. Например, формула =A2-A1 для дат вернёт количество дней между ними, но если ячейки отформатированы как "Дата", вы увидите бессмыслицу вроде 45689.

Чтобы получить разницу в годах, месяцах или часах, используйте специализированные функции:

ЦельФормулаПример результата
Разница в днях=A2-A1 (формат ячейки — "Общий")15
Разница в месяцах=РАЗНДАТ(A1; A2; "m")3
Разница в годах=РАЗНДАТ(A1; A2; "y")2
Разница во времени (часы)=(B1-A1)*245,5 (5 часов 30 минут)

Критическая ошибка: функция РАЗНДАТ (DATEDIF) не документирована в Excel, но работает! Она чувствительна к порядку аргументов: =РАЗНДАТ(дата_начала; дата_конца; "единица"). Если перепутать местами A1 и A2, получите отрицательное значение.

⚠️ Внимание: При вычитании времени убедитесь, что ячейки имеют формат "Время" или "Общий". Если Excel показывает ######, расширьте столбец или измените формат на [ч]:мм для отображения часов >24.

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

Вычитание процентов — частая задача в финансовых расчётах. Вот три способа сделать это корректно:

  1. Уменьшение на X%: =A1*(1-X%). Например, =A1*(1-20%) уменьшит значение на 20%.
  2. Вычитание X% от другого числа: =A1-B1*X%. Например, =1000-1000*15% вернёт 850.
  3. Динамический процент из ячейки: =A1-A1*B1, где в B1 указан процент в виде десятичной дроби (например, 0,15 для 15%).

Типичная ошибка: многие пишут =A1-20%, ожидая, что Excel вычтет 20% от A1. На самом деле это эквивалентно =A1-0,2 (вычитается фиксированное значение 0,2, а не процент!).

Почему =A1-20% работает не так, как ожидается?

В Excel оператор % преобразует число в долю: 20% = 0,2. Формула =A1-20% фактически вычисляет A1-0,2, а не A1 минус 20% от A1. Для корректного вычитания процентов используйте =A1*(1-20%) или =A1-A1*20%.

5. Вычитание с округлением: функции ОКРУГЛ, ОКРУГЛВВЕРХ, ОКРУГЛВНИЗ

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

  • 🔹 ОКРУГЛ(число; количество_знаков) — стандартное округление (например, =ОКРУГЛ(A1-B1; 2) для 2 знаков после запятой).
  • 🔹 ОКРУГЛВВЕРХ — всегда в большую сторону (=ОКРУГЛВВЕРХ(A1-B1; 0) для целых чисел).
  • 🔹 ОКРУГЛВНИЗ — всегда в меньшую сторону.
  • 🔹 ЦЕЛОЕ — отбрасывает дробную часть (=ЦЕЛОЕ(A1-B1)).

Пример из практики: если вам нужно вычесть налог 13% и округлить результат до рублей, используйте:

=ОКРУГЛ(A1*A1*13%; 0)
⚠️ Внимание: Функция ОКРУГЛ использует банковское округление (5 и выше округляется вверх). Если вам нужно всегда округлять 0,5 вверх, используйте ОКРУГЛВВЕРХ.

6. Вычитание с обработкой ошибок: функция ЕОШИБКА

Что если в ячейке, которую вы пытаетесь вычесть, содержится текст или ошибка? Формула вернёт #ЗНАЧ! или #ДЕЛ/0!. Чтобы этого избежать, оберните вычитание в ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(A1-B1; 0)

Эта формула вернёт 0, если произойдёт ошибка. Альтернативные варианты:

=ЕСЛИОШИБКА(A1-B1; "")

— вернёт пустую строку при ошибке, или:

=ЕСЛИ(ЕОШИБКА(A1-B1); "Данные отсутствуют"; A1-B1)

Продвинутый приём: комбинируйте с ЕПУСТО, чтобы игнорировать пустые ячейки:

=ЕСЛИ(ИЛИ(ЕПУСТО(A1); ЕПУСТО(B1)); ""; A1-B1)

7. Автоматизация вычитания: таблицы Excel и Power Query

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

  • 📊 Excel-таблицы: Преобразуйте диапазон в таблицу (Ctrl+T), добавьте столбец с формулой вычитания. Она автоматически скопируется на новые строки.
  • 🔄 Power Query: Импортируйте данные в Power Query (Данные → Получить данные), добавьте пользовательский столбец с формулой на языке M:
= [План] - [Факт]

Затем загрузите данные обратно в Excel.

  • 📈 Сводные таблицы: Добавьте вычисляемое поле (Анализ → Поля, элементы и наборы → Вычисляемое поле) с формулой вычитания.
  • Пример для Power Query: если у вас есть столбцы Price и Discount, добавьте столбец с формулой:

    = [Price] - [Discount]

    и назовите его FinalPrice.

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

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

    Excel интерпретирует результат как дату, если он представляет собой целое число в диапазоне дат (например, 44197 = 01.01.2021). Чтобы исправить:

    1. Выделите ячейку с результатом.
    2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
    3. Выберите формат Общий или Числовой.
    Как вычесть время с учётом ночного периода (например, 23:00 - 1:00)?

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

    =ЕСЛИ(B1

    и отформатируйте ячейку как [ч]:мм.

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

    Прямо — нет, но можно использовать функции для работы с текстом. Например, чтобы удалить часть текста:

    =ПОДСТАВИТЬ(A1; B1; "")

    где B1 — текст, который нужно "вычесть" из A1.

    Как вычесть из каждой ячейки столбца фиксированное значение?

    Зафиксируйте адрес ячейки с вычитаемым значением знаком $:

    =A1-$C$1

    и протяните формулу вниз. Значение из C1 будет вычитаться из всех ячеек столбца A.

    Почему после вычитания появляется ######?

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