Trouvez les N valeurs maximales dans une ligne et renvoyez les en-têtes dans Google Sheets

Il existe différentes solutions pour trouver les N valeurs maximales dans une ligne et renvoyer les en-têtes dans Google Sheets. Je recommande la combinaison Filtre-Grand.

Certaines fonctions, ou plutôt combinaisons de fonctions, appropriées sont les suivantes : RechercheH-Grand, Index-Correspondance-Grand ou Filtre-Grand.

Je suis nouveau dans l’utilisation de ces fonctions Google Sheets. Y a-t-il un guide pour les apprendre rapidement ?

Oui ! Je recommande mon Guide des fonctions Google Sheets pour ceux qui sont nouveaux.

Les trois combinaisons fonctionnent également bien pour trouver les N valeurs maximales dans une ligne et renvoyer les en-têtes dans Google Sheets. Mais la combinaison Filtre-Grand a une particularité.

Sans aucun doute, je vais vous fournir les trois formules différentes.

Mais d’abord, comprenez comment les deux premières formules de combinaison diffèrent de la dernière.

lookup max and return header - sample data

Dans cet exemple, les deux valeurs maximales sont 18 239,00 et 11 689,00. Les en-têtes des valeurs respectives sont « Inde » et « Arabie saoudite ».

En utilisant la fonction Grand, nous pouvons trouver les N valeurs maximales. Par exemple, pour trouver le maximum 1, vous pouvez utiliser la formule suivante :

=grand(C4:L4;1)

Pour trouver la deuxième valeur maximale, modifiez la formule comme suit :

=grand(C4:L4;2)

Mais nous ne pouvons pas utiliser cette formule pour trouver les en-têtes.

Pour cela, nous pouvons utiliser la fonction RechercheH et utiliser l’une des deux formules ci-dessus comme clé de recherche.

Un problème peut survenir. Quel est le problème ?

La fonction RechercheH ne peut rechercher que dans la première ligne d’un tableau.

Étant donné que nous utilisons la formule Grand comme clé de recherche, la sortie de cette formule grand ne provient pas de la première ligne du tableau.

Nous devons donc ajuster la plage C3:L4 dans RechercheH comme suit pour déplacer les en-têtes dans l’ordre.

={C4:L4;C3:L3}

Avant de passer à la formule, laissez-moi expliquer pourquoi la combinaison du filtre est meilleure.

Lorsque vous avez une valeur maximale qui se répète, la combinaison RechercheH-Grand ne renverrait que le même en-tête pour la première et la deuxième valeur.

Il en va de même pour la combinaison Index-Correspondance-Grand.

Comment trouver les N valeurs maximales dans une ligne et renvoyer les en-têtes dans Google Sheets

Si vous n’avez aucune valeur en double dans la ligne, utilisez les deux premières formules.

1. RechercheH-Grand

=si.erreur(RechercheH(grand(C4:L4;1);{C4:L4;C3:L3};2;faux))

Cette formule RechercheH renverrait le nom « Inde », qui est l’en-tête de la première valeur maximale.

Changez simplement le 1 (surligné) en 2 dans la formule Grand pour extraire l’en-tête de la deuxième valeur maximale.

Le résultat serait « Arabie saoudite ». Changez le nombre 2 en 3 pour trouver la troisième valeur maximale dans une ligne et renvoyer ses en-têtes.

2. Index-Correspondance-Grand

Je ne recommande pas non plus cette formule INDEX pour trouver les N valeurs maximales dans une ligne et renvoyer les en-têtes si les nombres se répètent.

=si.erreur(INDEX(C3:L3;CORRESP(grand(C4:L4;1);C4:L4;0)))

Modifiez également le numéro (N) dans Grand pour retourner l’en-tête de la deuxième, troisième, etc. valeur maximale.

3. Filtre-Grand (Recommandé !)

Voici la formule finale que je recommande à mes lecteurs.

=concatener(", ";vrai;si.erreur(filtre(C3:L3;C4:L4=grand(unique(C4:L4;vrai);1));""))

Cette formule basée sur le Filtre filtre la ligne d’en-têtes C3:L3 pour la valeur maximale unique dans C4:L4.

Si simple, et encore une fois la fonction Grand joue un rôle important.

Cela signifie que vous pouvez changer le nombre 1 dans la formule en 2 pour retourner l’en-tête de la deuxième plus grande valeur.

Comment cette formule est-elle différente des deux autres ?

Pour expliquer cela, je manipule simplement les données d’exemple ci-dessus.

Note : Il s’agit uniquement de données d’exemple. Les valeurs ne sont pas correctes. J’ai manipulé les valeurs à des fins d’explication de la formule.

Si vous utilisez la formule de filtrage, maintenant avec ces données, elle renverrait les noms « Inde » et « Arabie saoudite » car les deux partagent la même valeur maximale.

Qu’en est-il des deux autres combinaisons ?

Les deux formules renverraient le nom de pays « Arabie saoudite » pour le grand 1 et le grand 2.

Cela signifie que RechercheH et Index omettent le pays « Inde », même si c’est l’en-tête de la valeur maximale 1 avec l’Arabie saoudite.

Choisissez donc les formules en fonction de vos besoins particuliers.

Trouver les N valeurs maximales dans chaque ligne et renvoyer les en-têtes – Lambda

Toutes les formules ci-dessus ne sont pas capables de gérer plusieurs lignes.

Donc, lorsque vous avez des valeurs sur plus d’une ligne en dessous de la ligne d’en-tête, vous avez deux options.

  1. Rendez C3:L3 absolu.

  2. Utilisez la fonction auxiliaire BYROW Lambda Helper Function (LHF) pour étendre automatiquement les formules vers le bas.

Voici ces formules pour trouver les N valeurs maximales dans chaque ligne et renvoyer les en-têtes dans Google Sheets.

  1. RechercheH-Grand – Formule spill down :

=byrow(C4:L;lambda(r; si.erreur(RechercheH(grand(r;1);{r;C3:L3};2;faux))))

  1. Index-Correspondance-Grand – Formule spill down :

=byrow(C4:L;lambda(r; si.erreur(INDEX(C3:L3;CORRESP(grand(r;1);r;0)))))

  1. Filtre-Grand – Formule spill down (Recommandé !) :

=byrow(C4:L;lambda(r; concatener(", ";vrai;si.erreur(filtre(C3:L3;r=grand(unique(r;vrai);1));""))))

C’est tout. Merci pour votre attention. Profitez-en !

Lié à : Column Header of Max Value in Google Sheets Using Array Formula

Articles en lien