
Formule générique
=INDEX(rng,MODE(MATCH(rng,rng,0)))
Sommaire
Pour extraire le mot ou la valeur de texte qui apparaît le plus fréquemment dans une plage, vous pouvez utiliser une formule basée sur plusieurs fonctions INDEX, MATCH et MODE.
Dans l'exemple illustré, la formule en H5 est:
=INDEX(B5:F5,MODE(MATCH(B5:F5,B5:F5,0)))
Explication
Travaillant de l'intérieur vers l'extérieur, la fonction MATCH compare la plage avec elle-même. Autrement dit, nous donnons à la fonction MATCH la même plage pour la valeur de recherche et le tableau de recherche (B5: F5).
Étant donné que la valeur de recherche contient plusieurs valeurs (un tableau), MATCH renvoie un tableau de résultats, où chaque nombre représente une position. Dans l'exemple illustré, le tableau ressemble à ceci:
(1,2,1,2,2)
Partout où «chien» apparaît, nous voyons 2, et partout où «chat» apparaît, nous voyons 1. C'est parce que la fonction MATCH renvoie toujours la première correspondance, ce qui signifie que les occurrences ultérieures d'une valeur donnée renverront la même (première) position.
Ensuite, ce tableau est introduit dans la fonction MODE. MODE renvoie le nombre le plus fréquent, qui dans ce cas est 2. Le nombre 2 représente la position à laquelle nous trouverons la valeur la plus fréquente dans la plage.
Enfin, nous devons extraire la valeur elle-même. Pour cela, nous utilisons la fonction INDEX. Pour le tableau, nous utilisons la plage de valeurs (B5: F5). Le numéro de ligne est fourni par MODE.
INDEX renvoie la valeur à la position 2, qui est "chien".
Cellules vides
Pour traiter les cellules vides, vous pouvez utiliser la formule matricielle suivante, qui ajoute une instruction IF pour tester les cellules vides:
(=INDEX(B5:F5,MODE(IF(B5:F5"",MATCH(B5:F5,B5:F5,0)))))
Il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée.