Considere um conjunto de dados de brinquedos na forma de
A B
ID values
1 5
1 4
1 3
2 2
2 1
2 2
3 8
3 9
3 7
Portanto, existem três grupos com ID: 1,2,3. Estou interessado em calcular o valor médio dentro de cada grupo e obter um resultado como este
A B
ID averaged
1 6
2 2.5
3 12
Portanto, o número de grupos (ID exclusivo) seria grande e o número de dados dentro de cada grupo também seria grande. Alguma forma eficiente de computação? Obrigado
Responder1
Como funciona:
Insira esta fórmula de matriz (CSE) na célula
J11
:{=IFERROR(INDEX($H$11:$H$24, MATCH(0,COUNTIF($J$10:J10, $H$11:$H$24), 0)),"")}
ObservaçãoFinalize a fórmula comCtrl+Shift+Entere preencha.
Fórmula na célula
K11
:=IFERROR(AVERAGEIF(H$11:H$24,$J11,I$11:I$24),"")
Ajuste as referências de células na fórmula conforme necessário.
Responder2
Usando uma tabela dinâmica:
Coloque o ID nas Linhas e os Valores em Valores e altere para média:
Usando fórmulas de matriz dinâmica (atualmente disponíveis apenas para Office 365 Insiders)
Em D2 coloque:
=UNIQUE(A2:A10)
E na E2:
=AVERAGEIFS(B:B,A:A,D2#)
O Excel irá distribuir os valores automaticamente: