1
votes

Google Sheets - formule pour renvoyer N premières valeurs de la plage A où MAX (plage B)

F1: N1 avec des nombres aléatoires (peut avoir des doublons).
F2: N2 avec des nombres triés.
Besoin d'une formule pour remplir A1: C1 avec des valeurs de F2: N2 où F1: N1 a une valeur maximale.
Dans l'exemple, il devrait être 1,8,3 de F2: N2 - selon 9,9,8 de F1: N1.


_ A B C D E F G H I J K L M N
1 ? ? ?     9 3 8 1 5 5 3 9 8
2           1 2 3 4 5 6 7 8 9


6 commentaires

S'il s'agit de Google Sheets, vous pouvez le faire en triant ... Je n'ai pas le temps pour le moment mais je soupçonne qu'un collègue peut obliger


Terminé - pouvez-vous confirmer s'il doit contenir des balises Google Sheets? D'après le titre, ça aurait dû.


Désolé Tom je ne peux pas ajouter de tag "sheet" ou "googlesheet" car il faut avoir une réputation de 1500.


Ont ajouté la balise «google-sheets» - veuillez nous faire savoir si ce n'est pas approprié.


Merci Tom, tout va bien! Merci également pour votre réponse - cela a résolu mon problème!


C'est super. En regardant à nouveau, vous pouvez en fait omettre la 'Limite 1' car il n'y a que deux lignes dans le tableau final et Offset 1 donnera la seconde.


3 Réponses :


0
votes

Solution Excel avec cellules d'assistance

Formule en A1 = INDEX ($ F $ 2: $ N $ 2, MATCH (COLUMN (A1), $ F $ 3: $ N $ 3,0)) et est déplacée jusqu'à C1
Formule en F3 = RANK (F1, $ F $ 1: $ N $ 1) + COUNTIF ($ F $ 1: F1, F1) -1 et est déplacée jusqu'à N3


0 commentaires

1
votes

Vous pouvez le faire avec une "ligne d'aide" pour créer une liste de rangs uniques:

A1:   =INDEX($F$2:$N$2,1,MATCH(SMALL($F$3:$N$3,COLUMNS($A:A)),$F$3:$N$3,0))
   and fill right to C1

Puisque vos valeurs dans F2: N2 sont séquentielles {1 ... 8} , vous pouvez utiliser cette formule:

A1:  =MATCH(SMALL($F$3:$N$3,COLUMNS($A:A)),$F$3:$N$3,0)
  and fill right to C1

Si les valeurs de F2: N2 sont aléatoires , alors vous pouvez utiliser ceci:

F3:  =RANK(F1,$F$1:$N$1)+COUNTIF($F$1:F1,F1)-1
  and fill right to N3

entrez la description de l'image ici


0 commentaires

0
votes

Personne n'est intervenu pour proposer une solution Google Sheets. En voici donc une:

=transpose(query(sortn(transpose(F1:N2),3,,1,false,2,true),"Select Col2"))    

En A1. Il s'agit d'une formule auto-extensible qui n'a donc pas besoin d'être remplie et n'a pas besoin de lignes d'aide.

entrez la description de l'image ici

EDIT

'Limit 1' peut être omis dans la formule ci-dessus comme mentionné dans le commentaire.

C'est aussi un peu plus court:

=query(transpose(sortn(transpose(F1:N2),3,,1,false,2,true)),"select Col1,Col2,Col3 limit 1 offset 1")


0 commentaires