Comparer 2 colonnes pour trouver les mots communs

Fermé
Lecourtil - 15 janv. 2013 à 13:01
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 16 janv. 2013 à 10:05
Bonjour,
Sur Excel,
Je souhaite comparer 2 colonnes (ou 2 feuilles si c'est plus simple) afin de trouver les mots similaires.
1ère colonne = une liste d'entreprises
2ème colonne = une liste d'adresses mail
Le but est d'identifier dans la liste d'adresse mail celles qui correspondent à des entreprises de la liste des entreprises.
J'ai transformé ma liste d'adresses mail de façon à ce que tous les signes soient remplacés par des virgules, type les . les @ ou les - sont maintenant des , et cela afin de bien séparer les mots.
J'ai essayé plusieurs méthodes trouvées sur le site, mais je n'y arrive pas !!!
Quelqu'un peut-il m'aider ?
Merci par avance de vos réponses ...
Lecourtil


A voir également:

4 réponses

Raymond PENTIER Messages postés 58387 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 16 avril 2024 17 087
15 janv. 2013 à 13:13
Tu pourrais donner des exemples, avec des extraits des deux listes ?
1
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 15/01/2013 à 13:16
Bonjour
pour ça il faut soit que les noms d'entreprise correspondent au libellés des adresses mail (?), soit que vous ayez quelque part un tableau de correspondance!
D'ou la question de Raymond
crdlmnt

ne sommes nous pas seuls à comprendre ce que l'on explique?
0
Lecourtil Messages postés 4 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 18 mars 2013 32
Modifié par baladur13 le 15/01/2013 à 17:47
Oui alors je me suis sans doute mal exprimé.
Premiere liste :

COMPUTACENTER France
CRESCENDO SYSTEMS CORPORATION
CTI SANTE
DELL
DIATELIC
D LINK
DOMICALIS
ECONOCOM
EMC
ENNOV
EQUITIME

Deuxième liste :

xxxxxxxxx@orange.fr
xxxxxxxxxx@arodie-damian.com
xxxxxxxxxx@ascomnira.fr
xxxxxxxx@conforel-mobilier.com
xxxxxxx@aivi.org
yyyyyyyyyy@cneh.fr
xxxxx@11plus.fr
xxxxx@abilanx.com
ssssss@amisoin.fr
tttttt@annonces-medicales.com


On part du principe que bien souvent l'adresse mail d'un salarié de l'entreprise finit par le nom de cette dernière, soit pour l'entreprise DELL cela donnerait @dell.fr ou @dell.com etc.

Ce qu'on veut c'est trouver ces cas de figure là dans une liste d'adresse mail.

J'ai simplifié la liste d'adresses mail pour faire ressortir tous les mots et rendre la comparaison possible, donc troisième liste, et cela donne pour l'extrait ci-dessus :

communication,cima,orange,fr
communication,arodie,damian,com
communication,ascomnira,fr
conforel,conforel,mobilier,com
congres,aivi,org
yyyyyyy,cneh,fr
contact,11plus,fr
contact,abilanx,com
contact,amisoin,fr
contact,annonces,medicales,com

Si CNEH est une entreprise de ma liste 1, alors je veux faire ressortir l'adresse mail yyyyyy@cneh.fr et si CIMA est une entreprise de ma liste 1, alors je veux faire ressortir l'adresse mail xxxxxx@orange.fr .

Le tout dans une colonne que je pourrai à son tour compiler en une nouvelle liste des adresses mail de personnes travaillant dans des entreprises de ma première liste.

Merci de votre aide, moi ça me dépasse !!

Adresses mails tronquées pour éviter les spams des adresses citées...Modération CCM
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
15 janv. 2013 à 14:34
On va faire simple à défaut de tout comprendre:
Je suppose que vous êtes conscient qu'il n'y a que les adresses contenant le nom de socièté qui vont ressortir, alors
une formule qui va fonctionner sans la moindre modification de vos adresses
exemple à adapter
vos adresses en colonne A
votre liste de société en colonne B
en colonne C, la formule:
=INDEX(A:A;EQUIV("*"&B1&"*";A:A;0))
vous donnera l'adresse contenant le texte en B1, au début, au milieu où à la fin.
Mais ne vous ressortira que la 1° adresse au cas ou il y ait plusieurs fois nom de société dans plusieurs adresse

Si vous voulez cherchez uniquement avec le premier mot avant un blanc la formule peut se compliquer un peu avec:
=INDEX(A:A;EQUIV("*"&STXT(B1;1;TROUVE(" ";B1;1)-1)&"*";A:A;0))

Attention à tous les signes

crdlmnt
0
Lecourtil Messages postés 4 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 18 mars 2013 32
Modifié par noctambule28 le 16/01/2013 à 09:33
Bonjour Vaucluse,
Et désolé pour cette réponse tardive, mais j'avais fait une erreur de saisie dans mon adresse mail et n'arrivais pas à valider mon inscription donc compte bloqué.
C'est maintenant réglé grâce aux modérateurs ou WM je ne sais pas.

Donc j'ai effectué ta manipulation.
J'ai 964 adresses mail en colonne A et 110 entreprises en colonne B.
Il m'a trouvé 19 correspondances qui sont toutes valides.
Entre chacune des correspondances il affiche #N/A , est-ce normal ?
Après le dernier nom d'entreprise il affiche à répétition jusque fin de liste des adresses mail, la première trouvée (qui est aussi celle de la première ligne) , est-ce aussi OK?

Et puis par ailleurs j'ai déjà identifié une correspondance qu'il n'a pas trouvée :

Adresse mail : catherine.lxxxxxxx@berger-levrault.fr (Modifié par la modération)
Nom d'entreprise : BERGER LEVRAULT

Je crains qu'il n'y en ait d'autres.
Est-ce que le fait de simplifier le fichier adresses mail pourrait aider (par exemple en otant tous les signes type . ou @ ou - etc ?

Merci encore pour l'aide et bonne journée.
Marc
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 16/01/2013 à 10:06
Bonjour
si la formule renvoie N/A c'est qu'elle ne trouve pas de correspondance
si elle ne trouve pas BERGER-LEVRAULT c'est parceque vous avez un tiret dans l'adresse mail qui ne correspond pas au libellé du nom d'entreprise.
dans ce cas, il est peut être préférable de remplacer dans la liste des noms d'entreprise les blancs par des tirets plutôt que de reprendre les adresse mail, ou alors fonctionner selon l'exemple ci dessous pour récupérer des adresse mail proprement écrite:

A adapter
en colonne A vos adresses mail
copier cette colonne et coller là en B
dans cette colonne B remplacer , @] - . par des blancs
(attention bien des blancs, ne pas les supprimer complètement)
en D la liste des entreprises
en E en ligne avec D
=INDEX(A:A;EQUIV("*"&D1"*";B:B;0))
et si vous voulez éviter les N/A
=SI(ESTERREUR(EQUIV("*"&D1&"*";B:B;0);"non reconnu";INDEX(A:A;EQUIV("*"&D1"*";B:B;0)))
qui affichera non reconnu au lieu de N/A

Vous pouvez aussi essayer de compléter en prenant un fragment seulement du nom de l'entreprise, par exemple les 6 premiers caractères, et directement dans la colonne A:
=INDEX(A:A;EQUIV("*"&GAUCHE(A1;6)"*";A:A;0))

6 étant le nombre de caractères retenus en partant de la gauche

Et enfin vous pouvez donc voir facilement ce que donne ce principe avec:
=INDEX(A:A;EQUIV("*"&GAUCHE(A1;$E$2)"*";A:A;0))
Attention aux signes pour tirer la formule
en plaçant en E2 le nombre de caractères que vous pourrez faire varier
Mais ne rêvons pas, vous en obtiendrez peut être un peu plus, mais uniquement si le libellé est strictement conforme à ce que vous avez dans le code EQUIV

Crdlmnt

ne sommes nous pas seuls à comprendre ce que l'on explique?
0