Página 1 de 1

CONTAR COMPARANDO INTERVALOS

Enviado: 26 Ago 2020 às 16:06
por Leonardo1234
Olá,

Eu gostaria de uma fórmula na qual através da comparação de um intervalo de células contra outro, eu consiga obter um resultado de contagem através de um determinado parâmetro. Na minha planilha de teste, eu preciso saber, comparando as notas de João contra Maria, quantas vezes Joâo teve uma nota maior, quantas vezes uma nota menor e quantas vezes a nota foi igual. A minha necessidade é de uma fórmula pronta, de preferência matricial, que compare de forma direta os dois intervalos, sem o auxilio de colunas auxiliares ou fórmulas como "se" que compare célula a célula de forma manual. Obrigado.

Re: CONTAR COMPARANDO INTERVALOS

Enviado: 26 Ago 2020 às 16:56
por osvaldomp
Código: Selecionar todos
=SOMARPRODUTO(--(B$2:B$6>C$2:C$6))

=SOMARPRODUTO(--(B$2:B$6<C$2:C$6))

=SOMARPRODUTO(--(B$2:B$6=C$2:C$6))

Re: CONTAR COMPARANDO INTERVALOS

Enviado: 26 Ago 2020 às 18:17
por Leonardo1234
Funcionou Osvado, cara, qual a lógica por trás dessa parte " (--(" da função? Obrigado pela ajuda.

Re: CONTAR COMPARANDO INTERVALOS

Enviado: 26 Ago 2020 às 20:22
por osvaldomp
Olá, Leonardo.

Primeiro, a função SOMARPRODUTO() é uma função matricial nativa, e por isso ela não precisa de Ctrl+Shift+Enter para funcionar como matricial.

A função aplicada ao seu caso gera uma matriz formada pelos elementos Falso e Verdadeiro, que correspondem à aplicação do critério em cada par de células formado pelas colunas B e C. No entanto, ao final do cálculo, a função precisará obter a soma dos elementos da matriz formada, só que o Excel não consegue adicionar Falsos e Verdadeiros, e por isso sempre retornará zero, então para contornar coloca-se uma operação aritmética para que os elementos da matriz sejam convertidos assim: Falso convertido em 0 e Verdadeiro convertido em 1, aí o Excel conseguirá obter a soma.

A operação aritmética pode ser um sinal de menos (-), só que nesse caso o Verdadeiro será convertido para -1, o que alteraria o resultado, então colocando-se dois sinais de menos (--) o Verdadeiro será convertido em +1.
Outras opções para o operador são: multiplicar por 1 e colocar a função N. Ambas fazem a conversão desejada. As 3 fórmulas abaixo retornam resultados iguais.
Sugestão: selecione a célula com a fórmula / menu Fórmulas / Avaliar Fórmula, aí vá clicando em Avaliar e acompanhe a execução. Faça também com a fórmula sem o operador aritmético e veja o resultado.
Código: Selecionar todos
=SOMARPRODUTO(--(B$2:B$6>C$2:C$6))
=SOMARPRODUTO(1*(B$2:B$6>C$2:C$6))
=SOMARPRODUTO(N(B$2:B$6>C$2:C$6))