Utilisation des fonctions INDEX et EQUIV

Bonjour tout le monde,

j'ai un tableau :

feuille 1 : tableau 1 avec trois colonnes

A B C

10.2017 valeur1 c1

10.2017 valeur2 c2

10.2017 valeur3 c3

11.2017 valeur1 c4

11.2017 valeur2 c5

11.2017 valeur3 c6

.. .... ........... ...

apartir du tableau 1 je veux construire différent tableau

feuille 2 : tableau 2 pour " Valeur1"

tableau 2 avec deux colonnes :

A E

10.2017 c1

11.2017 c4

12.2017 c7

01.2018 ..

02.2018 ..

........... ..

du coup je veux trouver les valeurs de la colonne E

feuille 3 : tableau 3 pour "valeur2"

j'ai utilisé la formule ci-dessous mais ca ne marche pas :

=INDEX(Feuil5!$A$2:$G$241;SI(Feuil5!A2:A241=BORO!A2;EQUIV("valeur1";Feuil5!$B$2:$B$241;0);"erreur");3)

Merci d'avance

Bonjour,

sachez qu'avec un fichier les réponses sont plus rapides, plus précises, plus pertinentes, plus nombreuses, plus efficaces, plus....

Les tableaux explicatifs en format texte, ce n'est pas très lisible, en plus vous parlez de tableau 1 feuille 1, tableau 2 feuille 2... pour finir avec une formule où il y a feuille 5 !!!

@ bientôt

LouReeD

bonjour

voici le fichier excel

et merci bcp

Merci, on avance

Ceci dit le weekend est là...

Pour moi cela signifie : ralentissement de l'activité numérique !

@ bientôt

LouReeD

Bonjour,

Un tcd et c'est fait

P.

Bonsoir,

j'aime bien le "et c'est fait"

@ bientôt

LouReeD

Bonsoir,

j'aime bien le "et c'est fait"

@ bientôt

LouReeD

Tu n'avais pas ralenti toi ?

Pour répondre aux message "rapides", non... C'est pour la recherche de solution... Il me faut du temps vous savez, je n'ai pas le reflexe TCD comme vous !

Ce doit être les énigmes des caches qui vous ouvrent la réflexion comme cela, non ?

Je me suis inscrit il y a déjà quelques années ! Romatolisol ! Drôle de nom, pourquoi pas libellule ou papillon ! comme dirait l'autre.

Manque de temps et d'enthousiasme familiale, tout est tombé à l'eau !

@ bientôt

LouReeD

Merci Patrick mais comment tu as fait pour trouver ce résultat je trouve pas la formule,

et merci

mais moi je veux que automatiquement lorsque je rempli le tableau des données les feuilles valeur1,2,3...10 se remplissent automatiquement avec les fonctions INDEX et EQUIV .

comme ca je trace des graphique pour chaque valeurs

tu peux regarder le fichier excel j'ai essayé de te montrer se que je veux

et merci bcp tt le monde

Merci Patrick mais comment tu as fait pour trouver ce résultat je trouve pas la formule,

et merci

mais moi je veux que automatiquement lorsque je rempli le tableau des données les feuilles valeur1,2,3...10 se remplissent automatiquement avec les fonctions INDEX et EQUIV .

comme ca je trace des graphique pour chaque valeurs

tu peux regarder le fichier excel j'ai essayé de te montrer se que je veux

et merci bcp tt le monde

Bonjour,

moi, je ne travaillerais pas avec autant d'onglets ou alors tu as des contraintes que nous ne connaissons pas

si tu mets toutes les données dans un onglet tu peux ensuite filtrer le TCD et faire un graphique (pas ma spécialité) à partir de ce tcd qui regroupe tout et y ajouter des segments aussi

P.

10boutaina-xlp.xlsx (82.15 Ko)

merci partick c'est trop super mais comment ta fait tout ca explique moi stp je comprend pas comment ta fait moi j'ai cru qu'on peut utiliser directement les fonctions INDEX et Equiv

est ce que tu peu m'expliquer et sa veux dire quoi TCD merci

merci partick c'est trop super mais comment ta fait tout ca explique moi stp je comprend pas comment ta fait moi j'ai cru qu'on peut utiliser directement les fonctions INDEX et Equiv

est ce que tu peu m'expliquer et sa veux dire quoi TCD merci

J'ai fais un TCD (Tableau Croisé Dynamique) qui peut se mettre à jour automatiquement (avec du VBA) parce que plus simple à comprendre et à utiliser que les formules; néanmoins idéalement, il doit se trouver sur un onglet séparé des données (en cas de suppression de lignes/colonnes dans ta base de données)

Tu trouvera le TCD dans le menu Insertion en étant toutefois placé sur une cellule de ta base (onglet données) et ensuite tu le dépose dans un nouvel onglet (il te le demande), et là tu déplaces les champs comme indiqué dans mon exemple.

Attention que l eTCD est basé sur les lignes de 1 à 41, si tu en ajoutes il faut aller dans le menu Outils de TCD / "options"/changer le source (à défaut d'une autre méthode)/

Index/equiv est faisable mais plus lourd s'il te faut aller chercher des data dans divers onglets.

P.

oui partick merci beaucoup j'ai bien compris c'est gentil, juste une autre question et avec la formule index et equiv ya pas de solution sinon est ce que tu peux m'aider ?

re,

il doit y en avoir, mais j'ai du mal avec les décaler / indirect s'ils sont associés à index/equiv, alors j'ai fait au plus facile.

et puis, c'est aisé de reproduire un TCD si tu débutes, par contre les formules faut les ingurgiter...

Si un autre lecteur à la réponse...

P.

Bonjour,

bon et bien j'ai un peu de temps

La formule à mettre en B2 de la feuille 1 et à "glisser" vers le bas :

=SIERREUR(INDEX(Feuil2!$C$2:$C$41;EQUIV(A2;Feuil2!$A$2:$A$41;0));"")

Explications :

Index renvoie la valeur d'une cellule d'une plage de cellules qui se trouve à la ligne L et colonne C

=INDEX(plage de cellule; L ; C)

vous votre plage de cellule est égale à la colonne C de la feuille 2

Donc plage de cellule = $C$2:$C$41

si la colonne venait à grandir vous pouvez alors mettre : $C:$C

la ligne on ne la connaît pas encore, et la colonne, vu qu'il n'y en a qu'une sur la plage, on est pas obligé de l'indiquer !

Pour trouver la ligne de la fonction INDEX, on utilise EQUIV :

EQUIV(valeur cherchée, plage de recherche, type de recherche)

la valeur cherchée est celle qui se trouve en A2 (pour la première formule),

la plage de recherche est la colonne A de la feuille 2 : Feuil2!$A$2:$A$41

si la colonne devait s'agrandir il faudra mettre Feuil2!$A:$A.

Attention ! Pour ne pas avoir de décalage entre l'INDEX et l'EQUIV, il faut que les plages soient définies de la même manière !

En effet EQUIV renvoie la position d'une valeur dans une plage, donc s'il renvoie la première valeur de la plage ce sera 1, et si c'est pour récupérer la ligne 1 de la plage de l'INDEX dans votre cas il faut que les deux plages commences au même niveau.

Donc si INDEX en C:C et EQUIV en $A2:$A41, la première valeur d'Equiv 1 renverra la cellule titre de la colonne d'INDEX.

Bref, là je m'embrouille.

Type de renvoie, en général c'est 0 ou omis, car on cherche souvent une valeur exacte, sinon c'est -1 ou 1 en fonction que l'on recherche une valeur proche supérieure ou inférieure.

Le SIERREUR n'est là que pour faire beau car si on cherche une valeur date non inscrite cela permet de rien afficher ("") plutôt que le message d'erreur.

En résumé, soit vous délimitez vos plage de recherche avec :

=SIERREUR(INDEX(Feuil2!$C$2:$C$41;EQUIV(A2;Feuil2!$A$2:$A$41;0));"")

soit vous vous autorisez à agrandir les listes avec :

=SIERREUR(INDEX(Feuil2!$C:$C;EQUIV(A2;Feuil2!$A:$A;0));"")

@ bientôt

LouReeD

et je viens de me rendre compte que j'ai oubliais le nom de la valeur !!!!

je reviens...

@ bientôt

LouReeD

Bon vu que nous cherchons des valeurs numériques en fonction de deux critères sur deux colonnes différentes, nous pouvons utiliser la fonction SOMME mais en Matricielle, formule en B2 de la feuille 1 :

=SOMME(SI(($A$1=Feuil2!$B$2:$B$41)*($A2=Feuil2!$A$2:$A$41);Feuil2!$C$2:$C$41;0))

nous faisons la somme des valeurs de la colonne C de la feuille 2 si et seulement si les critères sont respectés en colonne A et B de la feuille 2

Sous Excel VRAI = 1 et FAUX = 0 donc si on multiplie les tests on aura 1 si les deux conditions sont VRAIES et FAUX si au moins une est FAUSSE.

Ensuite la fonction SI , si elle trouve 1 dans son test elle considère que c'est VRAI, sinon c'est FAUX.

Donc SOMME les valeurs colonne C, SI la multiplication des test des critères vaut 1.

@ bientôt

LouReeD

salut loureed oui c'eest super j'ai trop bien compris ton explication mais lorsque j'essaie cette formule ca donne une valeur pas correcte

att je vais encore revérifier

et merci beaucoup

a patrick aussi

Bonjour,

j'ai oubliais de préciser : elle est matricielle, la formule !

Donc validation d'une formule matricielle : [Shift]-[Ctrl]+[Entrée]

@ bientôt

LouReeD

yay oui j'ai vérifier sa marche trop bien, merci beaucoup loureed c'est vraiment trop gentil

Patrick Merci aussi

bon courage et bonne continuation

Rechercher des sujets similaires à "utilisation fonctions index equiv"