XL 2016 Index avec choix parmi les doublons

Ciar2ker

XLDnaute Nouveau
Bonsoir à tous,
Je suis nouveau et je vous remercie de m'accueillir.
Malgré plusieurs lectures de post, je n'ai pas trouvé de solution à mon problème.
J'ai un fichier avec 3 colonnes :
La 1ère est le code INSEE d'une commune
La 2eme est le code postal de cette même commune
La 3eme est le nom de la commune.
Mon problème vient du fait que je cherche le code INSEE à partir du nom de la commune.
Je dispose aussi du numéro de département.
Mais la fonction index avec equiv me renvoie toujours le premier résultat qui marche.
Or, si je prends cet exemple :
Code INSEE Code postal Commune
54059 54610 BELLEAU
02062 02400 BELLEAU
et que je veux le BELLEAU du département 02, je suis bloqué.
Quelqu'un aurait-il une idée avec des formules (sans macro)?
Je vous remercie par avance.
 

patricktoulon

XLDnaute Barbatruc
bonsoir

Or, si je prends cet exemple :
Code INSEE Code postal Commune
54059 54610 BELLEAU
02062 02400 BELLEAU
et que je veux le BELLEAU du département 02, je suis bloqué.
ben je dirais que la reponse est dans la question ;)
tu parlais de index/equiv et bien elle fonctionne avec X criteres sur X colonnes et peut te donner la valeur d'une colonne

un exemple pour trouver la ligne ou il y a 3 criteres sur 3 colonne
ici on cherche la ligne ou il y a truc en A ,machin en B et chose en C

celle ci te donne la dernière occurrence qu'il y en ai une ou plusieurs OU!! la seule si il y en a qu'une
=MAX(LIGNE(A1:A10)*(A1:A10="truc")*(B1:B10="machin")*(C1:C10="chose"))

celle ci avec match te donne la premiere occurence si il y en a plusieurs OU !! la seule si il y en a qu'une
=EQUIV(1;(Feuil1!A2:A9="truc")*(Feuil1!B2:B9="machin")*(Feuil1!C2:C9="chose");0)

exemple cette fois ci qui te donne la valeur de la cellule en D correspondant au trois criteres en colonne A , C , F sur la même ligne
=INDEX(D1:10,EQUIV(1,(A1:A10=2018)*(C1:C10="toto")*(F1:F10="titi");0))


la syntaxe est assez simple
bien sur qui dit formule matricielle dit valider avec touche CTRL+Mag+ENTER
;)
 
Dernière édition:

Ciar2ker

XLDnaute Nouveau
Bonjour R@chid,
Je te remercie pour ta sollicitude.
Je joins un fichier exemple de ce que je cherche à obtenir.
Encore merci à toi et à ceux qui tenteront de m'apporter une réponse.
 

Pièces jointes

  • ._INDEX-CHOIX-PARMI-DOUBLONS.xlsx
    4 KB · Affichages: 23

R@chid

XLDnaute Barbatruc
Bonsoir @ tous,
si tes données sont triées par ordre alphabétique, en G2 :
Code:
=SIERREUR(INDEX(A:A;EQUIV(F2;C:C;0)+NB.SI(C:C;F2)-1);"")
@ tirer vers le bas

Si ce n'est pas le cas, une formule matricielle en G2 :
Code:
=SIERREUR(INDEX(A$2:A$32;GRANDE.VALEUR(SI(C$2:C$32=F2;LIGNE(INDIRECT("1:"&LIGNES(A$2:A$32))));1));"")
@ valider par Ctrl+Shift+Enter
@ tirer vers le bas

Voir PJ


Cordialement
 

Pièces jointes

  • Ciar2ker_V1.xlsx
    11.5 KB · Affichages: 9

Ciar2ker

XLDnaute Nouveau
Bonjour R@chid,
Je te remercie sincèrement. Tes formules fonctionnent parfaitement.
Cependant, dans l'exemple que j'ai pris, il s'avère en effet qu'il s'agissait à chaque fois des plus grandes valeurs. Mais ce n'est pas toujours le cas. La condition qu'il faut absolument remplir est que la commune appartient bien au département de la colonne E. J'ai précisé mon besoin dans le fichier joint.
J'ai essayé de bricoler à partir des types formules, mais je n'y parviens pas.
Je précise que les données de la colonne G ne sont pas nécessairement dans l'ordre alphabétique.
Encore merci pour les suggestions.
 

Pièces jointes

  • Ciar2ker_V1.1.xlsx
    11.4 KB · Affichages: 4

Ciar2ker

XLDnaute Nouveau
Bonsoir,
je vous remercie tous les deux.
James007, ta solution fonctionne parfaitement si l'on fait abstraction des départements en 971, 972, 973, 974, etc. En considérant qu'ils sont en 97, ça marche. Merci
Merci également à R@chid même si en adaptant la formule à mon exemple, j'ai une réponse vierge : la première pour AAST.
Quoi qu'il en soit, cela me suffit. J'ai remplacé la dernière occurrence "" par
Code:
INDEX($A$2:$A$32;EQUIV(H2;$C$2:$C$32;0))
et le tour est joué.
Encore un grand merci à tous et plus particulièrement à tous les deux.
 

Discussions similaires

Statistiques des forums

Discussions
312 236
Messages
2 086 477
Membres
103 230
dernier inscrit
herve42000