Как да броите или сумирате клетки с определен цвят в Excel

Изтеглете Примерна работна книга

Изтеглете примерната работна книга

Този урок ще ви покаже как да броите или сумирате клетки с определен цвят на фона, използвайки VBA.

Помислете за следния диапазон в Excel.

Няма вградена функция Excel за преброяване на цветни клетки. Вместо това трябва да създадем потребителско дефинирана функция, използвайки VBA.

Брой клетки - Създайте персонализирана функция VBA

Преброяването на броя на клетките с определен цвят с помощта на VBA е въпрос на създаване на дефинирана от потребителя функция (UDF), която ще премине през всички клетки в диапазона и ще определи дали цветът на фона на всяка клетка съвпада с цвета на фона, който сте тестват за и след това използват тази функция в работния лист на Excel.

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

12345678910111213141516 Функция CountCellsByColor (rng като диапазон, ColorCell като диапазон) като двойноDim dblCount As DoubleDim rngCell As Range„Превъртете през всяка клетка в диапазонаЗа всеки rngCell В rng'проверете дали цветът на интериора е същия цвят като клетката, която сте избралиАко rngCell.Interior.Color = ColorCell.Interior.Color ТогаваАко IsNumeric (rngCell.Value) = Вярно, тогава'увеличете броя с 1, ако цветът е правилен.dblCount = dblCount + 1Край АкоКрай АкоСледващия„Върнете стойността в ExcelCountCellsByColor = dblCountКрайна функция

След това използвайте тази функция в работния лист, за да върнете стойността.

1 = CountCellsByColor (B2: E10, G4)
  1. Щракнете върху оранжевата клетка в G4 и щракнете върху Вмъкване на функция.

  1. Изберете Дефиниран от потребителя като категория и след това изберете CountCellsByColor като функция за използване.

  1. Щракнете Добре.

  1. Маркирайте диапазона, който съдържа всички цветни клетки.

  1. Изберете ColorCell, и след това Щракнете Добре.

Повторете процеса, за да преброите клетките със зелен цвят на фона.

1 = CountCellsByColor (B2: E10, G5)

Суми клетки - Създайте персонализирана VBA функция

Създаваме подобна персонализирана функция във VBA, за да сумираме стойностите на клетките с определен цвят.

12345678910111213141516 Функция SumCellsByColor (rng като диапазон, ColorCell като диапазон) като двойноDim dblSum As DoubleDim rngCell As Range„Превъртете през всяка клетка в диапазонаЗа всеки rngCell В rng'проверете дали цветът на интериора е същия цвят като клетката, която сте избралиАко rngCell.Interior.Color = ColorCell.Interior.Color ТогаваАко IsNumeric (rngCell.Value) = Вярно, тогава'добавете стойността към променливата си, ако цветът е правиленdblSum = dblSum + rngCell.ValueКрай АкоКрай АкоСледващия„Върнете стойността в ExcelSumCellsByColor = dblSumКрайна функция

След това отново бихме използвали тази функция в работния лист, за да обобщим необходимите клетки.

1 = SumCellsByColor (B2: E10, G7)

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave