Excel Averageifs com várias condições em uma coluna

0

Estou procurando alguma ajuda sobre como arrumar a segunda fórmula abaixo em negrito . Eu estou olhando para calcular a média 'Pupil_Score' (esta também é a minha primeira tentativa com intervalos nomeados) com base na raça, eu estou olhando para combinar alguns grupos juntos, neste caso, corrida 1 e 2. Eu gostaria de continuar usando o Averageifs fórmula que parece mais curta do que a minha solução atual, como visto na primeira fórmula. Mais tarde, adicionarei mais condições que continuarão a tornar a fórmula mais longa no formato SUM / COUNT atual que parece impraticável.

= AVERAGEIFS (Pupil_Score, Race, 3)

= (SUMIFS (Pupil_Score, Race, 1) + SUMIFS (Pupil_Score, Race, 2)) / (COUNTIFS (Corrida, 1) + COUNTIFS (Race, 2))

Estou obtendo resultados diferentes da resposta de todos, abaixo estão os dados com os quais estou testando, talvez isso possa ajudar. Minha fórmula deu 99.632, depois outros deram um erro #Value ou 99.614 ou 99.493.

Race Pupil Score 1 98,880 1 99,588 1 99,751 1 99.780 1 100,070 2 99,765 2 98.873 2 99,013 2 99,529 2 99.600 2 99,500 2 99,751 2 99,501 2 99,543 2 99,795 2 99,857 2 99.874 2 99,875 2 99,67 2 99,755 2 99,893 2 100.050

    
por albert276 25.11.2014 / 17:27

4 respostas

1

Os critérios AVERAGEIFS passam como AND condições. Você precisa de uma condição OR , pois qualquer linha não pode ser 1 e 2 .

Acima,asomadoazul/verdeé23,suacontagemé5fazendoamédia4.6.AfórmulaemE2é,

=SUMPRODUCT((C2:C8)*(B2:B8=F1:G1))/SUMPRODUCT(--(B2:B8=F1:G1))

...oucomascorescodificadascomo

=SUMPRODUCT((C2:C8)*(B2:B8={"Blue","Green"}))/SUMPRODUCT(--(B2:B8={"Blue","Green"}))

Para os seus números, a versão codificada seria semelhante,

=SUMPRODUCT((C2:C8)*(B2:B8={1, 2}))/SUMPRODUCT(--(B2:B8={1, 2}))

    
por 25.11.2014 / 20:59
1

A única maneira de manter a fórmula simples é se você puder criar critérios que não sejam mutuamente exclusivos. Por exemplo,

=AVERAGEIFS(Pupil_Score,Race,">=2",Race,"<=3")

Isso funciona somente se os números da corrida forem adjacentes.

Outras pessoas sugeriram fórmulas de array (CSE), então não vou repetir isso. Essas fórmulas tendem a ser bastante complexas. Se você quiser manter as coisas simples, tente criar uma coluna de filtro nos dados originais, como =OR(race=1;race=3) , e use isso em seus ifs. Você pode até usá-los em conjunto com os números da corrida, desde que os critérios não sejam mutuamente exclusivos.

    
por 25.11.2014 / 21:04
1

Você pode usar uma fórmula de matriz AVERAGE , por exemplo,

=AVERAGE(IF((Race=1)+(Race=2),Pupil_Score))

confirmado com CTRL + SHIFT + ENTER

O "+" efetivamente fornece um "OR"

Você pode adicionar condições extras com facilidade adicionando funções do FI, por exemplo, supondo que "range1" precisa ser "x"

=AVERAGE(IF((Race=1)+(Race=2),IF(range1="x",Pupil_Score)))

Veja o exemplo aqui

    
por 25.11.2014 / 21:54
0
=
sum( sumifs( columntoavg, criteriacolumn, {"1","2","3"}))
/
sum( countifs(  criteriacolumn, {"1","2","3"}))

Acho que esta é a maneira mais limpa e mais flexível de resolver isso.

    
por 07.09.2018 / 15:23