Vytvor si funkciu v module VBA projektu, pomocou ktorej zistíš farby pre rozsah buniek:
Function COLOR(aRange As Range) As Variant
Dim aColors() As Variant
Dim aRow As Integer
Dim aColumn As Integer
If aRange.Cells.Count = 1 Then
COLOR = aRange.Interior.ColorIndex
Exit Function
End If
ReDim aColors(1 To aRange.Rows.Count, 1 To aRange.Columns.Count)
For aRow = 1 To aRange.Rows.Count
For aColumn = 1 To aRange.Columns.Count
aColors(aRow, aColumn) = aRange.Cells(aRow, aColumn).Interior.ColorIndex
Next aColumn
Next aRow
COLOR = aColors
End Function
Potom môžeš bunky rovnakej farby v nejakej oblasti jednoducho spočítať pomocou funkcie SUMPRODUCT. Napríklad bunky v oblasti C1:C8, ktoré majú farbu ako bunka A1, spočítaš takto:=SUMPRODUCT((COLOR($C$1:$C$8)=COLOR($A$1))*$C$1:$C$8)
Česky:SOUČIN.SKALÁRNÍ((COLOR($C$1:$C$8)=COLOR($A$1))*$C$1:$C$8)
P.S.: Ešte dodám, že počítať čokoľvek podľa farby je nesystémové riešenie, ktoré so sebou prináša len problémy. S takým zošitom, kde záleží na farbe buniek, sa nepracuje dobre.