Formule Equiv sur Excel

Résolu
Bonjour,

Je voudrais vos conseils, je dois programmer un tableau pour automatiser un calcul. J'ai besoin d'utiliser la formule Equiv sur excel. Il me faut la valeur "supérieur à" j'ai donc réalisé ceci (j'ai isolé la formule):
Valeurs: (A1:A5)
2000
2500
3000
3500
4000

avec une cellule (B4) qui contient 2300
j'effectue la formule =EQUIV(B4;A1:A5;-1) et j'obtient le résultat #N/A alors que je voudrais avoir 2 soit la position de A2 dans le tableau A1:A5

Comment régler le problème?
Merci d'avance

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Le paramètre -1 dans une fonction EQUIV ne fonctionne que sur des données triées en ordre décroissant. Dans votre cas il faudrait donc que vos valeurs dans la colonne A soient décroissantes:
    4000
    3500
    3000
    2500
    2000

    Dans ce cas votre formule fonctionnera sans problème.
    1. Merci! Avez vous une solution a mon problème? En utilisant d'autre fonction?

      j'avais penser a contourner le problème avec :
      equiv(B4;A1:A5;1)+1 mais si B4 prend alors une valeur exact cela fausse le résultat, comment faire?
    2. @CocotrouilleJe ne vois pas de solution "propre" autrement mais vous pouvez toujours mettre ça:

      equiv(B4-1;A1:A5;1)+1

      Cela marchera si la valeur recherché n'est pas un nombre à virgule.
    3. @CocotrouilleVous pouvez aussi essayer ça:

      =MIN(SI(A1:A5>=B4;A1:A5))

      mais attention il faut dans ce cas valider la formule par Ctrl+Maj+Entrée puisqu'il s'agit alors d'une formule matricielle.
    4. dans mon cas, la valeur sera toujours un nombre entier (mesure en mm pour des bâtiments) la solution me convient merci de votre aide!!
  2. Contributeur
    Bonjour
    la formule est
    =EQUIV(B4;A1:A5;1)
    dans l'aide (taper toucheF1)
    1 ou omis La fonction EQUIV recherche la valeur la plus élevée qui est inférieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre croissant, par exemple : ...-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI. 
    0 La fonction EQUIV recherche la première valeur exactement équivalente à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche peuvent être placées dans un ordre quelconque.
    -1 La fonction EQUIV recherche la plus petite valeur qui est supérieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre décroissant, par exemple : VRAI, FAUX, Z-A, ..., 2, 1, 0, -1, -2, ..., et ainsi de suite.


    Donc 2300 renverra 1
    2500 renverra 2

    mais pourquoi veux tu absolument 2 pour 2300 ?
    ;
    Michel
    1. Contributeur
      Excusez moi d'avoir voulu vous aider.... adieu, donc.
    2. excusez moi je n'avais pas vu votre réponse, 2300 doit me renvoyé 2 car c'est la 2 ème ligne du tableau sélectionné (soit A1:A5). J'ai absolument besoin que 2300 me donne 2 pour une tableau beaucoup plus compliqué (vous vous en doutez) dans le cas présenté j'ai isolé la situation.

      La solution consiste a créer un 0 en A1 nous avons donc le tableau A1:A6
      La formuler qui convient est =EQUIV(B4-1;A1;A6;1)+1