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

В этом примере образцы данных состоят из данных отдела продаж. Данные отдела продаж содержат подробную информацию о количестве проданных товаров. Он содержит информацию о продукте, который доступен в трех цветах: серый, красный и зеленый. Мы хотим найти сумму проданных товаров по цвету товара.

ArrowRaw

Для вычисления суммы по цвету мы создали специальную функцию SumByColor. Эта функция принимает на вход два параметра диапазона. Первый параметр диапазона определяет внутренний цвет ячейки, а второй параметр диапазона определяет диапазон выборки.

ArrowOutput

Объяснение кода

Application.Volatile используется, потому что он будет пересчитываться каждый раз при изменении значения ячейки в книге.

DefinedColorRange.Interior.ColorIndex Приведенный выше код используется для получения внутреннего цвета определенного диапазона.

Пожалуйста, введите код ниже

Option Explicit

Function SumByColor(DefinedColorRange As Range, SumRange As Range)

Application.Volatile

'Declaring variables

Dim ICol As Integer

Dim GCell As Range

'Getting the interior color of the cell

ICol = DefinedColorRange.Interior.ColorIndex

'Looping through the defined range

For Each GCell In SumRange



If ICol = GCell.Interior.ColorIndex Then

'Getting the sum of matching colored cell

SumByColor = SumByColor + GCell.Value

End If

Next GCell

End Function

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]