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 :

INDEX, EQUIV, EQUIV, EQUIV [XL-2010]


Sujet :

Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Points : 107
    Points
    107
    Par défaut INDEX, EQUIV, EQUIV, EQUIV
    Bonjour

    Me revoilà avec un nouveau problème.

    J'ai essayé plusieurs formules mais je ne trouve pas la solution. Je ne sais même pas si cela est possible.

    Dans mon tableau il faut que je trouve les données qui se trouve au croisement d'une ligne et d'une colonne. jusque la pas de soucis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(BH1:$BO$1115;EQUIV(F19;BH1:$BH$1115;0);EQUIV(C19;$BH$1:$BO$1;0))
    Mais afin de déterminer la bonne ligne il faut vérifier qu'on se trouve bien sur la bonne ligne, car certaines données se répètent. (Les dénominations se répètent)

    Exemple : Nous recherchons la valeur se trouvant dans la cellule "BJ4" soit 4,50

    Cette cellule se trouve au croisement de Mardi (2) et de la semaine 1 (S1) donc plusieurs cellules correspondent à ce croisement, donc troisième consigne la cellule se trouve également au croisement de :"arrêt maladie du matin"
    je ne vois pas comment ajouter le troisième éléments.

    Nom : Affectation 9 10 18.png
Affichages : 3122
Taille : 121,5 Ko

    Merci d'avance

    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX($BG$1:$BO$1115;EQUIV(Dénomination;INDIRECT("BH"&EQUIV(Semaine;$BG:$BG;0)&":BH1115");0)+EQUIV(Semaine;$BG:$BG;0)-1;EQUIV(JourSemaine;$BG$1:$BO$1;0))
    Remplacez Semaine, Dénomination et JourSemaine par les cellules correspondantes.

    Cdlt

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Points : 107
    Points
    107
    Par défaut
    J'ai bien fait de prendre une pause déjeuné

    Je reviens et grace à toi ARTHURO83, le problème est résolu

    Je ne l'aurais pas trouvé tout seul alors encore un grand merci à toi

    Cordialement

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Explication
    Bonjour,

    Jài un prbleme similaire mais je ne comprends pas la formule.
    Si quelqu'un peut l'expliquer en detail ca serait super

    Merci beaucoup

  5. #5
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour jeancf33,

    Voici l'explication de la formule décomposée( avec des couleurs pour une meilleure compréhension)
    Pièce jointe 536990

    le fichier pour une lecture plus aisée
    Pièce jointe 536991

    En espérant avoir été suffisamment clair.

    Cdlt

  6. #6
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Deux autres solutions, qui me semblent plus simple à mettre en œuvre et (exepté pour une ) plus simple à maintenir dans le temps en cas de modification du classeur.

    Nom : 2020-02-09_123944.png
