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

Отображение отрицательных чисел в скобках — стандартный бухгалтерский формат, который часто требуется в финансовых отчётах, балансах и аналитических таблицах. В Microsoft Excel и Google Таблицах это можно сделать несколькими способами: от простого изменения формата ячейки до автоматизации через макросы. Но почему-то многие пользователи сталкиваются с трудностями: скобки не появляются, формулы ломаются, или числа превращаются в текст.

В этой статье разберём 5 рабочих методов, включая малоизвестные трюки для специфических случаев. Вы узнаете, как применить формат к отдельным ячейкам или ко всей таблице, как сохранить возможность сортировки и фильтрации, а также как избежать типичных ошибок при работе с большими массивами данных.

Особое внимание уделим динамическим таблицам, где отрицательные значения появляются в результате вычислений — здесь стандартные способы часто дают сбой. Также рассмотрим, как сделать скобки красного цвета (как в профессиональных отчётах) и почему иногда Excel игнорирует настройки формата.

Если вы работаете с Excel 365, Excel 2019 или более ранними версиями, все методы из этой статьи будут актуальны. Для Google Таблиц приведём отдельные нюансы.

1. Самый простой способ: изменение формата ячейки

Это базовый метод, который работает в 90% случаев. Он не требует формул или макросов, но имеет ограничения — например, не подходит для ячеек с формулами, где знаки меняются динамически.

Как применить:

  1. Выделите ячейки или диапазон, где нужно отобразить минус в скобках.
  2. Нажмите правой кнопкой мыши и выберите Формат ячеек... (или используйте сочетание Ctrl+1).
  3. В открывшемся окне перейдите на вкладку ЧислоЧисловые форматы(все форматы).
  4. В поле Тип: введите один из шаблонов:
    # ##0;[Красный](# ##0);0

    или для отображения скобок:

    # ##0;[Красный](# ##0);0
  5. Нажмите ОК.

Что означают символы в формате:

  • 🔢 # ##0 — формат для положительных чисел (два пробела как разделители тысяч).
  • 🔴 [Красный](# ##0) — формат для отрицательных чисел (цвет + скобки).
  • 0 — формат для нуля.

⚠️ Внимание: Если после применения формата скобки не появляются, проверьте, что в ячейках действительно хранятся числа, а не текст. Для этого выделите ячейку и посмотрите на строку формул — если слева от значения стоит зелёный треугольник, значит, Excel воспринимает данные как текст. Исправьте это с помощью функции =ЗНАЧЕН() или через Текст по столбцам на вкладке Данные.

📊 Какой версией Excel вы пользуетесь?
Excel 365 (онлайн или десктоп)
Excel 2019/2021
Excel 2016 или старше
Google Таблицы
Другая (LibreOffice, WPS)

2. Формулы для динамического отображения скобок

Если отрицательные значения появляются в результате вычислений (например, =B2-C2), то изменение формата ячейки не всегда сработает. В таких случаях поможет формула, которая автоматически добавляет скобки к отрицательным числам.

Вариант 1. Функция ЕСЛИ + ТЕКСТ

=ЕСЛИ(A1<0;ТЕКСТ(ABS(A1);"# ##0;(# ##0)");A1)

Эта формула:

  • 🔍 Проверяет, является ли значение в A1 отрицательным.
  • 🔄 Если да — преобразует его в положительное с помощью ABS и оборачивает в скобки.
  • 📊 Если нет — оставляет значение без изменений.

Вариант 2. Формула для бухгалтерского формата (со знаком "$")

=ЕСЛИ(A1<0;ТЕКСТ(ABS(A1);"$# ##0.00");ТЕКСТ(A1;"$# ##0.00"))

⚠️ Внимание: Формулы преобразуют числа в текст, что может нарушить сортировку и фильтрацию. Если вам нужно сохранять числовые свойства, используйте условное форматирование (см. следующий раздел) или создайте дополнительный столбец с оригинальными значениями.

☑️ Подготовка к применению формул

Выполнено: 0 / 4

3. Условное форматирование для автоматического применения скобок

Этот метод идеален для таблиц, где данные часто обновляются, а отрицательные значения появляются динамически. Условное форматирование позволяет сохранять числовые свойства ячеек, что важно для дальнейших расчётов.

Пошаговая инструкция:

  1. Выделите диапазон ячеек (например, B2:B100).
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. В выпадающем меню укажите Значение ячейкименьше0.
  5. Нажмите Формат... и на вкладке Число выберите формат:
    # ##0;[Красный](# ##0);0
  6. Сохраните правило.

Преимущества метода:

  • ✅ Сохраняет числовые свойства ячеек (можно сортировать, фильтровать, использовать в формулах).
  • ✅ Автоматически применяется при изменении данных.
  • ✅ Можно комбинировать с другими правилами форматирования.

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

  • ❌ Не работает в Google Таблицах (там условное форматирование не поддерживает изменение числовых форматов).
  • ❌ Если ячейка содержит формулу, которая возвращает текст, правило не сработает.
Как проверить, применено ли условное форматирование?

Выделите ячейку → Перейдите на вкладку ГлавнаяУсловное форматированиеУправление правилами. В открывшемся окне вы увидите все активные правила для выделенного диапазона.

4. Пользовательский формат для бухгалтерских отчётов

В профессиональной бухгалтерии отрицательные числа часто отображаются не только в скобках, но и с дополнительными символами (валюта, разделители тысяч). Создать такой формат можно вручную через Формат ячеек.

Примеры готовых форматов:

Цель Формат Пример отображения
Простой формат со скобками # ##0;(# ##0);0 1 234 / (567) / 0
С валютами (рубли) # ##0 "₽";(# ##0 "₽");0 "₽" 1 234 ₽ / (567 ₽)
С десятичными знаками # ##0.00;(# ##0.00);0.00 1 234.50 / (567.80)
Красный цвет для отрицательных # ##0;[Красный](# ##0);0 1 234 / (567) в красном цвете

Как применить:

  1. Выделите ячейки.
  2. Нажмите Ctrl+1 → вкладка Число(все форматы).
  3. Вставьте один из шаблонов выше в поле Тип:.
  4. Нажмите ОК.

⚠️ Внимание: Если вы копируете данные из других источников (например, из или PDF), Excel может автоматически назначать им текстовый формат. В этом случае пользовательские числовые форматы работать не будут. Чтобы исправить это, используйте функцию =ЗНАЧЕН() или инструмент Текст по столбцам на вкладке Данные.

5. VBA-макрос для массового форматирования

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

Код макроса:

Sub ApplyParenthesesToNegatives()

Dim rng As Range

Dim cell As Range

' Запрашиваем у пользователя диапазон

On Error Resume Next

Set rng = Application.InputBox( _

Prompt:="Выделите диапазон для форматирования:", _

Title:="Форматирование отрицательных чисел", _

Type:=8)

On Error GoTo 0

' Проверяем, что диапазон выбран

If rng Is Nothing Then Exit Sub

' Применяем формат к каждой ячейке

For Each cell In rng

If IsNumeric(cell.Value) And cell.Value < 0 Then

cell.NumberFormat = "# ##0;(# ##0);0"

End If

Next cell

MsgBox "Форматирование завершено!", vbInformation

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код выше в новый модуль (ВставкаМодуль).
  3. Закройте редактор и вернитесь в Excel.
  4. Нажмите Alt+F8, выберите макрос ApplyParenthesesToNegatives и запустите его.
  5. В открывшемся окне выделите нужный диапазон и нажмите OK.

Преимущества макроса:

  • 🚀 Обрабатывает большие объёмы данных за секунды.
  • 🎯 Точно целевые ячейки (только отрицательные числа).
  • 🔄 Можно модифицировать под свои нужды (например, добавить проверку на валюту).

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). Если вы сохраните файл как .xlsx, код не будет выполняться. Также убедитесь, что в настройках Excel разрешено выполнение макросов (ФайлПараметрыЦентр управления безопасностьюПараметры центра...Настройки макросов).

6. Особенности работы в Google Таблицах

В Google Таблицах многие методы из Excel работают иначе или вообще недоступны. Например, здесь нет условного форматирования для числовых форматов, а макросы пишутся на Google Apps Script, а не на VBA.

Способы отображения минуса в скобках в Google Таблицах:

