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

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

Вы когда-нибудь пытались отнять два числа в Microsoft Excel, но вместо ожидаемого результата получали странные ошибки вроде #ЗНАЧ! или ######? Или формула =A1-B1 вдруг возвращает дату вместо числа? Это не баг программы — просто Excel обрабатывает данные по своим правилам, которые не всегда очевидны для новичка.

В отличие от обычного калькулятора, здесь важно не только что вы вычитаете, но и как это оформлено. Например, ячейка с текстом "10 кг" для Excel — это не число 10, а строка символов. Попытка вычесть из неё что-либо приведёт к ошибке. То же касается дат (которые на самом деле являются числами в специальном формате) или времени (где 24:00 превращается в 0:00). Разберёмся, как правильно работать с разными типами данных и избегать типичных ошибок.

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

Начнём с самого простого — вычитания чисел и ссылок на ячейки. Формула в Excel всегда начинается со знака =. Чтобы отнять одно число из другого, используйте:

  • 🔢 Прямое вычитание чисел: =50-20 → вернёт 30.
  • 📊 Вычитание через ссылки: =A1-B1, где A1 и B1 — адреса ячеек с числами.
  • 🔄 Вычитание диапазона: =СУММ(A1:A5)-B1 — сначала суммирует значения в A1:A5, затем вычитает B1.

Если вам нужно вычесть одно и то же значение из нескольких ячеек, не вводите формулу для каждой строки вручную. Используйте маркер автозаполнения (маленький квадратик в правом нижнем углу ячейки с формулой). Просто потяните его вниз, и Excel автоматически скорректирует ссылки. Например, формула =A1-$B$1 (с абсолютной ссылкой на B1) позволит вычесть фиксированное значение из всех ячеек столбца A.

Вычитание процентов: 3 формулы для разных задач

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

Задача Формула Пример Результат
Вычесть X% из числа =Число*(1-Процент%) =100*(1-20%) 80
Узнать разницу в % между двумя числами =(Новое-Старое)/Старое =(150-100)/100 0.5 (50%)
Прибавить/отнять % к числу =Число*(1±Процент%) =100*(1+15%) 115

Если вам нужно вычесть процент из каждой ячейки столбца, используйте комбинацию абсолютных и относительных ссылок. Например, формула =A1*(1-$B$1) (где в B1 указан процент, скажем, 20%) позволит применить вычитание ко всему столбцу A одним махом.

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

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

Excel хранит даты и время как числа: дата 01.01.1900 соответствует числу 1, а каждое последующее число — это количество дней с этой даты. Поэтому вычитание дат автоматически возвращает разницу в днях. Например:

  • 📅 =B1-A1, где A1 = 01.01.2026, B1 = 10.01.2026 → результат 9 (дней).
  • =B1-A1 для времени 10:00 и 12:30 → вернёт 0.104 (что равно 2.5 часам в долях суток).

Чтобы результат отображался в удобном формате (например, "9 дней" или "2:30"), измените формат ячейки с формулой:

  1. Выделите ячейку с результатом.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Выберите категорию Все форматы и введите:
    • Для дней: 0 "дней"
    • Для часов: [ч]:мм (если разница больше 24 часов)
Почему Excel показывает ###### вместо результата?

Это означает, что столбец слишком узкий для отображения значения. Растяните его или измените формат ячейки.

Для вычитания времени с учётом рабочих дней используйте функцию =РАЗНДАТ(). Например, =РАЗНДАТ(A1;B1;"d") вернёт количество полных дней между датами, игнорируя выходные (если они указаны в настройках).

Вычитание массивов и динамических диапазонов

Если вам нужно вычесть сразу несколько значений из другого набора (например, вычесть каждый элемент столбца B из соответствующего в столбце A), используйте формулы массива. В новых версиях Excel (365, 2021) это делается просто:

=A1:A10 - B1:B10

