Somar por cor no excel é algo que não pode ser feito por formula simples e directa. Para que isto seja possível utiliza-se uma função em VBA para determinar a área a somar e a cor a ter como base.
A imagem de exemplo que mostro aqui não tem qualquer sentido prático, serve meramente para exemplificar como utilizar a função. Na coluna B tem a lista de valores com várias cores e na coluna D tem celulas com a cor que se quer somar.
A formula é de simples construção, na imagem na barra de formula vê a formula da celula D5 que é “=somacor( $B$3:$B$16; D5)”, o funcionamento desta formula é: chama a função “somarcor” que vai somar todas as celulas da zona “$B$3:$B$16” que contenham valores e que tenham como cor de fundo a mesma que “D5”.
Na linha 17 temos uma soma de controle só para confirmar se todos os valores estão a ser somados.
A função em VBA
A função deve ser colocada num modulo, para isso pressione Alt+F11, e no editor de VBA copie a função abaixo para um novo modulo ou para algum já existente.
Function somacor(zona As Range, celula As Range)
Dim c As Range, soma As Long, cor As Long
Application.Volatile
' cor base
cor = celula.Interior.Color
'percorrer zona e somar valores desde que a cor seja igual à cor base
For Each c In zona
If c.Interior.Color = cor And c.Text <> 0 Then soma = soma + Val(c.Value)
Next c
'retorna a soma
somacor = soma
End Function