Excel: Obtention des cinq premières valeurs d'une ligne dans une liste séparée par des virgules

0
+-----+-----+-----+-----+-----+-----+-----+-----+
|     | A   | B   | C   | D   | E   | F   | G   |
+-----+-----+-----+-----+-----+-----+-----+-----+
| 1   | 5   | 6   | 5   | 9   | 4   | 8   | 3   |
+-----+-----+-----+-----+-----+-----+-----+-----+

Considérant la feuille ci-dessus. Je cherche un moyen dans Excel / Calc d’obtenir les 5 meilleurs chiffres.

La seule façon pour moi de le faire jusqu’à présent est d’utiliser 5 fonctions LARGE différentes.

=LARGE(A1:G1, 1)
=LARGE(A1:G1, 2)
=LARGE(A1:G1, 3)
=LARGE(A1:G1, 4)
=LARGE(A1:G1, 5)

Cela me donnerait les cinq chiffres les plus élevés. Je me demandais s'il y avait un moyen de faire cela avec une seule formule qui reviendrait:

9, 8, 6, 5, 5

dans une seule cellule?

Une autre question, au lieu de les imprimer, je voudrais aussi résumer les nombres dans une cellule différente.

Bobby S
la source

Réponses:

1

Vous pouvez utiliser TEXTJOIN () en tant que formule matricielle.

=TEXTJOIN(",",TRUE,LARGE(A1:G1,ROW($1:$5)))

Le ROW($1:$5)lorsqu'il est entré comme un tableau retourne le tableau de {1,2,3,4,5}retourner les cinq premiers plus grand nombre à la TEXTJOIN.

Vous forcez le tableau en confirmant la formule avec Ctrl-Maj-Entrée au lieu de entrer lorsque vous quittez le mode Édition.

TEXTJOIN est disponible dans Office 365 Excel.

Pour obtenir la somme, nous pouvons utiliser le même GRAND dans un SOMMAIRE:

=SUMPRODUCT(LARGE(A1:G1,ROW($1:$5)))

entrez la description de l'image ici

Pour les anciennes versions, vous êtes coincé avec:

=LARGE(A1:G1, 1) & "," & LARGE(A1:G1, 2) & "," & LARGE(A1:G1, 3) & "," & LARGE(A1:G1, 4) & "," & LARGE(A1:G1, 5) 

Ou des cellules auxiliaires.

Scott Craner
la source
Je vous remercie. J'ai aussi trouvé la réponse à ma deuxième question. = SOMMAIRE (GRAND (A1: H1, {1,2,3,4,5})))
Bobby S
@BobbyS Nevermind vient de lire la dernière phrase.
Scott Craner