В более старых версиях (2019 и ранее) после ввода формулы нажмите Ctrl+Shift+Enter, чтобы активировать режим массива. Excel автоматически обернёт формулу в фигурные скобки {}.

Для динамических диапазонов (когда количество строк может меняться) используйте функции =ИНДЕКС() или =ДВССЫЛ(). Например:

=СУММ(A1:INDEX(A:A;СЧЁТЗ(A:A))) - B1

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

Ячейки имеют одинаковый размер (например, A1:A10 и B1:B10)|

Нет текстовых значений в диапазонах|

Используется правильная версия Excel (для формул массива)|

Результат размещён в достаточном количестве ячеек-->

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

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

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

Для сложных случаев (например, вычитание с учётом условий) используйте комбинацию функций:

  • 🔍 =ЕСЛИ() для условного вычитания: =ЕСЛИ(A1>B1; A1-B1; 0).
  • 📈 =СУММЕСЛИ() для вычитания сумм по критерию: =СУММЕСЛИ(A1:A10;">100")-СУММ(B1:B10).

Продвинутые техники: вычитание с условиями и Power Query

Для автоматизации вычитания в больших наборах данных используйте Power Query (доступен в Excel 2016 и новее). Например, чтобы вычесть значения из одного столбца из другого:

  1. Выделите исходные данные и нажмите Данные → Из таблицы/диапазона.
  2. В редакторе Power Query выберите Добавить столбец → Настраиваемый столбец.
  3. Введите формулу: [Column1] - [Column2] (замените на имена ваших столбцов).
  4. Нажмите Закрыть и загрузить.

Для условного вычитания в Power Query используйте оператор if:

if [Column1] > [Column2] then [Column1] - [Column2] else 0

Если вам нужно вычесть данные из разных книг или листов, используйте 3D-ссылки. Например, формула =Лист2!A1-Лист1!A1 вычтет значение из ячейки A1 на Лист1 из ячейки A1 на Лист2. Для диапазонов: =СУММ(Лист1:Лист3!A1:A10) просуммирует данные со всех листов от Лист1 до Лист3.

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

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

Нет, Excel не поддерживает вычитание текста напрямую. Однако вы можете:

  1. Использовать функции работы с текстом (например, =ЛЕВСИМВ(A1;3) для извлечения части строки).
  2. Преобразовать текст в числа с помощью =ЗНАЧЕН() (если текст представляет собой число, например, "100").

Пример: =ЗНАЧЕН(ПОДСТАВИТЬ(A1;" кг";"")) - ЗНАЧЕН(ПОДСТАВИТЬ(B1;" кг";"")) — удалит единицы измерения и вычтет числа.

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

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

=ЕСЛИ(B1

Где A1 — начальное время (23:00), B1 — конечное (1:00). Формат ячейки с результатом установите как [ч]:мм.

Почему формула =СЕГОДНЯ()-A1 не обновляется?

Функция =СЕГОДНЯ() пересчитывается только при открытии файла или принудительном пересчёте (F9). Чтобы обновить результат:

  • Нажмите F9 (пересчёт всех формул на листе).
  • Или перейдите в Формулы → Вычислить лист.

Если файл открыт постоянно, используйте VBA-макрос для автоматического обновления по таймеру.

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

Без открытия файла это невозможно сделать стандартными формулами. Альтернативы:

  1. Откройте обе книги и используйте 3D-ссылки (например, =[Книга2.xlsx]Лист1!$A$1).
  2. Импортируйте данные через Power Query (вкладка Данные → Получить данные).
  3. Используйте VBA для извлечения данных из закрытого файла (требует навыков программирования).
Можно ли отменить вычитание (вернуть исходные данные)?

Excel не сохраняет историю изменений в ячейках, но вы можете:

  • Использовать Ctrl+Z сразу после ввода формулы.
  • Создать копию исходных данных на другом листе или в скрытом столбце.
  • Включить Отслеживание изменений (Рецензирование → Включить контроль изменений), но это работает только для ручного ввода, не для формул.

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