
Fórmula genérica
(=MEDIAN(IF(criteria,range)))
Resumo
Para calcular uma mediana condicional com base em um ou mais critérios, você pode usar uma fórmula de matriz que usa as funções MEDIAN e IF juntas. No exemplo mostrado, a fórmula em F5 é:
=MEDIAN(IF(group=E5,data))
onde "grupo" é o intervalo nomeado B5: B14 e "dados" é o intervalo nomeado C5: C14.
Observação: esta é uma fórmula de matriz e deve ser inserida com control + shift + enter.
Explicação
A função MEDIAN não tem uma maneira embutida de aplicar critérios. Dado um intervalo, ele retornará o número MEDIAN (meio) nesse intervalo.
Para aplicar critérios, usamos a função IF dentro de MEDIAN para "filtrar" valores. Neste exemplo, a função IF filtra por grupo como este:
IF(group=E5,data)
Esta expressão compara cada valor no intervalo nomeado "grupo" com o valor em E5 ("A"). Como os critérios são aplicados a uma matriz com vários valores, o resultado é uma matriz de valores TRUE FALSE como este:
(TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE)
Nesta matriz, cada TRUE corresponde a um valor no grupo A. A função IF avalia esses resultados e retorna o valor correspondente do intervalo denominado "dados". O resultado final do IF é
(1;2;3;3;5;FALSE;FALSE;FALSE;FALSE;FALSE)
Observe que apenas os valores do grupo A sobreviveram e os valores do grupo B agora são FALSE. Essa matriz é retornada à função MEDIAN, que ignora automaticamente os valores FALSE e retorna o valor mediano, 3.
Nota: quando IF é usado desta forma para filtrar valores com uma operação de matriz, a fórmula deve ser inserida com control + shift + enter.
Critérios adicionais
Para aplicar mais de um critério, você pode aninhar outro IF dentro do primeiro IF:
(=MEDIAN(IF(criteria1,IF(criteria2,data))))
Para evitar aninhamento extra, você também pode usar a lógica booleana nos critérios.