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

Почему вычитание в Excel часто вызывает ошибки

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

Допустим, вы пытаетесь вычесть даты, время или текстовые значения — и получаете бессмыслицу. Или формула работает сегодня, но ломается после обновления таблицы. Это не баг программы, а следствие неявного преобразования типов данных, которое Excel выполняет автоматически (и не всегда корректно). В этой статье разберём не только базовое вычитание, но и нюансы, которые экономят часы debugging’а.

Способ 1: Простое вычитание двух ячеек

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

=A2-B2

Но даже здесь есть подводные камни:

  • 🔢 Если одна из ячеек содержит текст (например, "10 кг"), Excel вернёт ошибку #ЗНАЧ!. Программа не умеет автоматически извлекать числа из текста.
  • ⏱️ При вычитании времени результат отобразится в формате даты/времени (например, 0:30:00 для разницы в 30 минут), а не в привычных часах.
  • 📊 Если ячейки отформатированы как процентные, Excel сначала преобразует их в десятичные дроби (50% → 0.5), что может сбить с толку.

Чтобы избежать ошибок, всегда проверяйте формат ячеек через Главная → Формат → Формат ячеек. Для чисел выбирайте категорию Числовой или Общий.

Способ 2: Вычитание с использованием функции РАЗН (для дат)

Когда речь идёт о датах или времени, простое вычитание работает, но результат не всегда удобен для анализа. Например, разница между 15.05.2026 и 10.05.2026 отобразится как число 5 (дней), но если вам нужны месяцы или годы, потребуется функция РАЗНДАТ:

=РАЗНДАТ(A2; B2; "d")  

=РАЗНДАТ(A2; B2; "m")

=РАЗНДАТ(A2; B2; "y")

Обратите внимание на синтаксис: аргументы разделяются точкой с запятой (;), а не запятой. Также функция РАЗНДАТ не работает с временем — для него используйте простое вычитание с последующим умножением на 24 (чтобы получить часы):

= (A2-B2)*24  
Почему РАЗНДАТ может давать неточные результаты?

Функция РАЗНДАТ округляет месяцы и годы по календарным правилам. Например, разница между 31.01.2026 и 01.03.2026 составит 1 месяц, хотя фактически прошло 29 дней. Для точных расчётов используйте разницу в днях ("d") и делите на 30/365 самостоятельно.

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

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

=ЕСЛИ(A2>1000; A2-B2; A2)

Можно усложнить логику, добавив несколько условий через И/ИЛИ:

=ЕСЛИ(И(A2>1000; B2<500); A2-B2; A2+100)

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

=ЕСЛИ(A2>1000;

ЕСЛИ(B2<500; A2-B2; A2-B2/2);

A2+100)

📊 Как часто вы используете условное вычитание в Excel?
Часто (еженедельно)
Иногда (ежемесячно)
Рядом (1-2 раза в год)
Никогда

Способ 4: Вычитание массивов (диапазонов ячеек)

Если нужно вычесть целые столбцы или строки (например, вычесть значения из диапазона B2:B10 из A2:A10), не обязательно писать формулу для каждой ячейки. Достаточно:

  1. Выделить диапазон, где должен появиться результат (например, C2:C10).
  2. Ввести формулу =A2:A10-B2:B10.
  3. Нажать Ctrl+Shift+Enter (в старых версиях Excel) или просто Enter (в Excel 365).

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

Важно: если диапазоны разного размера, Excel вернёт ошибку #Н/Д. Также массивы не поддерживают условные функции (например, ЕСЛИ) без дополнительных манипуляций.

Исходные данные (A) Вычитаемые (B) Формула Результат (C)
150 20 =A2-B2 130
10.05.2026 05.05.2026 =A3-B3 5
10:30:00 09:45:00 = (A4-B4)*24 0,75 (часов)
200 текст =A5-B5 #ЗНАЧ!

Убедитесь, что диапазоны одинакового размера|Проверьте форматы ячеек (числовой/даты)|Удалите пустые строки в диапазонах|Используйте абсолютные ссылки ($A$2), если нужно зафиксировать диапазон-->

Способ 5: Вычитание с абсолютными и относительными ссылками

