Création d'un identifiant basé sur le nom

-1

J'ai un grand nombre de noms de clients pour lesquels je dois créer un code unique.

Je souhaite utiliser les quatre premières lettres du premier mot, les trois premières lettres du deuxième mot et les deux premières lettres du troisième mot.

4 EVEREST YOUNG
ABIC INVESTMENTS PTY. LTD. 

c'est-à-dire qu'un identifiant unique finirait par:

4eveyo
abicinvpt

Quelqu'un pourrait-il m'aider avec une formule qui permettrait d'atteindre cet objectif?

Merci d'avance.

Clare Weatherly
la source
Êtes-vous d'accord avec VBA? En fonction de vos données, cela sera compliqué de prendre en compte tous les cas (comme les mots courts) dans une formule.
Andrew

Réponses:

1

En supposant que vos données résident dans la cellule A1, essayez:

=LEFT(A1,MIN(FIND(" ",A1)-1,4)) & MID(A1,FIND(" ",A1)+1,MIN(3,FIND(" ",A1,FIND(" ",A1)+1)-FIND(" ",A1))) & MID(A1,FIND(" ",A1,FIND(" ",A1)+1)+1,MIN(2,LEN(A1)-FIND(" ",A1,FIND(" ",A1)+1)))
Lee Mac
la source
Lee, un autre grand effort, mais notez où elle indique que l'identifiant unique de son exemple serait deux mots.
Bandersnatch
@Bandersnatch - merci, cependant, je pense que le PO a mal formulé son message, ce qui masque l'intention (j'ai modifié la question, mais j'attends toujours l'examen).
Lee Mac
1
Cela fait beaucoup plus de sens. Excellent travail et excellente réponse.
Bandersnatch
0

Cela gère les mots courts sans que des erreurs ou des espaces ne se retrouvent dans le résultat.

=IF(ISERROR(FIND(" ",G624)),LEFT(G624,4),TRIM(LEFT(G624,MIN(4,FIND(" ",G624))))&TRIM(MID(G624,FIND(" ",G624)+1,MIN(3,IF(ISERROR(FIND(" ",G624,FIND(" ",G624)+1)),3,FIND(" ",G624,FIND(" ",G624)+1))-FIND(" ",G624))))&IF(ISERROR(FIND(" ",G624,FIND(" ",G624)+1)),"",TRIM(MID(G624,FIND(" ",G624,FIND(" ",G624)+1)+1,2))))

Quel monstre.

Exemples:

4 EVEREST YOUNG               4EVEYO
ABIC INVESTMENTS PTY. LTD.    ABICINVPT
ABCDE FGIJK LMNOP QRSTU       ABCDFGILM
ABCDEFG I I I I               ABCDII
ABCDEFG                       ABCD
A                             A
A B                           AB
A B C                         ABC
A B C D                       ABC
AB CD EF GH                   ABCDEF
ABC DEF GHI JKL               ABCDEFGH

Edit: ma première tentative a eu un problème qui a surgi lorsque j'ai ajouté plus d'exemples.

Andrew
la source