Fórmula do Excel: conte se a linha atender a vários critérios internos -

Índice

Fórmula genérica

=SUMPRODUCT((logical1)*(logical2))

Resumo

Para contar linhas em uma tabela que atendem a vários critérios, alguns dos quais dependem de testes lógicos que funcionam no nível de linha, você pode usar a função SUMPRODUCT.

Contexto

Você tem uma tabela que contém os resultados das partidas esportivas. Você tem quatro colunas: time da casa, time visitante, placar do time da casa, placar do time visitante. Para uma determinada equipe, você deseja contar apenas partidas (linhas) em que a equipe venceu em casa. É fácil contar partidas (linhas) em que um time era o time da casa, mas como você conta apenas as vitórias?

Este é um bom uso da função SUMPRODUCT, que pode lidar com operações de array (pense em operações que lidam com intervalos) nativamente.

No exemplo mostrado, a fórmula na célula H5 é:

=SUMPRODUCT((B5:B10=G5)*(D5:D10>E5:E10))

Explicação

A função SUMPRODUCT é programada para lidar com matrizes nativamente, sem a necessidade de Control Shift Enter. Seu comportamento padrão é multiplicar os elementos correspondentes em uma ou mais matrizes e, em seguida, somar os produtos. Quando fornecido um único array, ele retorna a soma dos elementos do array.

Neste exemplo, estamos usando duas expressões lógicas dentro de um único argumento de matriz. Poderíamos colocar cada expressão em um argumento separado, mas então precisaríamos forçar os valores lógicos TRUE FALSE para uns e zeros com outro operador.

Usando o operador de multiplicação para multiplicar as duas matrizes, o Excel forçará automaticamente os valores lógicos a uns e zeros.

Depois que as duas expressões lógicas são avaliadas, a fórmula fica assim:

=SUMPRODUCT(((FALSE;TRUE;FALSE;TRUE;FALSE;TRUE))*((TRUE;TRUE;TRUE;FALSE;TRUE;TRUE)))

Depois que as duas matrizes são multiplicadas, a fórmula fica assim:

=SUMPRODUCT((0;1;0;0;0;1))

Com apenas uma matriz restante, SUMPRODUCT simplesmente soma os elementos na matriz e retorna a soma.

Artigos interessantes...