Microsoft 365 Trouver des cellules aux chaînes de caractères communes entre deux listes

Etudiant37000

XLDnaute Nouveau
Salut à tous

Je souhaite trouver les cellules de la feuille 1 qui contiendraient des chaînes de caractères en commun avec la liste de la feuille 2.

Est-ce qu'il existe selon vous une possibilité de réaliser cela ou bien c'est impossible?

J'ai essayé plusieurs choses mais sans succès....

Notamment la fonction CHERCHE(
mais celle-ci en fonction matricielle reste bloqué sur la première cellule de la liste analysée

Je souhaite faire cela pour pouvoir tout de même établir des correspondances entre les cellules de deux listes même si les noms inscrits dans certaines cellules vont avoir des caractères en plus au début ou bien à la fin de la chaîne de caractères en comparaison de l'autre liste.

Exemple en feuille 1 une cellule "NIGHTWAY"

et en feuille 2 "SAS NIGHTWAY"

je souhaite faire apparaître une correspondance.

En espérant que ma demande est à peu près claire...


Merci ;)
 

Pièces jointes

  • Trouver cellules caract communs - 2020 0801lsx.xlsx
    29.7 KB · Affichages: 17

Etudiant37000

XLDnaute Nouveau
Bonjour djidji59430

Merci pour ton aide, cela fonctionne.

Je dois effectuer la recherche dans l'autre sens, c'est à dire chercher à partir des cellules de la feuille 1 celles qui correspondent en feuille2 puis afficher les résultats à coté des cellules de la feuille 1.

Mais en adaptant cela fonctionne bien!

Cependant j'ai essayé de l'utiliser dans ma base de données en inversant la recherche :

Je demande d'aller chercher à partir des noms des établissements des cellules de ma BD en 1ère feuille, ce qui coincide dans la liste de la 2ème feuille
Et si c'est le cas donner en feuille 2, le nom de ville qui coincide...

Mais comme on peut le voir dans le fichier joint ça ne fonctionne pas...

Je pense que j'e dois avoir une erreur de compréhension dans la formule.

Aurais tu une idée du problème?

En te remerciant,
 

Pièces jointes

  • EXCEL DL -Recherche comparée cellules - 2020 0802.xlsx
    433.4 KB · Affichages: 3

Etudiant37000

XLDnaute Nouveau
Bonsoir Djidji,

Merci pour tes explications c'est beaucoup plus clair.

Dernier truc que je ne comprends pas trop c'est l'utilisation de la fonction COLONNES dans PETITE.VALEUR

Car si il s'agit de choisir la première dans la matrice qui se créée on peut aussi mettre le chiffre "1" en argument de PETITE.VALEUR
ou bien encore utiliser la fonction MIN

Néanmoins j'aimerais comprendre la logique t'amène à procéder ainsi. Est ce parce que la matrice se construit pour répondre aux occurences d'une colonne?

Merci encore pour ton aide,
 

Etudiant37000

XLDnaute Nouveau
Ah et donc oui pourquoi tout ça?

Eh bien j'ai reçu une liste d'établissement à aller voir de la part de mon service des ventes et je souhaite leur attribuer une localisation, la leur (que je leur connais puisque j'ai déjà facturé ceux-ci)
Donc je souhaite faire une rechercher comparative entre la liste d'établissement transmise situé en feuille 3 avec ceux de ma BD situés en feuille 2

le problème c'est que le service des ventes n'a pas saisi exactement les noms qu'il m'a transmis que la façon dont ils sont nommés dans ma BD ( il y a souvent des ajouts de caractère en début ou fin de chaîne)
Donc j'ai voulu prendre des fragments des noms de la liste transmise pour voir si ces fragments étaient présents dans des noms de BD.

Et du coup ta formule colle parfaitement pour ma démarche :)
 

djidji59430

XLDnaute Barbatruc
Dernier truc que je ne comprends pas trop c'est l'utilisation de la fonction COLONNES dans PETITE.VALEUR
Car si il s'agit de choisir la première dans la matrice qui se créée on peut aussi mettre le chiffre "1" en argument de PETITE.VALEUR
ou bien encore utiliser la fonction MIN
On recherche toujours a en taper le moins possible et donc que si tu étires une fonction (horizontalement ou verticalement), elle continue à être opérationnelle.
si tu étires petite.valeur(nnn;1), ça reste petite.valeur(nnn;1) dans la cellule adjacente et donc t'es obligé d’écrire 2 si tu veux la 2 éme valeur. Alors que si tu étires petite.valeur(nnn;colonnes($a:a), ça te donnes petite.valeur(nnn;colonnes($a:b). tu as donc paramétré l'argument de rang de petite.valeur()
Et donc avec la formule générale qui nous occupe, tu peux créer une liste conditionnelle. Toi elle s’arrête à 2 éléments, c'est une petite liste !

Crdlmt
 

Etudiant37000

XLDnaute Nouveau
Okay ... je crois que je commence à comprendre cela permet de faire afficher toutes les occurrences réellement concordante avec ma recherche.
C'est vrai que dans mon cas je cherche à n'avoir qu'une seule correspondance pour pouvoir attribuer la ville à son établissement...

Par contre qu'entends tu par créer une liste conditionnelle? Aurais -tu un exemple? Car dans le cas où tu déroules la liste sur cellule adjacente ça va forcément afficher la deuxième puis la troisième ... petite valeur correspondante à la recherche..
 

djidji59430

XLDnaute Barbatruc
La liste repond a la condition :
Quelles sont les villes ou il y a un etablissement qui a "nightway" dans dson nom, par exemple (vu qu'on a comme resultat ""nightway", et "Le Nigntway".
Et si tu cherchais "le", tu aurais la liste de toutes les villes ayant un ou plusieurs établissement qui ont un "le" dans leur nom.

Crdlmt
 

Etudiant37000

XLDnaute Nouveau
Okay!!! Je comprends!

Vraiment très intéressant comme approche. Cela permet de faire une recherche à deux dimensions en quelque sorte..
Donner vraiment toutes les correspondances présentes dans la zone de recherche pour chaque cellule de la plage de critères

Super merci beaucoup pour ton temps et tes explications!!!
 

Discussions similaires

Statistiques des forums

Discussions
311 712
Messages
2 081 802
Membres
101 819
dernier inscrit
lukumubarth