Contare celle in base al colore

Contare celle in base al colore

Aprile 22, 2020 Off Di excelsapeviche

Avete bisogno di contare celle in base al colore ma non avete idea di come fare?

In effetti Excel non prevede una funzione che faccia un conteggio delle celle per colore. E’ tuttavia una pratica molto utile a livello professionale, perché strettamente correlata a un suo parente stretto, la formattazione condizionale. Chi di noi non la utilizza per evidenziare i valori salienti di una tabella, magari da presentare a un meeting con il capo?

Poiché excel non offre una soluzione così detta built-in, per questo tipo di problematiche dobbiamo farci aiutare dal codice VBA (Visual Basic for Applications). Excelsapeviche propone la sua soluzione.

Per esempio, supponiamo che dobbiate contare celle in base al colore dei seguenti numeri a seconda che il colore sia giallo o blu

conta se colore

 

Innanzitutto avete bisogno del seguente codice VBA:

ContaSeColore
Function ContaSeColore(Data As Range, RifCella As Range)
Dim RifCellaCol As Long
Dim Cella As Range
Dim Count As Double

Conta = 0
RifCellaCol = RifCella.Cells(1, 1).Interior.Color

For Each Cella In Data
If RifCellaCol = Cella.Interior.Color Then
Conta = Conta + 1
End If
Next Cella

ContaSeColore = Conta
End Function

Successivamente, con questo codice viene creata una nuova funzione Excel SommaSeColore, che quindi comparirà nella lista delle funzioni disponibili:

contare le celle in base al colore

 

Nel dettaglio, la funzione ha due parametri: l’input di dati ossia il range di valori e la cella di riferimento su cui si leggere il colore. 

Ecco fatto! I valori riportati sono la somma delle celle per colore. Se invece foste interessati a sommare le celle per colore, ricordate che avrete sempre bisogno di VBA.

La funzione ci permette così di fare in automatico un calcolo lungo ed elaborato, se ci venisse richiesto per questioni lavorative o didattiche!

Per qualsiasi dubbio, informazione, o se vi siete mai chiesti qualcosa su excel che nessuno è riuscito a spiegarvi, contattateci!