Как подсчитать или суммировать ячейки с определенным цветом в Excel

Скачать пример рабочей книги

Загрузите образец книги

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

Рассмотрим следующий диапазон в Excel.

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

Подсчет ячеек - создание настраиваемой функции VBA

Подсчет количества ячеек определенного цвета с использованием VBA - это вопрос создания определяемой пользователем функции (UDF), которая будет перебирать все ячейки в диапазоне и определять, соответствует ли цвет фона каждой ячейки цвету фона, который вы проверяют, а затем используют эту функцию на листе Excel.

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

12345678910111213141516 Функция CountCellsByColor (rng As Range, ColorCell As Range) As DoubleDim dblCount As DoubleDim rngCell As Range'Прокрутите каждую ячейку в диапазонеДля каждого номера ячейки'проверьте, совпадает ли внутренний цвет с цветом выбранной ячейкиЕсли rngCell.Interior.Color = ColorCell.Interior.Color ТогдаЕсли IsNumeric (rngCell.Value) = True, то'увеличить счет на 1, если цвет правильный.dblCount = dblCount + 1Конец, еслиКонец, еслиСледующий'Вернуть значение в ExcelCountCellsByColor = dblCountКонечная функция

Затем используйте эту функцию на листе, чтобы вернуть значение.

1 = CountCellsByColor (B2: E10, G4)
  1. Щелкните оранжевую ячейку в G4 и нажмите «Вставить функцию».

  1. Выбирать Определяемые пользователем в качестве категории, а затем выберите CountCellsByColor как функцию для использования.

  1. Нажмите Ok.

  1. Выделите диапазон, содержащий все цветные ячейки.

  1. Выберите ColorCell, а затем щелкните Ok.

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

1 = CountCellsByColor (B2: E10, G5)

Ячейки суммы - создание настраиваемой функции VBA

Мы создаем аналогичную пользовательскую функцию в VBA для суммирования значений ячеек определенного цвета.

12345678910111213141516 Функция SumCellsByColor (rng As Range, ColorCell As Range) As DoubleDim dblSum As DoubleDim rngCell As Range'Прокрутите каждую ячейку в диапазонеДля каждого номера ячейки'проверьте, совпадает ли внутренний цвет с цветом выбранной ячейкиЕсли rngCell.Interior.Color = ColorCell.Interior.Color ТогдаЕсли IsNumeric (rngCell.Value) = True, то'добавьте значение в вашу переменную, если цвет правильныйdblSum = dblSum + rngCell.ValueКонец, еслиКонец, еслиСледующий'Вернуть значение в ExcelSumCellsByColor = dblSumКонечная функция

Затем мы снова использовали бы эту функцию в рабочем листе, чтобы суммировать требуемые ячейки.

1 = SumCellsByColor (B2: E10, G7)

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave