Trouver la valeur de la meme ligne colonne precedente

NPD -  
Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je dispose de deux colonnes (Aet B) et environ 30lignes
une cellule (C1) fait reference a une donnée dans la matrice OU est une valeur proche de la matrice (en colonne B) (ex: C1= 450 en Colonne B= 455) donc déjà il doit se dire que c'est cette reference qu'il faut prendre en compte, s'il n'y a pas de 450.
Et ensuite je souhaite avoir la reference en colonne A de la même ligne
Voici la formule que j'ecris mais ca ne vas pas ... :(

=INDEX(A1:A30;SOMMEPROD((A1:B30=C1)*LIGNE(A1:A30)))
et je valide telle une formule matricielle...

Qlq'un sait ce qu'il y a d'incorrect ?
Merci

2 réponses

  1. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
     
    Bonjour,
    Au passage, si j'ai bien compris vos explication, essayez avec cette formule (normale) :
    =INDEX(A1:A30;EQUIV(C1;B1:B30;-1))


    0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    outre la solution de Le Pingou (salut au passage, mon ami) qui est plus simple, la votre fonctionne correctement mais ne nécessite pas d'entré matricielle car SOMMEPROD est déjà matriciel par défaut.

    Par contre, l'erreur est probablement dans l'adresse A1:B30=C1 alors qu'elle devrait être B1:B30=C1 (en s'adressant à une seule colonne!)

    Crdlmnt

    0
    1. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
       
      Bonjour Vaucluse,
      J'ai un petit doute car le critère [A1:B30=C1] de la fonction [SOMMEPROD] ne permet pas de trouver la valeur la plus proche de la valeur chercher donc pas valable pour son cas [C1=450] et doit trouver [455] en colonne [B].
      Amicales salutations
      Le Pingou
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Effectivement, je me suis attaché au libellé de la formule sans lire le reste.
      Par contre, je n'arrive pas à faire fonctionner correctement EQUIV avec -1:
      renvoie #N/A si la liste est classée
      renvoie une sottise si la liste n'est pas classée??
      S'il s'agit de trouver la valeur directement supérieur dans une liste classée, je dirais bien:
      =INDEX(A1:A30;EQUIV(C1;B1:B30)+1)
      Reste à savoir si il faut choisir la valeur directement supèrieure ou s'il faut trouver la valeur ayant le moins d'écart,. Ca ce fait, mais c'est un peu plus compliqué
      par exemple:
      =SI(C1-INDEX(A1:A30;EQUIV(C1;B1:B30))>INDEX(A1:A30;EQUIV(C1;B1:B30)+1)-C1;INDEX(A1:A30;EQUIV(C1;B1:B30)+1);SI(C1-INDEX(A1:A30;EQUIV(C1;B1:B30))=

      crdlmnt
      0
    3. Le Pingou Messages postés 12290 Date d'inscription   Statut Contributeur Dernière intervention   1 481
       
      Bonjour Vaucluse,
      Je ne sais pas trop que dire, j'ai utilisé les données selon la description, nous ne savons même pas ce qui se trouve dans les 2 colonnes [A] et [B].
      Effectivement si on applique sur un colonne [B] contenant le même nombre de valeurs que la [A], ma propossition ne marche pas.
      N'étant encore pas Mme Soleil .....!
      Amicales salutations
      Le Pingou
      0