Recherche 2 critères sur colonnes variables

Le
Captainglouglou Hors ligne
Bonjour,
Je cherche depuis plusieurs jours une formule dont je m’approche, sans pouvoir y parvenir ! (je savais au mieux faire une recherchev jusqu’alors !).
Je cherche à déterminer le numéro de ligne d’un tableau à partir de 2 critères : ColonneA=valeur1 et ColonneB=valeur2.
Jusqu’ici, j’ai bien trouvé une formule matricielle (avec Ctrl-Maj-Entrée) du type :
N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)
Sauf que l’emplacement des colonnes A et B est susceptible de varier dans le tableau source…
De la même manière, j’arrive à déterminer les numéros des colonnes A et B :
ColonneA =EQUIV(intitulé_colonneA;ligne_du_tableau_source ;0) et pareil pour la colonne B.
J’ai donc l’impression d’avoir toutes les données mais je n’arrive pas à les imbriquer, sans doute parce que le résultat de ma 2ème formule renvoie seulement le numéro de colonne, ce qui ne suffit pas à l’appeler sous sa forme habituelle de type A:A.
Savez-vous s’il est possible de résoudre cette difficulté sans se lancer dans de la programmation ?
Merci de vos avis !
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26543166
Bonjour,
Je n'ai pas vraiment saisi ta question.
Suppose un tableau de 2 colonnes, A1:A100 et B1:B110
Si tu veux obtenir la ligne pour laquelle
A1:A100 = "toto5" et B1:B100
Une formule matricielle possible :
Valider par : Ctrl + Maj + Enter
=SIERREUR(EQUIV(1;(A2:A100="toto5")*(B2:B100 );0);"")
MichD
captainglouglou Hors ligne
Le #26543283
Le lundi 13 Avril 2020 à 16:03 par Captainglouglou :
Bonjour,
Je cherche depuis plusieurs jours une formule dont je m’approche, sans
pouvoir y parvenir ! (je savais au mieux faire une recherchev jusqu’alors
!).
Je cherche à déterminer le numéro de ligne d’un
tableau à partir de 2 critères : ColonneA=valeur1 et
ColonneB=valeur2.
Jusqu’ici, j’ai bien trouvé une formule matricielle (avec
Ctrl-Maj-Entrée) du type :
N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)
Sauf que l’emplacement des colonnes A et B est susceptible de varier dans
le tableau source…
De la même manière, j’arrive à déterminer les
numéros des colonnes A et B :
ColonneA =EQUIV(intitulé_colonneA;ligne_du_tableau_source ;0) et pareil
pour la colonne B.
J’ai donc l’impression d’avoir toutes les données mais
je n’arrive pas à les imbriquer, sans doute parce que le
résultat de ma 2ème formule renvoie seulement le numéro de
colonne, ce qui ne suffit pas à l’appeler sous sa forme habituelle
de type A:A.
Savez-vous s’il est possible de résoudre cette difficulté
sans se lancer dans de la programmation ?
Merci de vos avis !


Bonjour,
Excuse ma réponse tardive comme c’est la 1ère fois que je viens ici et je n’avais pas vu ta réponse !
Je suis un peu novice, je n’arrive pas à bien comprendre le fonctionnement de ta formule mais je vais essayer de reformuler mon problème.

Au départ j’ai une formule qui me renvoie le numéro de ligne d’un tableau à partir de 2 conditions (valeur1 et valeur2) ; c’est cette formule et elle fonctionne bien :

N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)

Mon souhait serait de ne pas avoir à indiquer à Excel quelles sont ces colonnes A et B, donc ne pas lui dire que ce sont les colonnes E et H par exemple, tout simplement parce que ces colonnes sont susceptibles de varier en fonction du fichier source que j’exploite.
C’est là où se trouve ma difficulté car je voudrais intégrer cette recherche de numéros de colonnes dans ma formule sans pouvoir y parvenir.

Pour autant, j’arrive bien à déterminer le numéro de ces colonnes lorsque je ne calcule que ça. Pour cela, j’utilise une formule qui recherche le numéro de la colonne à partir de son libellé qui est toujours identique. J’ai utilisé la formule suivante, en admettant que mes colonnes s’intitulent « reference » et « année » et qu’elles soient forcément sur la ligne 4 de ma source :
EQUIV(«reference»;ligne4;0) et pareil pour année avec EQUIV(«annee»;ligne4;0)
Ces 2 dernières fonctions me donnent le numéro des colonnes A et B mais ce que je cherche à faire, c’est trouver une formule qui me permette d’intégrer ces numéros de colonnes dans ma formule de départ, puisque comme je l’indiquais, ces colonnes sont susceptibles de varier : il pourra s’agir des colonnes E et H ou de B et F etc.

Voilà, j’ai l’impression que la syntaxe de ma 1ère formule est peut-être une impasse mais je ne vois pas trop quel type de formule utiliser…

J’espère que ma présentation est plus claire. Merci pour ton aide et ton avis!
Michel__D
Le #26543307
Bonjour,
Le 14/04/2020 à 16:02, captainglouglou a écrit :
Le lundi 13 Avril 2020 à 16:03 par Captainglouglou :
Bonjour,
Je cherche depuis plusieurs jours une formule dont je m’approche, sans
pouvoir y parvenir ! (je savais au mieux faire une recherchev jusqu’alors
!).
Je cherche à déterminer le numéro de ligne d’un
tableau à partir de 2 critères : ColonneA=valeur1 et
ColonneB=valeur2.
Jusqu’ici, j’ai bien trouvé une formule matricielle (avec
Ctrl-Maj-Entrée) du type :
N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)
Sauf que l’emplacement des colonnes A et B est susceptible de varier dans
le tableau source…
De la même manière, j’arrive à déterminer les
numéros des colonnes A et B :
ColonneA =EQUIV(intitulé_colonneA;ligne_du_tableau_source ;0) et pareil
pour la colonne B.
J’ai donc l’impression d’avoir toutes les données mais
je n’arrive pas à les imbriquer, sans doute parce que le
résultat de ma 2ème formule renvoie seulement le numéro de
colonne, ce qui ne suffit pas à l’appeler sous sa forme habituelle
de type A:A.
Savez-vous s’il est possible de résoudre cette difficulté
sans se lancer dans de la programmation ?
Merci de vos avis !

Bonjour,
Excuse ma réponse tardive comme c’est la 1ère fois que je viens ici et je
n’avais pas vu ta réponse !
Je suis un peu novice, je n’arrive pas à bien comprendre le fonctionnement de ta
formule mais je vais essayer de reformuler mon problème.
Au départ j’ai une formule qui me renvoie le numéro de ligne d’un tableau à
partir de 2 conditions (valeur1 et valeur2) ; c’est cette formule et elle
fonctionne bien :
N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)
Mon souhait serait de ne pas avoir à indiquer à Excel quelles sont ces colonnes
A et B, donc ne pas lui dire que ce sont les colonnes E et H par exemple, tout
simplement parce que ces colonnes sont susceptibles de varier en fonction du
fichier source que j’exploite.
C’est là où se trouve ma difficulté car je voudrais intégrer cette recherche de
numéros de colonnes dans ma formule sans pouvoir y parvenir.
Pour autant, j’arrive bien à déterminer le numéro de ces colonnes lorsque je ne
calcule que ça. Pour cela, j’utilise une formule qui recherche le numéro de la
colonne à partir de son libellé qui est toujours identique. J’ai utilisé la
formule suivante, en admettant que mes colonnes s’intitulent « reference » et «
année » et qu’elles soient forcément sur la ligne 4 de ma source :
EQUIV(«reference»;ligne4;0) et pareil pour année avec EQUIV(«annee»;ligne4;0)
Ces 2 dernières fonctions me donnent le numéro des colonnes A et B mais ce que
je cherche à faire, c’est trouver une formule qui me permette d’intégrer ces
numéros de colonnes dans ma formule de départ, puisque comme je l’indiquais, ces
colonnes sont susceptibles de varier : il pourra s’agir des colonnes E et H ou
de B et F etc.
Voilà, j’ai l’impression que la syntaxe de ma 1ère formule est peut-être une
impasse mais je ne vois pas trop quel type de formule utiliser…
J’espère que ma présentation est plus claire. Merci pour ton aide et ton avis!

