Rechercher la valeur identique suivante avec recherchev

mitch2

XLDnaute Nouveau
Bonjour,

j'ai un tableau en 2 colonnes, dans la colonne A, j'ai le nom de villes, dans le colonne B, leur code postal et dans la colonne C, le nombre d'habitants.

Dans une autre feuille, j'ai des noms de ville en colonne et dans une autre colonne leurs codes postaux.

Ma question est comment faire une recherche sur la feuille 1 tout en sachant que certaines villes ont le même nom mais des codes postaux différents et de nombreuses villes possèdent un même code postal mais ont des noms différents.

Ce que je n'arrive pas à faire avec recherchev, c'est une fois qu'il a trouvé une correspondance possible sur un nom de ville et qu'après vérification cette ville ne correspond pas, comment le faire passer à la prochaine occurrence.

Voici un exemple :

Feuille 1 :

Donji 21200 300
Duc-sur-Yvette 12670 600
Duc-sur-Yvette 87500 700
Mortifle 54000 1300


Feuille 2 :

Je recherche Duc-sur-Yvette, avec recherche V, il m'affiche le premier avec le code postal 12670, mais en fait je voudrais le Duc-sur-Yvette dont le code postal est 87500.

Une solution que je vois c'est de créer une 3ème colonne et de faire une recherchev sur "Duc-sur-Yvette 87500", mais je me demande s'il n'y a pas une solution plus noble avec recherchev.

Des idées ?
 

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur identique suivante avec recherchev

Bonsoir,
Un petit fichier exemple avec quelques lignes va nous aider à te répondre...
Apparemment il faut le faire avec une formule matricielle, mais si la base de recherche et triée sur la 1ere colonne on a la possibilité de le faire avec RECHERCHEV()...
@ +
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Rechercher la valeur identique suivante avec recherchev

Bonsoir mitch2, R@chid,

Deux formules proposées. On recherche le nombre d'habitants pour un couple (Nom commune, code postal). On a supposé que chaque couple (Nom commune, code postal) est unique dans le pays.

1ere formule (formule matricielle) en H3:
=INDEX($C$3:$C$20;EQUIV(J3;SI($A$3:$A$20=G3;$B$3:$B$20;"");0))
Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.*Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.

2eme formule (formule validation ordinaire) en H11:
=SOMMEPROD(( $A$3:$A$20=G11)*($B$3:$B$20=J11)*$C$3:$C$20)

nb: joindre un fichier à la question, c'est sympa!
 

Pièces jointes

  • Rechercher la valeur identique suivante v1.xlsx
    14.2 KB · Affichages: 94
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur identique suivante avec recherchev

Bonsoir @ tous,
Salut mapomme,
comme j'ai dit on peut le faire avec RECHERCHEV() sans formules matricielles si les données sans triées sur la colonne de villes...
sur le fichier de mapomme, en H3,
Code:
=RECHERCHEV(J3;DECALER(B$2;EQUIV(G3;A$3:A$20;0);;NB.SI(A$3:A$20;G3);2);2;0)
@ tirer vers le bas
@ +
 

mitch2

XLDnaute Nouveau
Re : Rechercher la valeur identique suivante avec recherchev

Bonsoir à tous,

en pj, voici un petit tableau qui va résumer ma problématique. Dans la feuille 2, sur la ville, le nombre d'habitants ne correspond pas au bon code postal de la ville recherchée, même si le nom est bon.
 

Pièces jointes

  • Exemple.xlsx
    29 KB · Affichages: 73
  • Exemple.xlsx
    29 KB · Affichages: 76
  • Exemple.xlsx
    29 KB · Affichages: 77

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur identique suivante avec recherchev

Bonsoir,
puisque tes données sont triées, j'ai crée une base de recherche dynamique avec la fonction DECALER() ==>
DECALER(Feuil1!B$1;EQUIV(A2;Feuil1!A:A;0)-1;;NB.SI(Feuil1!A:A;A2);2)
Voir l'aide sur DECALER().
@ +
 

mitch2

XLDnaute Nouveau
Re : Rechercher la valeur identique suivante avec recherchev

Bonjour Rachid,

je m'aperçois que j'ai un problème avec la formule. Tu comprendras en regardant le tableau. J'avoue que je ne sais pas pourquoi ça ne fonctionne pas toujours alors que cela devait.

Tu aurais la gentillesse d'y jeter un coup d'oeil ?

Merci
 

Pièces jointes

  • Exemple2.xlsx
    229.7 KB · Affichages: 191
  • Exemple2.xlsx
    229.7 KB · Affichages: 187
  • Exemple2.xlsx
    229.7 KB · Affichages: 153

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur identique suivante avec recherchev

Bonjour,
le problème vient de tes codes postales qui sont parfois en format numérique et parfois en format texte...
vérifies et dis moi que veux tu faire pour que je puisse t'aider...
sinon je peux te donner une formule matricielle qui fonctionne sans modifier ton fichier, mais elles sont tres lentes sur des grandes plages
@ +
 

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur identique suivante avec recherchev

Bonjour,
un essai avec SOMMEPROD()...
comment tu as fait pour tout passer en Format Texte ???
@ +
 

Pièces jointes

  • mitch2.xlsx
    230.5 KB · Affichages: 58
  • mitch2.xlsx
    230.5 KB · Affichages: 65
  • mitch2.xlsx
    230.5 KB · Affichages: 81

R@chid

XLDnaute Barbatruc
Re : Rechercher la valeur identique suivante avec recherchev

Bonjour,
mitch2 à dit:
J'ai sélectionné la colonne et modifié le format de la colonne en "texte".
Non mon cher ami ça change rien ????

voir PJ...
J'ai tout converti en format numérique,
Copier une cellule vide
Sélectionner la colonnes des codes postales
Bouton Droit/ Collage Spécial / cocher ==> Addition et Ok

@ +
 

Pièces jointes

  • mitch2.xlsx
    223.4 KB · Affichages: 143
  • mitch2.xlsx
    223.4 KB · Affichages: 219
  • mitch2.xlsx
    223.4 KB · Affichages: 190

mitch2

XLDnaute Nouveau
Re : Rechercher la valeur identique suivante avec recherchev

Merci, grâce à toi, je progresse.

Le seul hic c'est quand je remplace les valeurs de la colonne Ville dans l'onglet Majuscule ordre (que je m'assure de mettre au format standard) la formule cesse de fonctionner.

Je précise que la colonne que je remplace fait pas loin de 40000 lignes.

Tu vois pourquoi ?
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
333

Statistiques des forums

Discussions
312 231
Messages
2 086 448
Membres
103 213
dernier inscrit
Poupoule