Fórmula do Excel: texto que ocorre com mais frequência -

Fórmula genérica

=INDEX(rng,MODE(MATCH(rng,rng,0)))

Resumo

Para extrair a palavra ou valor de texto que ocorre com mais frequência em um intervalo, você pode usar uma fórmula baseada em várias funções INDEX, MATCH e MODE.

No exemplo mostrado, a fórmula em H5 é:

=INDEX(B5:F5,MODE(MATCH(B5:F5,B5:F5,0)))

Explicação

Trabalhando de dentro para fora, a função MATCH combina o intervalo com ele mesmo. Ou seja, damos à função MATCH o mesmo intervalo para valor de pesquisa e array de pesquisa (B5: F5).

Como o valor de pesquisa contém mais de um valor (uma matriz), MATCH retorna uma matriz de resultados, onde cada número representa uma posição. No exemplo mostrado, a matriz se parece com isto:

(1,2,1,2,2)

Onde quer que "cachorro" apareça, vemos 2, e onde quer que "gato" apareça, vemos 1. Isso porque a função MATCH sempre retorna a primeira correspondência, o que significa que ocorrências subsequentes de um determinado valor retornarão a mesma (primeira) posição.

Em seguida, esse array é alimentado na função MODE. MODE retorna o número que ocorre com mais frequência, que neste caso é 2. O número 2 representa a posição na qual encontraremos o valor que ocorre com mais frequência no intervalo.

Finalmente, precisamos extrair o próprio valor. Para isso, usamos a função INDEX. Para array, usamos o intervalo de valores (B5: F5). O número da linha é fornecido por MODE.

INDEX retorna o valor na posição 2, que é "dog".

Células vazias

Para lidar com células vazias, você pode usar a seguinte fórmula de matriz, que adiciona uma instrução IF para testar células vazias:

(=INDEX(B5:F5,MODE(IF(B5:F5"",MATCH(B5:F5,B5:F5,0)))))

Esta é uma fórmula de matriz e deve ser inserida com control + shift + enter.

Artigos interessantes...