Как перевести минус в плюс в Excel: все способы с формулами и без

Если в вашей таблице Excel отрицательные значения отображаются с минусом (-150), а вам нужно преобразовать их в положительные (150) без изменения исходных данных, используйте один из 7 проверенных методов. Самый быстрый способ — умножить диапазон на -1 через специальную вставку, но для динамических расчётов лучше подойдут формулы ABS() или ЕСЛИ(). Проблема часто возникает при импорте данных из 1С, банковских выписок или бухгалтерских отчётов, где дебет/кредит обозначаются знаком «».

В этой статье разберём, как изменить знак с минуса на плюс в зависимости от задачи: однократно (для статических данных), динамически (с автоматической пересчёткой) или выборочно (только для определённых ячеек). Особое внимание уделим случаям, когда отрицательные числа хранятся как текст (например, "-100" в кавычках) — для них потребуется предварительная обработка.

1. Самый быстрый способ: умножение на –1 через специальную вставку

Метод подходит для разового преобразования числовых значений (не текста!) без формул. Алгоритм работает во всех версиях Excel, включая Microsoft 365 и Excel Online:

  1. В пустой ячейке (например, C1) введите -1.
  2. Скопируйте эту ячейку (Ctrl+C).
  3. Выделите диапазон с отрицательными числами, которые нужно преобразовать.
  4. Кликните правой кнопкой → Специальная вставка → выберите Значения и УмножитьОК.

Плюсы: мгновенный результат, не требует знания формул.

Минусы: исходные данные заменяются (не подходит для динамических таблиц).

⚠️ Внимание: Если после операции ячейки отображают ########, расширьте столбец — это означает, что ширина ячейки недостаточна для нового формата.

2. Формула ABS: преобразование с сохранением исходных данных

Функция ABS (абсолютное значение) удаляет знак «минус», сохраняя модуль числа. Синтаксис:

=ABS(число_или_ссылка)

Примеры использования:

  • 🔹 =ABS(A1) — преобразует значение из ячейки A1.
  • 🔹 =ABS(-150) — вернёт 150 (записано напрямую).
  • 🔹 =ABS(SUM(B2:B10)) — суммирует диапазон и убирает минус у результата.

📌 Когда использовать: Если нужно динамически отображать положительные значения, но сохранять исходные данные для других расчётов. Например, в отчётах о продажах, где убытки (-5000) должны показываться как абсолютные суммы (5000).

Исходное значениеФормулаРезультат
-250=ABS(A1)250
100=ABS(B1)100
"-300" (текст)=ABS(C1)#ЗНАЧ!
⚠️ Внимание: ABS не работает с текстом. Если ячейка содержит "-100" (в кавычках), предварительно преобразуйте её в число с помощью =ЗНАЧЕН(A1).

3. Формула ЕСЛИ для выборочного изменения знака

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

=ЕСЛИ(A1<0; -A1; A1)

Расшифровка:

  • 🔹 A1<0 — проверка на отрицательность.
  • 🔹 -A1 — умножение на –1 (меняет знак).
  • 🔹 A1 — возвращает исходное значение, если оно положительное.

🔄 Альтернатива для Excel 365: Формула массива с ЕСЛИМН (для обработки диапазонов):

=ЕСЛИМН(A1:A10<0; -A1:A10; A1:A10)

Ячейки содержат числа, а не текст|Нет пустых ячеек в диапазоне|Формат ячеек — "Общий" или "Числовой"|Для дробных чисел установлено достаточно знаков после запятой-->

4. Поиск и замена: замена «–» на пустоту

Метод подходит для текстовых отрицательных чисел (например, "-100"), когда формулы не работают:

  1. Выделите диапазон → Ctrl+H (замена).
  2. В поле Найти введите - (дефис).
  3. Поле Заменить на оставьте пустым.
  4. Нажмите Заменить всё.

⚠️ Ограничения:

  • 🚫 Не работает для числовых форматов (например, ячейка с -100 без кавычек).
  • 🚫 Удалит все дефисы, включая тире в тексте.

💡 Решение для числовых данных: Предварительно преобразуйте числа в текст с помощью =ТЕКСТ(A1; "0"), затем примените замену, а после — верните числовой формат через =ЗНАЧЕН().

📊 Какой метод вы используете чаще?
Специальная вставка
Формула ABS
Формула ЕСЛИ
Поиск и замена

