Fórmula do Excel: Contar linhas que contêm valores específicos -

Fórmula genérica

=SUM(--(MMULT(--(criteria),TRANSPOSE(COLUMN(data)))>0))

Resumo

Para contar linhas que contêm valores específicos, você pode usar uma fórmula de matriz com base nas funções MMULT, TRANSPOSE, COLUMN e SUM. No exemplo mostrado, a fórmula em G5 é:

(=SUM(--(MMULT(--(data=90),TRANSPOSE(COLUMN(data)))>0)))

onde os dados são o intervalo nomeado B4: B12.

Observação: esta é uma fórmula de matriz e deve ser inserida com a tecla Ctrl Shift Enter.

Explicação

Trabalhando de dentro para fora, os critérios lógicos usados ​​nesta fórmula são:

--(data=90)

onde os dados são o intervalo nomeado B4: D12. Isso gera um resultado VERDADEIRO / FALSO para cada valor nos dados, e o duplo negativo força os valores VERDADEIRO / FALSO para 1 e 0 para produzir uma matriz como esta:

(1,0,0;0,0,0;0,1,1;1,0,0;0,0,0;0,0,0;0,0,0;0,0,0;0,0,1)

Como os dados originais, este array tem 9 linhas por 3 colunas (9 x 3) e vai para a função MMULT como array1 .

Array2 é derivado de:

TRANSPOSE(COLUMN(data))

Esta é a parte divertida e complicada desta fórmula. A função COLUMN é usada simplesmente por conveniência, como uma forma de gerar uma matriz numérica do tamanho certo. Para realizar a multiplicação da matriz com MMULT, a contagem de colunas em array1 (3) deve ser igual à contagem de linhas em array2 .

COLUMN retorna a matriz de 3 colunas (2,3,4) e TRANSPOSE altera esta matriz para a matriz de 3 linhas (2; 3; 4). MMULT então é executado e retorna um resultado de matriz 9 x 1:

=SUM(--((2;0;7;2;0;0;0;0;4)>0))

Verificamos se há entradas diferentes de zero com> 0 e novamente forçamos TRUE FALSE a 1 e 0 com um duplo negativo para obter uma matriz final dentro de SUM:

=SUM((1;0;1;1;0;0;0;0;1))

Nesta matriz final, 1 representa uma linha onde o teste lógico (dados = 90) retornou verdadeiro. O total retornado por SUM é uma contagem de todas as linhas que contêm o número 90.

Literal contém

Se você precisar verificar valores de texto específicos, em outras palavras, literalmente verificar se as células contêm determinados valores de texto, você pode alterar a lógica na fórmula nesta página para usar as funções ISNUMBER e SEARCH. Por exemplo, para contar células / linhas que contêm "maçã", você pode usar:

=ISNUMBER(SEARCH("apple",data))

Detalhes sobre como essa fórmula funciona aqui.

Bons links

Resposta Stackoverflow por XOR LX

Artigos interessantes...