IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Recherche a 2 variables avec fonction index et Equiv [XL-2007]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Recherche a 2 variables avec fonction index et Equiv
    Bonjour,

    Voila plus de 3 semaines que je cherche une solution sans succés.
    Je mets en place un planning d'animations qui permet de voir les lieux et date ou il y a une animation de prévue.
    J'ai réussis avec la fonction index et equiv a partir d'une liste d'indiquer les animations a partir de la date, mais je n'arrive pas a ajouter la variable "lieu" afin de rendre dynamique la recherche.
    Avez vous une solution ? j'ai essayé la fonction Et, sommeprod,je n'arrive pas a trouver la bonne syntaxe

    Merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Une proposition à étudier et tester. Explications du principe dans le fichier.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse,

    Je pensais avoir compris le principe, mais j'ai voulu adapter ta formule avec chaque jour que mon planning a la semaine indique vu que mon planning peut-être lu sur 12 jours, donc il faut a partir de ma liste lorsque je sélectionne le mag d'amiens le 10/10/2013 je puisse voir les 11 jours suivant les animations destinées a ce magasin. (hors pour le moment je vois toute les animations à la date sélectionnée)

    Donc j'ai voulu multiplier ta formule*12 en renvoyant la valeur de la date soit
    =(B3=DATEVAL('Agenda quotidien'!G13)*(G3='Agenda quotidien'!$D$16)*LIGNE()) la formule me renvoie a #valeur

    Encore merci de m'aider,

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Vous ne donnez dans le tableau du Planificateur d'évènements que deux journées de données et vous voulez en extraire des données sur 12 jours !!!
    Quand vous posez une question exposez vos demandes clairement et complètement.
    Fournissez moi un tableau complet et je chercherai le moyen de vous fournir les attendues. Cela demandera un peu de temps car le problème est plus compliqué que prévu. Il n'y a pas que 2 critères mais au moins 13.
    J'attends de vos nouvelles.

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En complément de la réponse de Robert, j'ajouterais que si tu exposais ton problème clairement sur ce forum ainsi que la façon dont sont organisées tes données dans le classeur tu aurais sans aucun doute plus de change d'avoir un nombre plus important de réponses car un certain nombre d'intervenants et j'en suis n'ouvrent pas d'emblée les classeurs.

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    désolé !

    Je vais détailler mon besoin, l'onglet planificateur sera alimenter selon les demandes que je vais recevoir au fur et a mesure, je vais donc recevoir des demandes pour n'importe quel jours de l'année, et pour un des lieux prédéfinis.

    Le lieu concerné pourra regarder rapidement si il va recevoir une visite ou pas, dans la limite de 5visites par jour.

    J'ai réussi avec beaucoup de mal a faire remonter l'information pour chaque jour que l'onglet Agenda quotidien affiche soit 12 jours en plus que le jour selectionné dans la liste "journée à visualiser"

    Maintenant dans cette formule, il faudrait pouvoir ajouter qu'il y a l également une recherche a faire sur le magasin en plus de la date

    Merci pour le temps que tu passes sur mon fichier, j'ai ajouté des données dans l'onglet planificateur d'evenement
    Fichiers attachés Fichiers attachés

  7. #7
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Nouvelle version. Est-ce bien ce que vous voulez ?

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Je vais essayer de l'expliquer sans que vous soyez obliger d'aller sur mon fichier.
    J'ai 2 feuilles dans mon fichier
    la 1° feuille en colonne avec plusieurs ligne selon les demandes
    B2 : date
    E2 : nom
    F2 : Objet
    G2 : lieu
    I2 : valeur unique calcul Feuille1!$B2&"|"&NB.SI($B$2:B2;B2) résultat 1°ligne 41557|1

    la 2°feuille il s'agit du planning récapitulatif

    en D16 je définie un lieu et en G8 je définie une date
    Et je dois obtenir en H4 le nom et l'objet pour le moment j'ai écrit la formule suivante
    =SIERREUR(INDEX(Feuil1!$B$3:$I$115;EQUIV($G$8&"|"&LIGNE(A1);Feuil1!$I$3:$I$115;0);4)&" : "&INDEX(Feuil1!$B$3:$I$115;EQUIV($G$8&"|"&LIGNE(A1);Feuil1!$I$3:$I$115;0);5);"")

    Celle ci fonctionne mais ne prend en compte que la date en G8, je n'arrive pas trouver la syntaxe qui me permette de rajouter la condition du lieu qui se trouve en D16

    Je vous remercie d'avance pour votre coup de main

  9. #9
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Re,
    Je croyais que c'était ce que je proposais. Si je regarde à la date du 10/10 pour Amiens je vois 2 occurrences qui correspondent alors je ne comprends pas pour quoi vous voulez autre chose.
    Si c'est utiliser votre méthode plutôt que la mienne, libre à vous bien sûr mais alors il faudra changer car INDEX associé à EQUIV ne peut ramené que la première et unique valeur correspondant au critère ValeurCherchée.
    Mais c'est votre chois après tout.

  10. #10
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonjour,

    SOMMEPROD est une solution parmi d'autres pour chercher des données suivant critères.

    Voici un exemple d'une formule que j'utilise pour connaître une activité dans un planning avec comme critères le nom du formateur et la date.
    Les données
    (Plages nommées)
    dbPlan la liste des données (ex : I2:K14)
    dbPlan_Prof la plage contenant les formateurs (ex:I2:I14)
    dbPlan_Date la plage contenant les dates (ex : J2:J14)
    Les critères
    A7 : Le nom du formateur cherché
    C6 : La date cherchée
    La formule
    La formule ci-dessous avec INDEX renvoie la valeur qui se trouve à l'intersection ligne colonne de la table dbPlan.
    Le numéro de la ligne étant calculée par SOMMEPROD et surtout grâce à la formule LIGNE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INDEX(dbPlan ; SOMMEPROD( ($A7=dbPlan_Prof) * (C$6=dbPlan_Date) * LIGNE(dbPlan));3)
    Bien entendu je fais précéder cette formule par un SIERREUR pour intercepter l'erreur (par exemple pas de formation à cette date pour le formateur.

    Voici la formule complète
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(SI(SOMMEPROD( ($A7=dbPlan_Prof) * (C$6=dbPlan_Date) * 1); INDEX(dbPlan; SOMMEPROD( ($A7=dbPlan_Prof) * (C$6=dbPlan_Date) * LIGNE(dbPlan));3);"");"Err. planning")
    Attention une valeur pour une date et un formateur.

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour ta proposition Rjamin, je ne cherche pas absolument a garder ma méthode, mais j'écrivais le descriptif demandé par Philippe Tulliez au moment ou tu as donné ta solution, donc nous nous sommes simplement croisée.
    Je suis justement entrain d'essayer de comprendre ta démarche, mais j'ai pas le même niveau donc il me faut un peu plus de temps
    Mais a première vue oui c'est exactement ce que je cherchais a faire.

  12. #12
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Tant mieux, si besoin de plus d'explications vous posez des questions.
    Merci à Philippe pour l'autre méthode avec SOMMEPROD et LIGNE() je vais tester ça à une prochaine occasion. Ca me parait très intéressant.

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour Rjamin,
    Je rencontre une difficulté, les informations que je modifie ne modifie pas automatiquement les zones de calcul rajouter dans planificateurs d'evenements.

    Y a t'il une astuce pour que les modifications soit pris en compte ?
    Merci pour ton aide
    Bien cordialement

  14. #14
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Vous écrivez
    Je rencontre une difficulté, les informations que je modifie ne modifie pas automatiquement les zones de calcul rajouter dans planificateurs d'evenements.
    Je ne comprends pas car vous modifiez quoi et où ?
    Si vous modifiez un élément dans les données cette modification apparaîtra certainement dans le résultat de l'extraction.
    Mettez et expliquez un exemple de ce que vous faites et qui vous pose problème.

    PS: Je crois avoir compris. La formule dans la feuille Agenda... ne va pas assez loin pour lire les données de de la feuille Planificateur ...
    Remplacer donc la formule en donnant la valeur max des plages par 1000 (ce que montre la formule ci-dessous)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(INDEX('Planificateur d''événements'!$B$3:$I$1000;PETITE.VALEUR('Planificateur d''événements'!$K$3:$K$1000;NB.SI('Planificateur d''événements'!$K$3:$K$1000;0)+LIGNE()-(3+5*$M4))-2;4);"") &" : " & SIERREUR(INDEX('Planificateur d''événements'!$B$3:$I$1000;PETITE.VALEUR('Planificateur d''événements'!$K$3:$K$1000;NB.SI('Planificateur d''événements'!$K$3:$K$1000;0)+LIGNE()-(3+5*$M4))-2;5);"")
    Si vous estimez que 1000 ne sera pas suffisant vous augmentez ce nombre en fonction de vos besoins.

    ATTENTION : il faut faire cela pour toutes les formules de la feuille Agenda... avec Rechercher Remplacer c'est assez facile

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En complément de la réponse de Robert que je salue au passage, je te conseille de nommer tes plages de cellules (voir le Gestionnaire des noms) et de transformer ensuite la liste contenant les données en Tableau (pour les versions 2007 et suivantes onglet [Insertion], groupe Tableau, commande Tableau).
    A partir de ce moment là la liste devient dynamique et le fait de nommer ces plages de cellules rend la lecture des formules bien plus aisée (voir ma réponse du 7/2 (intervention 10)).

  16. #16
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Désolée pour cette réponse tardive mais j'étais en vacance

    Dans l'onglet planificateur j'ai ajouté une colonne H avec 2 choix possible (BLANC ou MULTI), j'ai donc ajouté sur la feuille planificateur une nouvelle possibilité de menu déroulant (BLANC ou MULTI) je renvoie le choix dans agenda en D15 (même principe que pour le lieu) j'ai du faire une évolution de l'outil suite a l'utilisation afin d'avoir une meilleure vision.

    Suite a cela j'ai modifié ta formule afin de pouvoir intégrer cette nouvelle condition soit
    =($B3=K$1)*($G3='Agenda quotidien'!$D$16)*($H3='Agenda quotidien'!$D$15)*LIGNE()
    Cette formule ne fonctionne que lorsque je selectionne MULTI dans la liste déroulante, des que je selectionne BLANC celle ci ne fonctionne plus le calcul reste a 0, pourtant la syntaxe de la formule me semble correcte, ou alors 3 conditions n'est pas possible avec cette formule ?

    Merci encore pour votre aide,
    Bien cordialement

  17. #17
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Normalement, le nombre de critères cherché n'a pas d'importance.
    Il est possible qu'il faille rectifier le début de ta plage de cellules.
    La lecture de cette contribution Croiser des données avec comme synthèse des données alphanumériques te permettra peut-être d'y voir plus clair dans la façon de calculer le n° de ligne d'une liste de données suivant des critères.

  18. #18
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    3 conditions ne devrait pas poser de problèmes. Remettez le fichier sur le site et je regarderai.

  19. #19
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Je vous remercie une fois de plus pour le temps que vous m'accordez, qui me permette d'accroitre mes connaissances sur Excel avec de nouvelle formule.

    Ci joint le fichier Rjamin.

    Bonne soirée,
    Cordialement.
    Fichiers attachés Fichiers attachés

  20. #20
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Je ne parviens pas à charger le fichier, je n'ai qu'une page blanche quand je clique sur le lien.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Batch] Recherche chaine dans variable avec SET
    Par naranyan dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 18/02/2011, 11h45
  2. recherche sur table mysql avec deux index
    Par Invité1 dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/05/2010, 11h41
  3. partage variable avec fonction
    Par m1chto dans le forum Langage
    Réponses: 2
    Dernier message: 01/12/2009, 15h31
  4. Recherche sur mots-clé avec fonction ET et OU
    Par gerard101 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/01/2009, 11h51
  5. Rechercher une valeur absolue avec fonction Find
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/09/2008, 08h25

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