5. Форматирование ячеек: визуальное скрытие минуса

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

  1. Выделите ячейки → правая кнопка → Формат ячеек (Ctrl+1).
  2. Перейдите на вкладку ЧислоДругие числовые форматы.
  3. В поле Тип введите: 0;0 (первый 0 — для положительных, второй — для отрицательных).

📊 Пример:

Исходное значениеФормат 0;0Отображение
-5000;0500
2000;0200
-0,50.0;0.00.5

Плюсы: исходные данные не изменяются, подходит для отчётов.

Минусы: при копировании ячеек в другие программы (например, Word) минус может снова появиться.

6. VBA-макрос для массового преобразования

Если нужно автоматизировать процесс для больших таблиц, используйте этот макрос:

Sub MinusToPlus()

Dim rng As Range

For Each rng In Selection

If IsNumeric(rng.Value) Then

rng.Value = Abs(rng.Value)

End If

Next rng

End Sub

🔧 Как запустить:

  1. Нажмите Alt+F11 → откройте Редактор VBA.
  2. Вставьте код выше в новый модуль (InsertModule).
  3. Выделите диапазон в Excel → запустите макрос (F5).

🛡️ Безопасность: Макрос работает только с числовыми ячейками (игнорирует текст и формулы). Для защиты данных сохраните файл перед запуском.

Как вернуть исходные данные после макроса?

Если макрос заменил значения в ячейках, отменить действие можно только через Ctrl+Z сразу после выполнения. Для надёжности создайте резервную копию листа (ПКМ по ярлыку листаПереместить/скопировать).

7. Ошибки и решения: почему не работает замена знака

Распространённые проблемы и их причины:

СимптомПричинаРешение
Формула ABS возвращает #ЗНАЧ!Ячейка содержит текст, а не числоИспользуйте =ЗНАЧЕН(A1) перед ABS
Специальная вставка не меняет знакЯчейки отформатированы как текстПреобразуйте в числовой формат (Числовой или Общий)
Макрос не срабатываетОтключены макросы в настройках безопасностиВключите макросы в ФайлПараметрыЦентр управления безопасностью
Поиск и замена не находит минусМинус — это символ (U+2013), а не - (U+002D)Скопируйте минус из ячейки и вставьте в поле Найти

FAQ: Частые вопросы

Можно ли изменить знак только для видимых ячеек после фильтра?

Да. После применения фильтра выделите видимый диапазон (исключая строки заголовков), затем используйте специальную вставку с умножением на -1. Альтернатива — формула =ЕСЛИ(ПОДИТОГ(103;A:A)>0; ABS(A1); ""), где 103 — код видимых ячеек.

Как поменять знак в сводной таблице?

В сводных таблицах нельзя напрямую изменять исходные данные. Решения:

1) Добавьте вычисляемое поле с формулой =ABS(исходное_поле).

2) Измените источник данных (например, добавьте столбец с ABS в исходную таблицу).

3) Примените пользовательский формат 0;0 к ячейкам сводной таблицы.

Почему после умножения на –1 появляются ошибки #ЗНАЧ!?

Ошибка возникает, если в диапазоне есть:

• Текстовые значения (например, "НДС 20%").

• Пустые ячейки (если включена настройка Пустые ячейки как нули в параметрах Excel).

• Ошибки в формулах (например, #ДЕЛ/0!).

Решение: Предварительно очистите данные с помощью =ЕСЛИОШИБКА(ЕСЛИ(A1="";0;A1);0).

Как изменить знак в Power Query?

1. Загрузите данные в Power Query (ДанныеИз таблицы/диапазона).

2. Выделите столбец → ПреобразоватьСтандартныйАбсолютное значение.

3. Или добавьте пользовательский столбец с формулой = if [Column1] < 0 then -[Column1] else [Column1].

Можно ли автоматически менять знак при импорте данных?

Да, с помощью Power Query или VBA.

• В Power Query: на этапе импорта добавьте шаг преобразования (см. предыдущий вопрос).

• В VBA: используйте событие Worksheet_Change для автоматической обработки вставленных данных:

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

If Not Intersect(Target, Me.Range("A1:A100")) Is Nothing Then

Application.EnableEvents = False

Target.Value = Abs(Target.Value)

Application.EnableEvents = True

End If

End Sub

Внимание: Отключите события (Application.EnableEvents = False) во время выполнения, чтобы избежать зацикливания.