Суммирование ячеек по цвету заливки

Функция СУММЗАЛИВКА определяет сумму ячеек с выбранным цветом заливки в указанном диапазоне

Описание проблемы

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

К сожалению, Excel не имеет встроенной функции, которая использует цвета заливки в качестве условий в формулах. К счастью, просуммировать ячейки вы можете с помощью функции из надстройки VBA-Excel.

Функция суммирования ячеек по цвету заливки

Описание функции

Функция =СУММЗАЛИВКА(ДИАПАЗОН; ЯЧЕЙКА) имеет два обязательных аргумента:

  • ДИАПАЗОН - ссылка на диапазон ячеек, где необходимо произвести суммирование ячеек с определенной заливкой.
  • ЯЧЕЙКА - ссылка на ячейку с цветом заливки, по которому необходимо провести суммирование.

Если вы забыли синтаксис данной функции, вы всегда сможете вызвать формулу из выпадающего списка функций в надстройке.

Замечание об автоматическом вычислении!!! Так как пересчет формул в Excel автоматически не происходит при изменении заливки ячеек, то данная функция не пересчитывается автоматически. Для того, чтобы принудительно пересчитать формулы используйте сочетание клавиш Ctrl + Alt +F9.

Код на VBA

Public Function СУММЗАЛИВКА(ДИАПАЗОН As Range, ЯЧЕЙКА) As Double
    Dim S As Double
    Dim rCell As Range
    Dim ColCell As Long
 
    ColCell = ЯЧЕЙКА.Interior.Color
    S = 0
 
    For Each rCell In ДИАПАЗОН
        If rCell.Interior.Color = ColCell Then
            S = S + rCell.Value
        End If
    Next
 
    СУММЗАЛИВКА = S
End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.