Si l'intitulé de tes colonnes est en ligne 4 ce qui suit devrait convenir (limité à 99999 lignes) :
=EQUIV(1;(DECALER($A$4;0;EQUIV("reference";4:4;0)-1;99999;1)=valeur1)*(DECALER($A$4;0;EQUIV("annee";4:4;0)-1;99999;1)=valeur2);0)
MichD
Le #26543314
Un fichier exemple :
https://www.cjoint.com/c/JDosLq7tnxj
Il y a sûrement une formule plus courte!
;-))
MichD
captainglouglou Hors ligne
Le #26543319
Le lundi 13 Avril 2020 à 16:03 par Captainglouglou :
Bonjour,
Je cherche depuis plusieurs jours une formule dont je m’approche, sans
pouvoir y parvenir ! (je savais au mieux faire une recherchev jusqu’alors
!).
Je cherche à déterminer le numéro de ligne d’un
tableau à partir de 2 critères : ColonneA=valeur1 et
ColonneB=valeur2.
Jusqu’ici, j’ai bien trouvé une formule matricielle (avec
Ctrl-Maj-Entrée) du type :
N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)
Sauf que l’emplacement des colonnes A et B est susceptible de varier dans
le tableau source…
De la même manière, j’arrive à déterminer les
numéros des colonnes A et B :
ColonneA =EQUIV(intitulé_colonneA;ligne_du_tableau_source ;0) et pareil
pour la colonne B.
J’ai donc l’impression d’avoir toutes les données mais
je n’arrive pas à les imbriquer, sans doute parce que le
résultat de ma 2ème formule renvoie seulement le numéro de
colonne, ce qui ne suffit pas à l’appeler sous sa forme habituelle
de type A:A.
Savez-vous s’il est possible de résoudre cette difficulté
sans se lancer dans de la programmation ?
Merci de vos avis !


J'ai essayé la formule et ça fonctionne parfaitement!!!
Simplement j'ai décalé à partir de A1 comme j'utilise les numéros de lignes et de colonnes de ma feuille Excel (plus simple à suivre pour moi).
Un immense merci à toi, j'aurais été incapable de trouver cette syntaxe! J'avais lu qu'il fallait utiliser DECALER pour les références variables mais je ne comprends pas encore bien cette fonction, d'ailleurs je ne sais pas à quoi sert le 99999, je pensais que c'était pour faire un calcul sur une plage de cellule... je vais regarder ça !
Vraiment merci pour ton aide!!
captainglouglou Hors ligne
Le #26543326
Le lundi 13 Avril 2020 à 16:03 par Captainglouglou :
Bonjour,
Je cherche depuis plusieurs jours une formule dont je m’approche, sans
pouvoir y parvenir ! (je savais au mieux faire une recherchev jusqu’alors
!).
Je cherche à déterminer le numéro de ligne d’un
tableau à partir de 2 critères : ColonneA=valeur1 et
ColonneB=valeur2.
Jusqu’ici, j’ai bien trouvé une formule matricielle (avec
Ctrl-Maj-Entrée) du type :
N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)
Sauf que l’emplacement des colonnes A et B est susceptible de varier dans
le tableau source…
De la même manière, j’arrive à déterminer les
numéros des colonnes A et B :
ColonneA =EQUIV(intitulé_colonneA;ligne_du_tableau_source ;0) et pareil
pour la colonne B.
J’ai donc l’impression d’avoir toutes les données mais
je n’arrive pas à les imbriquer, sans doute parce que le
résultat de ma 2ème formule renvoie seulement le numéro de
colonne, ce qui ne suffit pas à l’appeler sous sa forme habituelle
de type A:A.
Savez-vous s’il est possible de résoudre cette difficulté
sans se lancer dans de la programmation ?
Merci de vos avis !


Et merci pour le fichier Excel ! Je vais regarder ça dans le détail comme je vois qu'il y a quelques autres fonctions susceptibles de m'inspirer !
Publicité
Poster une réponse
Anonyme