Index; Equiv avec liste ordonnée par ordre croissant

Bonjour le forum,

J'ai un tableau avec des valeurs ordonnées par ordre croissant et je souhaiterai trouver une valeur mini et une valeur maxi, en fonction d'une variable.

La fonction index; equiv fonctionne bien pour la valeur maxi, mais la valeur mini, cela me donne la valeur inférieure.

Dans l'exemple joint, normalement je devrai avoir la valeur de la cellule D4 et j'ai la valeur de la cellule D3.

31exemple.xlsx (10.73 Ko)

Merci pour votre aide.

Bonjour à tous,

C'est normal

tu recherches 14,6, qui est compris entre 12,4 et 15,4.

Ta formule, telle que tu l'as écrite, va te renvoyer la valeur immédiatement inférieur a celle cherchée, soit 16/12.4

Si tu veux la valeur immédiatement supérieure (20/15.4), tu ajoutes 1

=INDEX(C3:C14;EQUIV(2*RACINE(I3/(3,6*0,5*PI()));D3:D14;1)+1)

Crdlmt

Prends aussi l'habitude si tu n'as pas besoin de ref relatives, de mettre des $ $C$3:$C$14, ça t'évitera des surprises lors de copier/coller !!!

Bonjour,

Je confirme l'explication donnée j'avais la même formule.

=INDEX(C3:C14;EQUIV(2*RACINE(I3/(3,6*0,5*PI()));D3:D14)+1)

A noter qu'il faudra toujours que tes cellules soient classées par ordre croissant.

Bonne soirée

Bonjour DjiDji5940 et Ergotamine,

Merci pour vos réponses. Mais je viens de m'apercevoir d'un autre pb, si le résultat recherché est inférieur à la première ligne du tableau, j'ai un message d'erreur #N/A.

14exemple1.xlsx (9.21 Ko)

Bonjour c'est normal selon l'explication donnée : EQUIV renvoie la valeur strictement inférieure. Ici rien n'est inférieur a 7.3 et 4.6 donc aucune correspondance possible.

Pour moi ta fonction serait :

=SIERREUR(INDEX($C$3:$C$14;EQUIV(2*RACINE($I$3/(3,6*0,2*PI()));$D$3:$D$14;0));INDEX($C$3:$C$14;EQUIV(MIN($D$3:$D$14);$D$3:$D$14)))

Tu refais ta formule en prenant la plage c2:d14

en c2 rien en d2 0

Bonjour DjiDji59440 et Ergotamine,

Merci pour vos réponses.

Rechercher des sujets similaires à "index equiv liste ordonnee ordre croissant"