Affichages : 2437
Taille : 30,4 Ko

    La 1ère est un peu plus longue mais l'avantage c'est qu'elle est insensible en cas de modification du nom du tableau structuré.

    Les 2 formules possible sont les suivantes:

    Code Formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(INDIRECT("Tableau1[" & $C$30 & "]");SOMMEPROD((Tableau1[Semaine]=$C$31)*(Tableau1[Activité]=$C$32)*(LIGNE(Tableau1[Activité])-LIGNE(Tableau1[[#En-têtes];[Semaine]]))))
    Ici l'utilisation de Indirect interdit la possibilité de changer le nom du tableau sur la feuille Excel puisqu'il est écrit en dur dans la formule. SI je change le nom du tableau sur ma feuille Tableau1 -> Tab_Semaine par exemple, la formule retournera une erreur parce qu'elle ne trouvera plus Tableau1.
    Donc prudence avec l'utilisation de indirect dans les formules, il vaut mieux éviter si possible

    Je lui préfère donc cette version, plus polyvalente
    Code Formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Tableau1[[Lundi]:[Dimanche]];SOMMEPROD((Tableau1[Semaine]=$C$31)*(Tableau1[Activité]=$C$32)*(LIGNE(Tableau1[Activité])-LIGNE(Tableau1[[#En-têtes];[Semaine]])));EQUIV($C$30;Tableau1[[#En-têtes];[Lundi]:[Dimanche]];0))


    [Edit]
    Un autre en version matricielle (à valider par Ctrl+Maj+Enter)
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Tableau1[[Lundi]:[Dimanche]];EQUIV(1;(Tableau1[Semaine]=$C$31)*(Tableau1[Activité]=$C$32);0);EQUIV($C$30;Tableau1[[#En-têtes];[Lundi]:[Dimanche]];0))

    Et une autre en remplaçant le indirect par décaler() [CElle qui j’utiliserais si je devais en choisir une]
    Code Formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((Tableau1[Semaine]=$C$31)*(Tableau1[Activité]=$C$32)*DECALER(Tableau1[Activité];0;EQUIV($C$30;Tableau1[[#En-têtes];[Lundi]:[Dimanche]];0)))

    Fichier démo joint
    [/Edit]
    ++
    Qwaz
    Fichiers attachés Fichiers attachés

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Whaou c'est super merci beaucoup @arturo83 et merci aussi Qwazerty !!
    Ca va me changer la vie sur certaines requetes
    Merci beaucoup

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Bonjour a tous,

    Je reviens avec nouveau probleme :
    je voudrais importer un fichier excel dans un logiciel et pour ce faire je dois retravailler ma base.
    Mon onglet "import " est la mise en forme que je dois avoir pour pouvoir importer mes donnees et l'onglet "test" les infos que je souhaiterais rentrer.
    Je pensais utiliser Index equiv mais ca ne fonctionne pas, j'ai en realite besoin d'utiliser Sommeprod ou sommesi plutot sommesi d'ailleurs pour connaitre la somme total par centre de cout et par numero de projet par mois.
    le probleme est le suivant j'aimerai que la formule soit dynamique en y inserant la fonction ligne afin que le tableau s'agrandisse en fonction de ma taille de ma base de donnees ici "test".

    la plage en bleu ou il a y a des infos correspondent au valeurs que j'avais dans la plage blanche par mois mais je l'ai effacé. seul la plage en vert ne peut pas etre modifier sinon mon importation ne fonctionne plus.

    Je peux pas me permettre d'avoir pour chaque ligne dans l'onglet import une sous ligne pour le produit ainsi que le blatt "niveau" en allemand.

    En soit je peux le rentrer a la main dans le logiciel mais je pense qu'il doit exister une maniere de le faire via excel puisque la fonctionnalite existe.
    Idealement sans programme VBA mais c'est la seul solution je suis preneur d'un eventuelle code si vous trouve ( je debute en VBA j'en suis pas encore a ce niveau)

    Le fichier est en allemandNavion import last.xlsx

    En esperant que quelqu'un puisse m'aider
    Par avance merci

  9. #9
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Tu devrais regarder du coté des Tableaux Croisés Dynamiques (TCD), la fonction se trouve dans l'onglet Insertion. Il y a des tutoriels sur DVP (et ailleurs). Le but du TCD est justement de pouvoir faire des synthèses de base de données.
    Un conseil, transforme tes "bases de données" en Tableaux Structurés (TS), accessible dans le même onglet que les TCD et pareil il y a des tutoriels sur Dvp.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Salut Qwazerty,

    Malheuresement non le TCD ne pourra pas m'aider car je dois garder une mise en forme bien precise a l'onglet "import" sinon le logiciel ne prendra pas en compte mon fichier impoter.
    Merci quand meme pour la reponse

    Bonne soiree

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 05/06/2009, 20h43
  2. rechercheV, rechercheH, Equiv, index ?
    Par ericdev67 dans le forum Excel
    Réponses: 6
    Dernier message: 11/12/2008, 20h20
  3. [E-07] Difficulté avec la formule index/equiv
    Par Bloubee dans le forum Excel
    Réponses: 5
    Dernier message: 03/11/2008, 09h24
  4. Réponses: 17
    Dernier message: 03/01/2008, 13h40

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