
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.