Trouver le mode des valeurs de texte dans Google Sheets

Je suis sûr que vous avez déjà trouvé des formules sur le web pour trouver la chaîne de texte la plus fréquente, que l’on peut appeler le mode, dans une liste. Mais qu’en est-il de trouver plusieurs modes de valeurs de texte dans Google Sheets ?

Il arrive parfois qu’il y ait deux modes ou plus, c’est-à-dire plusieurs occurrences les plus fréquentes de texte dans une liste. Heureusement, j’ai une formule Google Sheets que vous pouvez utiliser pour trouver le MODE ainsi que le MODE.MULT de chaînes de texte.

Comme vous le savez peut-être, nous ne pouvons pas utiliser la fonction MODE ou MODE.SNGL (qui sont identiques) pour trouver le mode des valeurs non numériques. De même, nous ne pouvons pas utiliser MODE.MULT pour renvoyer plusieurs modes de valeurs non numériques. Ces trois fonctions sont toutes des fonctions statistiques.

Alors, comment trouver le mode des valeurs de texte dans Google Sheets ?

Selon la liste ci-dessous dans la colonne A, le mode du texte est « Italie » car il se répète 4 fois, ce qui est supérieur à toutes les autres valeurs de texte de cette liste.

Finding Mode of Text Values in Google Sheets

Mais dans la liste de la colonne D, les chaînes de caractères « Italie » et « France » se répètent toutes les deux quatre fois. Donc, ces deux valeurs de texte sont les valeurs les plus fréquentes (modes multiples) dans cette liste.

Formule pour trouver le mode des valeurs non numériques dans Google Sheets

Ma formule fonctionnera dans les deux cas, c’est-à-dire pour renvoyer un seul mode ou plusieurs modes, sans aucune modification.

Formule pour trouver le mode/modes des chaînes de texte dans Google Sheets :

=unique(filter(A2:A, regexmatch(match(A2:A,A2:A,0)&"", "^"&textjoin("$|^",true,MODE.MULT(iferror(match(A2:A,A2:A,0))))&"$")))

Cette formule est codée pour fonctionner dans la liste des colonnes A (plage A2:A). Si votre liste pour trouver le mode se trouve dans une autre colonne, veuillez modifier les références de cellule dans la formule en conséquence.

Comment la formule trouve-t-elle les chaînes de texte les plus fréquentes dans Google Sheets ?

Je sais que fournir simplement une formule complexe ne suffit pas pour vous. Certains d’entre vous veulent savoir comment la formule trouve la chaîne de texte la plus fréquente dans une liste.

J’ai utilisé plusieurs fonctions dans ma formule. Je vais essayer d’expliquer le rôle de chaque fonction utilisée de la manière la plus simple possible.

Match pour renvoyer la position relative de toutes les chaînes de texte dans la liste

Dans la cellule B2, entrez cette formule Match :

=ArrayFormula(match(A2:A,A2:A,0))

Cela renverra la position relative de chaque élément dans une plage, ici A2:A, en fonction des valeurs uniques de cette plage.

Par exemple, « Italie », « France » et « Irlande » sont les trois valeurs uniques dans la liste de A2:A. La position relative de la chaîne de texte « Italie » est 1 car elle est dans la première ligne de la plage A2:A. La position relative de la chaîne de texte « France » est 5 car elle est dans la cinquième ligne de la plage A2:A.

Jetez un œil à la position relative de la chaîne de caractères « Irlande » et vous verrez qu’elle est 8.

Le rôle de la fonction MODE.MULT pour trouver les valeurs de texte les plus fréquentes

Après avoir entré la formule Match ci-dessus, nous avons obtenu quelques chiffres dans la colonne B, n’est-ce pas ?

Ce que nous voulons, c’est trouver le mode de ces nombres. Pour cela, vous pouvez utiliser la fonction MODE, MODE.SNGL ou MODE.MULT.

Je vous suggère d’utiliser la fonction MODE.MULT car elle peut renvoyer plusieurs valeurs de mode.

Utilisez la même formule Match ci-dessus dans MODE.MULT, mais incluez la fonction IFERROR pour supprimer les valeurs d’erreur N/A.