Метод 1. Пользовательский формат

  1. Выделите ячейки.
  2. Нажмите ФорматЧислаДругие форматыПользовательский числовой формат.
  3. Введите шаблон:
    # ##0;(# ##0);0

Метод 2. Формула с ЕСЛИ и ТЕКСТ

=ЕСЛИ(A1<0;ТЕКСТ(ABS(A1);"(# ##0)");A1)

В отличие от Excel, здесь функция ТЕКСТ не поддерживает разделение на положительные/отрицательные значения в одном шаблоне, поэтому приходится использовать ЕСЛИ.

Метод 3. Apps Script для массового форматирования

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

function formatNegatives() {

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

var range = sheet.getDataRange();

var values = range.getValues();

for (var i = 0; i < values.length; i++) {

for (var j = 0; j < values[i].length; j++) {

if (typeof values[i][j] === 'number' && values[i][j] < 0) {

sheet.getRange(i + 1, j + 1).setNumberFormat('# ##0;(# ##0);0');

}

}

}

}

Ограничения Google Таблиц:

  • ❌ Нет возможности изменять цвет текста через пользовательский формат (только через условное форматирование).
  • ❌ Условное форматирование не поддерживает изменение числовых форматов.
  • ❌ Макросы на VBA не работают.

7. Типичные ошибки и как их избежать

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

Ошибка 1: Скобки не появляются

  • 🔹 Причина: Ячейка содержит текст, а не число.
  • 🔧 Решение: Используйте функцию =ЗНАЧЕН(A1) или инструмент Текст по столбцам.

Ошибка 2: Формулы перестают работать

  • 🔹 Причина: Вы преобразовали числа в текст с помощью формул (например, ТЕКСТ).
  • 🔧 Решение: Используйте условное форматирование или создайте дополнительный столбец с оригинальными значениями.

Ошибка 3: Скобки отображаются, но сортировка ломается

  • 🔹 Причина: Данные стали текстовыми.
  • 🔧 Решение: Применяйте пользовательский формат ячеек, а не формулы.

Ошибка 4: В Google Таблицах не работает условное форматирование

  • 🔹 Причина: В Google Таблицах условное форматирование не меняет числовые форматы.
  • 🔧 Решение: Используйте пользовательский формат или Apps Script.

Ошибка 5: Макрос не применяет формат ко всем ячейкам

  • 🔹 Причина: В диапазоне есть пустые ячейки или текст.
  • 🔧 Решение: Добавьте в макрос проверку на тип данных (IsNumeric).

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

Можно ли сделать скобки красного цвета без условного форматирования?

Да, это можно сделать прямо в пользовательском формате ячейки. Используйте шаблон:

# ##0;[Красный](# ##0);0

Здесь [Красный] — это указание цвета для отрицательных чисел. Аналогично можно использовать другие цвета, например, [Зелёный] или [Синий].

Почему после копирования данных из 1С скобки не отображаются?

Проблема в том, что данные из часто экспортируются как текст, даже если выглядят как числа. Чтобы исправить это:

  1. Выделите проблемные ячейки.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. На первом шаге выберите С разделителями, на втором — снимите все галочки, на третьем — укажите формат Общий.
  4. Нажмите Готово.

После этого примените пользовательский формат со скобками.

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

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

  1. Щёлкните правой кнопкой по ячейке со значением в сводной таблице.
  2. Выберите Параметры полей значений.
  3. Внизу окна нажмите Числовой формат.
  4. Выберите (все форматы) и введите шаблон со скобками.

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

Можно ли использовать этот формат в Power Query?

В Power Query (инструмент для импорта и преобразования данных) нет прямой возможности назначить пользовательский числовой формат. Однако вы можете:

  1. Добавить пользовательский столбец с формулой, которая преобразует отрицательные числа в текст со скобками.
  2. Или применить формат уже после загрузки данных в Excel.

Пример кода для Power Query (язык M):

= Table.AddColumn(#"Previous Step", "Formatted", each if [YourColumn] < 0 then "(" & Text.From(Abs([YourColumn])) & ")" else Text.From([YourColumn]))
Как убрать скобки, если они больше не нужны?

Чтобы вернуть стандартный формат:

  1. Выделите ячейки.
  2. Нажмите Ctrl+1.
  3. Выберите формат Общий или Числовой.
  4. Нажмите ОК.

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