Хотите быстро сложить все ячейки, выделенные желтым маркером? В Excel нет стандартной функции для этого, но решение есть — пользовательская функция VBA. Скопируйте код ниже, и сумма по цвету заливки станет доступна как обычная формула.
Шаг 1. Откройте редактор VBA
Нажмите ALT + F11 (или через меню: «Разработчик» → «Visual Basic»). Если вкладки «Разработчик» нет, добавьте её в настройках ленты.
Шаг 2. Вставьте код нового модуля
В открывшемся редакторе выберите меню Insert → Module. В появившееся окно скопируйте этот код:
Function SUMBYCOLOR(CellColor As Range, SumRange As Range) As Double
Dim cl As Range
Dim ColorIndex As Integer
ColorIndex = CellColor.Interior.ColorIndex
For Each cl In SumRange
If cl.Interior.ColorIndex = ColorIndex Then
SUMBYCOLOR = SUMBYCOLOR + cl.Value
End If
Next cl
End Function
Закройте редактор VBA — изменения сохраняются автоматически.
Шаг 3. Используйте новую функцию на листе
Теперь в любой ячейке вы можете писать формулу:=SUMBYCOLOR(ячейка_с_образцом_цвета; диапазон_для_суммирования)
Например: =SUMBYCOLOR(C3; A1:A100) — просуммирует все значения в диапазоне A1:A100, заливка которых совпадает с цветом ячейки C3.
Важные ограничения и нюансы
- Только статическая заливка. Функция не работает с цветом, заданным через условное форматирование. Цвет должен быть применён вручную или макросом.
- Пересчёт. Сумма не обновится автоматически при изменении цвета ячейки. Для пересчёта нажмите
F9(пересчитать весь лист). - Файл с поддержкой макросов. Сохраните книгу как «Книга Excel с поддержкой макросов (*.xlsm)», иначе код потеряется.
Этот приём — палочка-выручалочка для отчётов, где цветом выделены плановые/фактические показатели или категории. Работает в Excel 2007 и новее.
Нужен готовый инструмент для таких задач? Возьмите наш шаблон финансового контроллера — в нём уже встроены аналогичные функции для анализа, а все формулы защищены от случайного редактирования. Скачайте, подставьте свои данные и работайте.



