1
votes

Microsoft Excel - Recherchez et trouvez la prochaine valeur la plus élevée

Je ne suis pas un expert d'Excel et j'ai besoin d'aide.

J'ai une liste de différents numéros et un numéro de référence. J'ai une formule où cela me donne la valeur la plus proche de mon numéro de cette liste Exemple:

10 11 16 20 30

Mon numéro de référence est 13.

J'ai trouvé en ligne une formule qui me donne le nombre le plus proche qui dans ce cas est le numéro 11.

=INDEX(list;MATCH(MIN(ABS(list-reference_number));ABS(list-reference_number);0))

Mais je veux que le résultat soit 16 (le prochain nombre le plus élevé).

Je voudrais savoir si cela est possible et comment puis-je y parvenir. Merci d'avance!


1 commentaires

Je ne sais pas comment votre liste de nombres se rapporte à la formule - il y a 5 nombres, mais vous référencez 100 lignes. Mais, si vous pouvez classer vos nombres dans l'ordre décroissant, vous pouvez utiliser une formule comme = INDEX ($ A $ 1: $ A $ 5, MATCH (13, $ A $ 1: $ A $ 5, -1))


3 Réponses :


2
votes

Puisque MATCH (référence, liste) renverra le plus proche de 13. Cela signifie que MATCH (référence, liste) +1 renverra le résultat que vous recherchez:  entrez la description de l'image ici

Formule à utiliser:

=INDEX(C1:C5,MATCH(13,C1:C5)+1)


4 commentaires

La liste est un exemple et il y a beaucoup plus de nombres dans la liste réelle, dans laquelle les nombres changent. Les chiffres ne sont donc pas absolus. J'ai une explication la plus simple. Si mon numéro de référence est 13, alors le résultat ne doit pas être inférieur à 13. Il doit s'agir du numéro suivant le plus élevé de la liste.


C'est exactement ce que fait ma formule proposée. Je ne sais pas trop ce que vous recherchez d'autre. Peut-être que vous plus après: = INDEX (C1: C5, MATCH (TRUE, INDEX (C1: C5> 13,), 0))


@JvdV s'excuse d'avoir relancé un sujet légèrement dépassé! Je pense que la formule est incorrecte - notez que si vous remplacez la cellule C3 (actuellement 16 ) par quelque chose de plus élevé (par exemple 66 ), alors votre formule renverra 66 < / code>. Je soupçonne que OP aimerait voir la prochaine valeur la plus élevée, qui dans ce cas serait 20 .


Si la séquence de nombres ne suivait pas de façon logique, vous avez tout à fait raison.



1
votes

La colonne A fournie contient les nombres, qui peuvent être non triés en passant, vous pouvez obtenir le nombre le plus élevé le plus proche avec:

{=MIN(IF($A:$A>B1,$A:$A,MAX($A:$A)+1))}

B1 contient le numéro de référence (dans votre cas 13).

Remarque: Ceci est un array formular . Vous n'êtes pas obligé de saisir les accolades. Collez plutôt le formulaire sans { et } et appuyez sur Ctrl + Maj + Entrée pour confirmer votre saisie.


0 commentaires

2
votes

Voici une autre formule Array à essayer ( Ctrl + Maj + Entrée ):

=SUMPRODUCT(MIN(IF(A1:A5-B1>0,A1:A5)))

 entrez la description de l'image ici


0 commentaires