2

Если у меня есть 500 клеток, заполненных красным, 500, заполненных зеленым и 50, заполненных желтым, можно ли сделать формулу счетчика, где у меня будет ячейка, которая будет подсчитывать количество красных, зеленых и желтых клеток.

Спасибо

1 ответ1

2

Я считаю, что для этого вам нужны пользовательские функции. Перетащите этот код в модуль в вашей рабочей книге (откройте VB Editor, вставьте модуль, вставьте приведенный ниже код в этот модуль, закройте VB Editor.)

 Function COUNTCELLCOLORSIF(CellRange As Range, ColorIndex As Integer) As Long

     Dim rngCell

     Application.Volatile 'Thanks, Excellll!

     For Each rngCell In CellRange
        If rngCell.Interior.ColorIndex = ColorIndex Then
           COUNTCELLCOLORSIF = COUNTCELLCOLORSIF + 1
        End If
     Next rngCell

End Function

Function CELLCOLORINDEX(CellRange As Range) As Integer

     Application.Volatile 'Thanks, Excellll!
     CELLCOLORINDEX = CellRange.Interior.ColorIndex

End Function

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

 =CELLCOLORINDEX(A1)

Затем вы можете использовать COUNTCELLCOLORSIF, чтобы подсчитать, сколько клеток в данной области имеют этот цвет. Например, если A1 содержит целочисленное значение цвета, который вы хотите проверить, и ячейки, которые вы хотите проверить, находятся в B1:B150, ваша формула будет иметь вид:

 =COUNTCELLCOLORSIF($B$1:$B$150, $A$1)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .