1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2012
    Messages : 11
    Points : 8
    Points
    8

    Par défaut Recherche valeur entre 2 colonnes & Recherche avec 2 critères

    Bonjour

    Je travaille sous Open Office Calc 4.1.2.
    Après avoir cherché dans les différents forum, je fais appels à vos services et vos compétences.

    J'ai un fichier "TT.ods" avec 2 onglets (feuille 2 et Base)
    je voudrais trouver une formule qui me permette de faire une recherche dans l'onglet base :
    - entre 2 colonnes (colonne taux1-taux2)
    ET
    - une 3ème colonne (taux3)
    afin de me donner le résultat dans l'onglet feuille.
    je vous joins un fichier pour plus d'explications.
    j'ai tenté un mix entre INDEX, EQUIV, RECHERCHE mais ça ne fonctionne pas.
    Merci de votre patience.
    Bonne journée
    Therese
    Fichiers attachés Fichiers attachés
    • Type de fichier : ods TT.ods (15,7 Ko, 10 affichages)

  2. #2
    Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    octobre 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : octobre 2016
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    Bonjour,

    Sous réserve d'avoir bien compris que tu souhaites que la valeur de C3 soit recherchée entre deux valeurs mini et maxi définies dans les colonnes C et D de la feuille Base tout en répondant au critère de C2 trouvé en colonne E :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=INDEX($Base.F1:F25;PETITE.VALEUR(SI((C3>=$Base.C2:C25)*(C3<=$Base.D2:D25)*(C2=$Base.E2:E25);LIGNE(A2:A25);"");LIGNE(A1));1)}
    Formule matricielle, à saisir sans les accolades et à valider par Ctrl+Maj+Entrer (apparemment tu sais déjà)

    A+

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2012
    Messages : 11
    Points : 8
    Points
    8

    Par défaut ça marche

    Bonjour

    Tu as parfaitement compris ce que je souhaitais.
    Je te remercie de la formule que tu m'envoies et qui fonctionne à merveille,
    PETITE.VALEUR, je ne connaissais pas du tout.
    Je n'ai compris la référence LIGNE(A2:A25);"");LIGNE(A1) mais j'ai appliqué comme tu me l'as indiqué et ça marche nickel.

    Bonne journée
    Therese

  4. #4
    Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    octobre 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : octobre 2016
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    Bonjour,
    Citation Envoyé par therese067117 Voir le message
    Je n'ai compris la référence LIGNE(A2:A25);"")
    =LIGNE(A2:A25) lors d'une validation matricielle, retourne une plage verticale numérotée de 2 à 25. Associé à la fonction SI(), cela permet de récupérer uniquement les numéros de lignes répondants aux critères comme sur cette copie d'écran
    Nom : th1.png
Affichages : 24
Taille : 20,6 Ko
    ensuite, PETITE.VALEUR() avec LIGNE(A1) comme dernier paramètre, permet de récupérer uniquement la première plus petite valeur de cette plage, que l'on passe ensuite en argument à la fonction INDEX() comme indice de ligne à extraire.

    J'utilise généralement cette méthode lorsque plusieurs lignes sont susceptibles de répondre aux critères. En étirant la formule vers le bas, LIGNE(A1) s'incrémente automatiquement, ce qui permet de récupérer le numéro de la deuxième ligne répondant aux critères, et ainsi de suite.

    Cette méthode là, même si elle fonctionne, n'est pas vraiment adaptée à ton cas car à priori il ne devrait y avoir qu'une seule ligne répondant aux critères. Tu pourrais simplifier de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=INDEX($Base.F1:F25;MAX(SI((C3>=$Base.C2:C25)*(C3<=$Base.D2:D25)*(C2=$Base.E2:E25);LIGNE(A2:A25);""));1)}
    La fonction MAX() permet d'éviter que la validation matricielle retourne une plage de #Valeur

    A+

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : novembre 2012
    Messages : 11
    Points : 8
    Points
    8

    Par défaut Merci

    Bonsoir

    Merci pour tes explications
    Effectivement ta seconde solution fonctionne aussi et surtout s'adapte parfaitement à une seconde recherche que je fais dans mon tableau qui a un peu évolué depuis hier.

    Bonne soirée
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Fonction qui recherche valeur d'une colonne
    Par nicolaz18 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/04/2012, 17h51
  2. [XL-2010] recherche valeur entre 2 colonnes
    Par gilou41 dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 23/03/2012, 19h01
  3. Recherche similitudes entre 2 colonnes
    Par hassenssas dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/05/2008, 21h20
  4. Recherche Valeur dans plusieurs colonnes
    Par grec38 dans le forum Excel
    Réponses: 14
    Dernier message: 08/04/2008, 14h37
  5. Recherche valeurs d'une colonne
    Par Joachim49 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/12/2007, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo