Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 14h52   #1
Invité de passage
 
Inscription : août 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
Par défaut recherche sous 2 critères dans la même cellule

Bonjour,

J'ai de la difficulté à créer la formule qui réussira à faire afficher l'information dont j'ai besoin. Voici :
un fichier, 2 feuilles
sur la 1ère feuille, l'écriture de journal que je veux obtenir, 1ère colonne la description du compte recherché, 2e colonne, le centre de profit à saisir, 3e colonne, le numéro de compte à saisir
sur la 2e feuille, les données, 1ère colonne, des centres de profit, 2e colonne, des numéros de compte, 3e colonne les descriptions de compte.
Je veux que, après avoir saisi le centre de profit dans la 2e colonne de l'écriture (1ère feuille) ainsi que le numéro de compte dans la 3e colonne, la description du compte - qui correspond à ces 2 critères - s'affiche correctement. Une première difficulté provient du fait qu'il faut tenir compte de 2 critères pour obtenir la bonne description. Mais, la difficulté majeure provient du fait que certains numéros de compte (2e colonne de la feuille de données) se répètent dans la liste ; ils ne se distinguent que par le centre de profit qui est différent.
Vraiment pas facile.
Toute aide sera sincèrement appréciée. Merci.
Azaline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h04   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Bonjour,

Dans ton cas, tu peux utiliser les formules Index + Equiv (formule matricielle)

Une bonne documentation ici
http://silkyroad.developpez.com/excel/indexequiv/#LIV
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h27   #3
Invité de passage
 
Inscription : août 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
Citation:
Envoyé par jfontaine Voir le message
Bonjour,

Dans ton cas, tu peux utiliser les formules Index + Equiv (formule matricielle)
J'ai fait plusieurs tentatives avec index & equiv mais ça ne fonctionne pas. Je dois tenir compte de l'information dans 2 colonnes et la formule index me donne, pour le 1er equiv, no de ligne et pour le 2e equiv, no de colonne alors que je voudrais obtenir no de ligne une seconde fois.
Il faut que j'obtienne, dans la 1ère colonne de l'écriture, l'information qui tient compte à la fois de la saisie dans la 2e colonne et de la saisie dans la 3e colonne, toutes données étant stockées dans la 2e feuille.
Merci encore.
Azaline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 16h52   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Si dessous un exemple.
On souhaite avoir en retour la valeur se trouvant dans la feuilSource colonne A si la données se trouvant en colonne B est égal à B2 de la FeuilDest et que la donnée de la colonne C est égal à C2 de la feuilDest

Tu valides la formule par CTRL + MAJ + ENTREE car formule matricielle
Code :
=Index(FeuilSource!$A$1:$A$100;equiv(1;(FeuilSource!$B$1:$B$100=FeuilDest!B2)*(FeuilSource!$C$1:$C$100=FeuilDest!C2);0))
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 18h08   #5
Invité de passage
 
Inscription : août 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
Merci Jérôme pour ton aide.
Malheureusement, je n'obtiens pas le résultat souhaité. Voici ce que j'ai entré dans la cellule où je veux obtenir une description :

INDEX ('Comptes GL'!A2:C446;EQUIV(3;('Comptes GL'!A2:A446='Écriture'!F7)*('Comptes GL'!B1:B446;'Écriture'G7);0)) sachant que :

Comptes GL est la feuille qui contient les données sur la plage A2 à C446 (la matrice),
3 est le numéro de la colonne contenant la description que je veux obtenir, laquelle se trouve naturellement sur la feuille Comptes GL,
Écriture est le nom de la feuille où je veux voir afficher les informations,
A est la colonne contenant la donnée qui devra correspondre à celle saisie dans la feuille Écriture, colonne F,
B est la colonne contenant la donnée qui devra correspondre à celle saisie dans la feuille Écriture, colonne G.
Je sais que dans la formule que tu m'as fournie, après EQUIV tu as indiqué le chiffre 1 mais je ne suis pas certaine de savoir à quoi cela fait référence ; c'est pour ça que j'ai mis 3 qui est le numéro de colonne contenant l'information que je cherche à obtenir.

J'ai fait toutes sortes de tentatives. Rien ne réussit. Je commence à désespérer ...

P.S. : J'ajoute que je ne comprends pas l'utilisation de * dans la formule puisque je ne cherche pas à faire un calcul mais à importer une donnée. Merci encore.
Azaline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 22h00   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
J'ai essayé de corriger ta formule suivant tes explications

Code :
=INDEX('Comptes GL'!C2:C446;EQUIV(1;('Comptes GL'!A2:A446='Écriture'!F7)*('Comptes GL'!B1:B446;'Écriture'G7);0))
ne pas oublier la validation par CTRL + MAJ + ENTREE

Cette formule retourne la valeur de la colonne C si la donnée de la colonne A = F7 et (le *) la donnée de la colonne B = G7
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 22h21   #7
Invité de passage
 
Inscription : août 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
On y est presque, Jérôme.
Avec cette formule révisée, j'obtiens une description plutôt que #N/A ; c'est un très grand pas. Ne reste qu'un petit pépin. J'obtiens l'info de la ligne suivant la ligne requise. Je m'explique. Avec le test que j'ai fait, je devrais obtenir la donnée de la ligne 216 mais j'obtiens plutôt celle de la ligne 217. Je sais qu'il existe une fonction DÉCALER pour ce genre de truc mais je ne l'ai jamais utilisée. Est-ce que tu serais assez gentil de m'indiquer comment faire ? J'espère que je n'abuse pas.
Encore merci.
Azaline est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 22h48   #8
Invité de passage
 
Inscription : août 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
C'est re-moi.

J'ai apporté une légère modification dans la formule que tu m'as fournie et que j'avais recopiée. Dans la dernière partie, au lieu de B1:B446, j'ai corrigé pour B2:B446 pour obtenir une plage similaire aux 2 autres (colonne A et colonne C) et oui !! j'obtiens la bonne description.
WOW. C'est vrai que t'es un pro.
Un très gros merci pour ton aide.

Hélène (au Québec)
décalage horaire oblige, je suis encore au boulot alors que chez-toi il est tard ; tu liras probablement mon message demain.
Azaline est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h22.


 
 
 
 
Partenaires

Hébergement Web