При копировании формул Excel автоматически смещает ссылки на ячейки. Например, если в C2 введена формула =A2-B2, то при копировании в C3 она станет =A3-B3. Это удобно, но не всегда нужно.

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

  • 🔗 =A2-$B$1 — вычитает всегда значение из B1, независимо от строки.
  • 🔗 =$A2-B2 — фиксирует столбец A, но позволяет менять строку.
  • 🔗 =$A$2-B2 — полностью фиксирует ячейку A2.

Клавиша F4 (в Windows) или Command+T (в Mac) автоматически добавляет/убирает знаки $ при редактировании формулы. Это ускоряет работу с большими таблицами.

⚠️ Внимание: Если вы фиксируете ячейку с ошибкой (например, #ДЕЛ/0!), эта ошибка скопируется во все формулы. Перед использованием абсолютных ссылок проверяйте исходные данные на корректность.

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

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

Ошибка Причина Решение
#ЗНАЧ! Текст в ячейке или несовместимые типы данных Используйте ЗНАЧЕН для преобразования текста в число: =ЗНАЧЕН(A2)-B2
#ДЕЛ/0! Деление на ноль в формуле (например, при вычитании времени) Проверьте, что вычитаемые ячейки не пустые. Используйте ЕСЛИОШИБКА
#ИМЯ? Опечатка в названии функции или отсутствует аргумент Проверьте синтаксис. В русскоязычном Excel функции пишутся на русском (РАЗНДАТ, а не DATEDIF)
Неправильный результат Ячейки отформатированы как текст или дата Измените формат на Числовой через Главная → Формат → Формат ячеек

Особенно коварна ошибка #ЗНАЧ! при работе с импортированными данными (например, из CSV). Excel может воспринимать числа как текст, если они содержат пробелы или невидимые символы. Чтобы очистить данные, используйте функцию СЖПРОБЕЛЫ:

=ЗНАЧЕН(СЖПРОБЕЛЫ(A2))-B2
⚠️ Внимание: Функция ЗНАЧЕН работает только с текстом, который можно преобразовать в число (например, "100" → 100). Если в ячейке "сто рублей", она вернёт ошибку. В таких случаях используйте ПОИСК или регулярные выражения (в Power Query).

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

Можно ли вычесть проценты из числа в Excel?

Да, но нужно учитывать, что проценты в Excel хранятся как десятичные дроби. Например, 20% — это 0.2. Чтобы вычесть 20% из числа в ячейке A2, используйте:

=A2-(A2*20%)    =A2*(1-20%)

Если процент указан в отдельной ячейке (например, B2 со значением 20%), формула будет:

=A2-(A2*B2%)
Почему при вычитании дат получается отрицательное число?

Excel хранит даты как количество дней с 1 января 1900 года. Если вычитаемая дата (B2) позже начальной (A2), результат будет отрицательным. Чтобы избежать этого:

  • Используйте =АБС(A2-B2) для получения модуля разницы.
  • Проверяйте порядок ячеек: =МАКС(A2;B2)-МИН(A2;B2).
Как вычесть время с учётом ночных смен (например, 23:00 — 01:00)?

При вычитании времени через полночь Excel вернёт ошибку или некорректный результат. Решение:

  1. Если конечное время (B2) меньше начального (A2), добавьте 1 день к конечному времени:
  2. =ЕСЛИ(B2
  3. Отформатируйте ячейку с результатом как [ч]:мм (через Формат ячеек → Время).
Можно ли вычесть данные из закрытой книги Excel?

Да, но с ограничениями. Если книга закрыта, ссылки на её ячейки (=[Книга1.xlsx]Лист1!A2-B2) обновляются только при открытии файла. Чтобы избежать ошибок:

  • Используйте абсолютные пути (например, C:\Папка\[Книга1.xlsx]Лист1!A2).
  • Включите параметр Файл → Параметры → Формулы → Загрузка данных из внешних связей.
  • Для критичных расчётов импортируйте данные в текущую книгу через Данные → Получение данных.
Как автоматически вычитать значения при изменении данных?

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

  • Переключитесь в ручной режим расчётов: Формулы → Вычисления → Вручную.
  • Используйте таблицы Excel (вкладка Вставка → Таблица) — они обновляются эффективнее.
  • Для сложных вычислений применяйте Power Query (вкладка Данные → Получение данных).