En utilisant LOOKUP dans Excel, je veux montrer la cellule qui a le plus grand score mais le résultat est étrange.
À partir de ce tableau, je veux déterminer qui a obtenu le plus grand score, et j'utilise ce code:
for biggest score no 1 "=LOOKUP(MAX(C4:C8),C4:C8,B4:B8)"
for biggest score no 2 "=LOOKUP(LARGE(C4:C8,2),C4:C8,B4:B8)"
for biggest score no 3 "=LOOKUP(LARGE(C4:C8,3),C4:C8,B4:B8) "
et le résultat est étrange:
for biggest score no 1 it show "mordi"
for biggest score no 2 it show "mordi"
for biggest score no 3 it show "ngun"
Quelqu'un peut-il me corriger et j'utilise la mauvaise fonction?
Réponses:
0 pour la réponse № 1Ce que fait votre première formule, c'est de trouver 5
en C4: C8 mais en cherchant ça 5
dans une liste qui n'est pas dans l'ordre croissant. La recherche est binaire - en fait, elle compare 5
avec le point médian 3
alors oublie 5
et 4
car il attend 5
être après 3
continue ainsi la recherche uniquement dans la seconde moitié de la plage (en la divisant à nouveau en deux). Il ne le trouve pas là, par défaut (peut-être pas vraiment intentionnellement) à la dernière entrée (c'est-à-dire 1
) renvoie ensuite la valeur correspondante dans la colonne B pour cela.
Je suggère une formule pour les trois "rangs", avec le "rang" spécifié en dehors de la formule, disons 1
en G4, 2
en G5 et 3
dans G6. Ensuite, appliquez:
=INDEX(B$4:B$8,MATCH(LARGE(C$4:C$8,G4),C$4:C$8,0))
Cela devrait revenir johan
et une fois copié aan
et alors ngun
.
Il utilise GRAND, comme vous l'avez été, mais à l'intérieur d'unFonction MATCH pour rechercher la position relative du score requis dans ColonneC, puis retourne le contenu de cette même position relative dans la plage de ColonneB.
RECHERCHEV ne conviendrait pas car le résultat se trouve à gauche dans le tableau_array.
Il pourrait être plus facile de voir ce qui se passe si les scores ne sont pas les «rangs» inversés.
1 pour la réponse № 2
Pour utiliser la fonction de recherche, les données du tableau doivent être ordonnées. Pour trouver simplement la première occurrence d'une valeur (-> max (C4: C8)), utilisez la fonction de correspondance et sélectionnez la valeur appropriée comme suit:
=INDIRECT("B" & MATCH(MAX(C4:C8),C4:C8,0))