Discussion:
Recherche 2 critères sur colonnes variables
(trop ancien pour répondre)
Captainglouglou
2020-04-13 14:03:37 UTC
Permalink
Bonjour,
Je cherche depuis plusieurs jours une formule dont je m’approche, sans pouvoir
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) d
type :
N°ligne =EQUIV(1;(colonneA=valeur1)*(colonneB=valeur2);0)
Sauf que l’emplacement des colonnes A et B est susceptible de varier dans l
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 l
colonne B.
J’ai donc l’impression d’avoir toutes les données mais je n’arrive pas à le
imbriquer, sans doute parce que le résultat de ma 2ème formule renvoie seulemen
le numéro de colonne, ce qui ne suffit pas à l’appeler sous sa forme habituell
de type A:A.
Savez-vous s’il est possible de résoudre cette difficulté sans se lancer dans d
la programmation ?
Merci de vos avis !
MichD
2020-04-13 15:25:59 UTC
Permalink
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=20

Une formule matricielle possible :

Valider par : Ctrl + Maj + Enter

=SIERREUR(EQUIV(1;(A2:A100="toto5")*(B2:B100=20);0);"")


MichD
captainglouglou
2020-04-14 14:02:50 UTC
Permalink
Post by 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
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
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 j
n’avais pas vu ta réponse !
Je suis un peu novice, je n’arrive pas à bien comprendre le fonctionnement de t
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 ell
fonctionne bien :

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

Mon souhait serait de ne pas avoir à indiquer à Excel quelles sont ces colonne
A et B, donc ne pas lui dire que ce sont les colonnes E et H par exemple, tou
simplement parce que ces colonnes sont susceptibles de varier en fonction d
fichier source que j’exploite.
C’est là où se trouve ma difficulté car je voudrais intégrer cette recherche d
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 n
calcule que ça. Pour cela, j’utilise une formule qui recherche le numéro de l
colonne à partir de son libellé qui est toujours identique. J’ai utilisé l
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 qu
je cherche à faire, c’est trouver une formule qui me permette d’intégrer ce
numéros de colonnes dans ma formule de départ, puisque comme je l’indiquais, ce
colonnes sont susceptibles de varier : il pourra s’agir des colonnes E et H o
de B et F etc.

Voilà, j’ai l’impression que la syntaxe de ma 1ère formule est peut-être un
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
2020-04-14 17:50:36 UTC
Permalink
Bonjour,
Post by Captainglouglou
Post by 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
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
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
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 «
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
2020-04-14 18:38:41 UTC
Permalink
Un fichier exemple :
https://www.cjoint.com/c/JDosLq7tnxj
Il y a sûrement une formule plus courte!
;-))

MichD
captainglouglou
2020-04-14 20:13:12 UTC
Permalink
Post by 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
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
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 e
de colonnes de ma feuille Excel (plus simple à suivre pour moi).
Un immense merci à toi, j'aurais été incapable de trouver cette syntaxe! J'avai
lu qu'il fallait utiliser DECALER pour les références variables mais je n
comprends pas encore bien cette fonction, d'ailleurs je ne sais pas à quoi ser
le 99999, je pensais que c'était pour faire un calcul sur une plage d
cellule... je vais regarder ça !
Vraiment merci pour ton aide!!
captainglouglou
2020-04-14 22:46:02 UTC
Permalink
Post by 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
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
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 j
vois qu'il y a quelques autres fonctions susceptibles de m'inspirer !
Loading...