Отображение отрицательных чисел в скобках — стандартный требование бухгалтерской и финансовой отчётности. В Microsoft Excel это можно сделать несколькими способами: от простого изменения формата ячейки до автоматизации через VBA-макросы. Но почему-то многие пользователи до сих пор вручную прописывают скобки или используют текстовый формат, что ломает все расчёты.
В этой статье вы найдёте 5 проверенных методов, включая малоизвестные трюки с условным форматированием и пользовательскими числовыми форматами. Мы разберём нюансы для разных версий Excel (2010–2023, Office 365), покажем, как сохранить возможность сортировки и фильтрации данных, а также предостережём от типичных ошибок, из-за которых числа превращаются в текст.
Если вам нужно не просто визуально оформить отрицательные значения, но и автоматизировать процесс для больших таблиц — обратите внимание на раздел про динамические формулы. А для тех, кто работает с отчётами в Google Sheets, мы добавили бонусный способ в конце статьи.
1. Стандартный числовой формат: самый быстрый способ
Самый простой метод — использовать встроенный формат # ##0_);(# ##0). Он автоматически заключает отрицательные числа в скобки, сохраняя их числовым значением (а не текстом!). Это критично для дальнейших вычислений.
Как применить:
- Выделите ячейки или диапазон с числами.
- Нажмите
Ctrl+1(или правая кнопка → Формат ячеек). - Перейдите на вкладку Число → категория Все форматы.
- В поле Тип введите:
# ##0_);(# ##0). - Нажмите ОК.
Этот формат работает и для дробных чисел — просто добавьте разделитель: # ##0.00_);(# ##0.00). Например, число -1250.75 отобразится как (1250.75).
Выделите ячейку с отрицательным числом|Убедитесь, что в строке формул отображается число БЕЗ скобок|Попробуйте сложить две ячейки — результат должен быть числом, а не текстом|Проверьте сортировку: отрицательные значения должны идти после положительных-->
⚠️ Внимание: Если после применения формата числа выравниваются по левому краю (как текст), значит, в ячейках изначально был текстовый формат. Исправьте это через Данные → Текст по столбцам или умножьте ячейки на 1.
2. Условное форматирование: гибкость без формул
Когда нужно комбинировать скобки с цветом или другими стилями, поможет условное форматирование. Этот метод позволяет:
- 🎨 Заключать в скобки только отрицательные числа, оставляя положительные без изменений.
- 🔴 Добавлять красный цвет для отрицательных значений (как в бухгалтерских отчётах).
- 📊 Сохранять числовой формат для расчётов.
Пошаговая инструкция:
- Выделите диапазон ячеек.
- Перейдите на вкладку Главная → Условное форматирование → Создать правило.
- Выберите Форматировать только ячейки, которые содержат.
- В поле Форматировать только ячейки с укажите: Значение → меньше →
0. - Нажмите Формат → вкладка Число → выберите формат
# ##0_);(# ##0)(как в первом способе). - Дополнительно можно задать красный цвет шрифта на вкладке Шрифт.
Преимущество этого метода: правила условного форматирования автоматически применяются к новым данным, добавленным в диапазон.
Используйте Менеджер правил условного форматирования (вкладка Главная → Условное форматирование → Управление правилами). Выделите правило, нажмите Изменить область и укажите новый диапазон на другом листе. Важно: ссылки на ячейки в правиле должны быть относительными (без знака Как скопировать условное форматирование на другой лист?
$), иначе форматирование сломается при копировании.
3. Формулы для динамического отображения
Если вам нужно не только отобразить скобки, но и сохранить оригинальное число для расчётов в другой ячейке, используйте формулы. Этот метод незаменим для сводных таблиц или когда исходные данные нельзя изменять.
Базовая формула:
=ЕСЛИ(A1<0;ТЕКСТ(ABS(A1);"# ##0");A1)
Где:
A1— ячейка с исходным числом.ABS(A1)— возвращает абсолютное значение (без знака минус).ТЕКСТ(..., "# ##0")— форматирует число без десятичных знаков.
Для дробных чисел используйте:
=ЕСЛИ(A1<0;"("&ТЕКСТ(ABS(A1);"# ##0.00")&")";A1)
⚠️ Внимание: Формулы возвращают текст, а не числа! Если вам нужно дальнейшее использование этих значений в расчётах, создайте отдельный столбец с оригинальными данными или используйте функцию ЗНАЧЕН для преобразования обратно в число (но это удалит скобки).
| Исходное число | Формула | Результат | Тип данных |
|---|---|---|---|
1500 |
=ЕСЛИ(A1<0;ТЕКСТ(ABS(A1);"# ##0");A1) |
1500 |
Число |
-2300.5 |
=ЕСЛИ(A1<0;"("&ТЕКСТ(ABS(A1);"# ##0.00")&")";A1) |
(2300.50) |
Текст |
0 |
=ЕСЛИ(A1<0;ТЕКСТ(ABS(A1);"# ##0");A1) |
0 |
Число |
4. Пользовательский формат для бухгалтерского учёта
В бухгалтерии часто требуется не только заключать отрицательные числа в скобки, но и добавлять символ валюты или разделять тысячи пробелами. Для этого создайте сложный пользовательский формат.
Пример формата для рублей с пробелами-разделителями:
# ##0" руб."_);(# ##0" руб.")
Как применить:
- 📌 Выделите ячейки с денежными суммами.
- 🖱️ Нажмите
Ctrl+1→ Все форматы. - 📝 В поле Тип введите:
# ##0" руб."_);[Красный](# ##0" руб.")Здесь
[Красный]— это цвет для отрицательных чисел.
Для евро или долларов замените " руб." на " €" или " $". Чтобы добавить десятичные знаки, используйте:
# ##0.00" €"_);(# ##0.00" €")
5. Автоматизация через VBA: для больших таблиц
Если вам нужно обработать сотни строк или применять скобки по расписанию (например, при импорте данных), используйте VBA-макрос. Этот метод подходит для опытных пользователей, но даёт максимальную гибкость.
Код макроса для добавления скобок ко всем отрицательным числам в выделенном диапазоне:
Sub AddParenthesesToNegatives()
Dim cell As Range
For Each cell In Selection
If IsNumeric(cell.Value) And cell.Value < 0 Then
cell.NumberFormat = "# ##0_);(# ##0)"
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (Insert → Module).
- Выделите диапазон ячеек в Excel и запустите макрос (
Alt+F8→ выберитеAddParenthesesToNegatives→ Выполнить).
⚠️ Внимание: Макрос перезапишет существующий формат ячеек. Если у вас уже применён пользовательский формат (например, с валютами), модифицируйте код, чтобы сохранять эти настройки. Например, проверяйте текущий формат через cell.NumberFormat перед изменением.
Бонус: как сделать то же самое в Google Sheets
В Google Таблицах алгоритм похож, но есть нюансы:
- Выделите ячейки → Формат → Числа → Другие форматы → Пользовательские числовые форматы.
- Введите:
# ##0;(# ##0)(обратите внимание: разделитель секций — точка с запятой, как в Excel, но без подчёркивания).
- Для дробных чисел:
# ##0.00;(# ##0.00)
В Google Sheets также работает условное форматирование, но нет встроенной функции ТЕКСТ — используйте TO_TEXT или ARRAYFORMULA для аналогичных задач.
Частые ошибки и как их избежать
Даже опытные пользователи сталкиваются с проблемами при отображении чисел в скобках. Вот самые распространённые ловушки:
1. Числа превращаются в текст
- 🔍 Причина: Вы вручную добавили скобки или использовали формулу, возвращающую текст.
- ✅ Решение: Примените числовой формат (способ 1 или 4) или используйте дополнительный столбец с оригинальными данными для расчётов.
2. Скобки отображаются даже для положительных чисел
- 🔍 Причина: Ошибка в пользовательском формате (например, пропущен разделитель
;между секциями). - ✅ Решение: Проверьте формат — он должен содержать две секции, разделённые точкой с запятой:
Положительные;Отрицательные.
3. Не работает сортировка
- 🔍 Причина: Данные стали текстом после применения формул.
- ✅ Решение: Используйте числовые форматы (способ 1, 2 или 4) или создайте вспомогательный столбец с оригинальными числами для сортировки.
Почему в некоторых версиях Excel скобки отображаются криво?
В Excel 2010–2013 при использовании шрифтов с фиксированной шириной (например, Consolas) скобки могут "отрываться" от числа. Решение: измените шрифт на Arial или Calibri, либо добавьте пробел перед открывающей скобкой в формате: # ##0_);( # ##0) (обратите внимание на пробел после ().
FAQ: ответы на частые вопросы
Можно ли сделать так, чтобы скобки отображались только при печати, а на экране были обычные отрицательные числа?
Да, для этого:
- Создайте два стиля: один для экрана (обычный), другой для печати (со скобками).
- Используйте условное форматирование с настройкой Только при печати (в Excel 2016+ это опция в менеджере правил).
- Или дублируйте данные на отдельный лист с форматом со скобками и печатайте только его.
Как убрать скобки у отрицательных чисел, если они уже применены?
Выделите ячейки → Ctrl+1 → выберите формат Числовой или Общий. Если скобки были добавлены через формулы, замените формулы на оригинальные значения (Специальная вставка → Значения).
Почему после копирования данных из другой программы скобки не применяются?
Скорее всего, исходные данные импортированы как текст. Преобразуйте их в числа:
- Выделите диапазон.
- Нажмите на жёлтый значок Ошибка рядом с ячейками → выберите Преобразовать в число.
- Или используйте функцию
ЗНАЧЕНв отдельном столбце.
Можно ли сделать так, чтобы скобки автоматически добавлялись при вводе отрицательного числа?
Да, с помощью VBA-события:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
For Each cell In Target
If IsNumeric(cell.Value) And cell.Value < 0 Then
cell.NumberFormat = "# ##0_);(# ##0)"
End If
Next cell
End Sub
Этот код нужно вставить в модуль листа (не стандартный модуль!). Он будет срабатывать при каждом изменении ячейки.
Как экспортировать данные со скобками в PDF, чтобы они сохранялись?
Скобки, добавленные через числовой формат или условное форматирование, сохранятся в PDF автоматически. Если вы использовали формулы, предварительно скопируйте данные как значения (Специальная вставка → Значения), иначе в PDF попадут формулы, а не результаты.