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