=ArrayFormula(MODE.MULT(iferror(match(A2:A,A2:A,0))))

La formule renvoie 1, qui est le nombre le plus fréquent dans la colonne B. Nous pouvons maintenant filtrer les lignes contenant la valeur 1 à l’aide d’une formule Filter.

Filtrer pour filtrer une liste en fonction de la valeur de correspondance la plus fréquente

Syntaxe de la fonction Filter :

FILTER(plage, condition1)

La formule générique pour filtrer la chaîne de texte la plus fréquente sera la suivante :

FILTER(A2:A, Formule 1=Formule 2)

Donc la formule sera :

=filter(A2:A, match(A2:A,A2:A,0)=MODE.MULT(iferror(match(A2:A,A2:A,0))))

J’ai supprimé ArrayFormula de la Formule 1 et de la Formule 2 car il n’est pas nécessaire dans Filter.

Enveloppez le filtre ci-dessus avec la fonction Unique pour renvoyer le mode de la valeur de texte de la colonne A.

=unique(filter(A2:A, match(A2:A,A2:A,0)=MODE.MULT(iferror(match(A2:A,A2:A,0)))))

Si vous souhaitez renvoyer une seule chaîne de texte la plus fréquente, alors la formule ci-dessus convient. Dans la liste ci-dessus dans la colonne A, il n’y a qu’une seule chaîne de texte la plus fréquente.

Comme je l’ai promis au début, je vais vous fournir une formule plus flexible qui fonctionne bien à la fois pour un seul mode et pour plusieurs modes.

Passez simplement l’étape précédente « Filtrer pour filtrer… » et voici la suite de l’étape précédente « Le rôle de la fonction MODE.MULT… ».

TextJoin pour combiner les nombres à utiliser comme expression Regex

=ArrayFormula("^"&textjoin("$|^",true,MODE.MULT(iferror(match(A2:A,A2:A,0))))&"$")

Cela placera un symbole | entre les valeurs du modèle renvoyées par la Formule 2 en tant que séparateur. En plus de cela, un signe ^ sera inséré avant chaque valeur et un signe $ après chaque valeur.

Vous utilisez cette formule dans la plage A2:A. Vous ne verrez donc aucune différence car il n’y a qu’une seule valeur de modèle dans cette plage.

Pour tester, utilisez la plage D2:D (voir la première capture d’écran ci-dessus) à la place de A2:A pour voir la sortie suivante.

^1$|^5$

Nous pouvons utiliser cette valeur dans la formule RegexMatch pour cette ou cette correspondance. Cela signifie correspondre soit 1 soit 5, ou les deux.

Regexmatch les valeurs de modèle dans les chiffres de position relative renvoyés par Match

Voici l’étape finale. Nous allons utiliser Filter selon la formule générique ci-dessous.

FILTER(A2:A, regexmatch(Formula 1&" ",Formula 3)

Note : Dans cela, j’ai ajouté un espace à la Formule 1. C’est parce que la sortie de la Formule 1 est des positions relatives qui sont des valeurs numériques. En ajoutant un espace blanc, nous pouvons formater les nombres en texte. J’ai fait cela car Regexmatch nécessite une entrée de texte.

Ma formule finale est basée sur la formule générique ci-dessus. Regardez cette formule finale encore une fois.

=unique(filter(A2:A, regexmatch(match(A2:A,A2:A,0)&"", "^"&textjoin("$|^",true,MODE.MULT(iferror(match(A2:A,A2:A,0))))&"$")))

Logique de la formule :

La formule ci-dessus filtre la plage A2:A si la position relative renvoyée par la Formule 1 est égale aux modes multiples renvoyés par la Formule 3. Ensuite, elle supprime les doublons pour renvoyer le résultat unique.

Vous pouvez utiliser cette méthode pour trouver le mode des valeurs de texte dans Google Sheets.

Pour plus d’astuces et de conseils pour utiliser Google Sheets et d’autres outils de marketing en ligne, consultez le site Crawlan.com. Vous y trouverez une mine de ressources pour vous aider à optimiser votre marketing en ligne et à réussir votre entreprise.

Amusez-vous bien avec vos feuilles de calcul et n’hésitez pas à partager vos résultats avec nous !

Articles en lien