Excel: para linha, se a condição for atendida, use para calcular a média

Excel: para linha, se a condição for atendida, use para calcular a média

Tenho um problema que suspeito ter uma solução relativamente simples.

Quero calcular uma média de um intervalo de células, mas apenas para as linhas que contêm uma célula que atende a uma condição.

Pegue os seguintes dados:

    A       B        C
1 | YEAR |  VARA  |  VARB  |
  --------------------------
2 | 1990 |  1     |  6     |
3 | 1991 |  5     |  5     |
4 | 1990 |  2     |  6     |
5 | 1990 |  1     |  8     |
6 | 1991 |  2     |  2     |
7 | 1991 |  3     |  1     |

Para cada ANO quero retornar a média de VARA e VARB.

Os resultados devem ser:

  • 1990: VARA = 1,33; VARB = 6,66
  • 1991: VARA = 3,33; VARB = 2,66

Pelo que entendi, o Excel não possui um comando FOR que permite a iteração e uma instrução IF subsequente... então alguém sabe como isso pode ser alcançado?

Obrigado!

Responder1

Para VARA tente usar esta fórmula:=AVERAGEIF($A$2:$A$7,E2,$B$2:$B$7) insira a descrição da imagem aqui

Para VARB tente usar esta fórmula:=AVERAGEIF($A$2:$A$7,E2,$C$2:$C$7) insira a descrição da imagem aqui

Responder2

Esta fórmula de array (CSE) resolve o problema:

insira a descrição da imagem aqui

  • Fórmula na célula H217:

    {=ROUND(AVERAGE(IF(COUNTIF($G217:$G217,$G$209:$G$214),H$209:H$214,"")),2)}

  • Finalize a fórmula comCtrl+Shift+Entere preencha.

Ajuste as referências de células na fórmula conforme necessário.

informação relacionada