Trier par le 4ème mot de chaque cellule

Bonjour,

dans une colonne, j'ai plusieurs cellules et dans chaque cellule, une adresse. Le 4ème mot de chaque adresse est le nom de famille.

J'aimerais trier la colonne par nom de famille, donc trier par tous les 4ème mot de chaque cellule. Ou le 3ème mot de la 3ème ligne

Quote000

Monsieur Jean DUPOND
Impasse du Un 1
10000 EXEMPLE
Quote111

Monsieur Jean BON
Impasse du Deux 2
10001 EXEMPLE2

Est ce possible et si oui? Comment?

Merci d'avance

Bonjour,

En extrayant chaque tronçon séparé par un renvoi à la ligne:

A partir de là, vous pouvez faire le tri de votre choix

Cdlt

bonjour

un exemple d'extraction du 4 ième mot

cordialement

16olibolib.xlsx (9.73 Ko)

Bonjour à tous !

Une approche Power Query (nativement intégré dans Excel 2016) :

image

La mise à jour du tableau retourné par Power Query s'effectue par une simple actualisation. (Menu "Données / Actualiser tout")

Bonsoir @ tous !

Arturo83 : je n'ai pas mieux, je suis parti sur la même formule (n'en déplaise à JFL ! ) en faisant la recherche du troisième et quatrième espace et en extrayant l'intervalle :

=STXT(B6;TROUVE(CAR(1);SUBSTITUE(B6;" ";CAR(1);3))+1;TROUVE(CAR(1);SUBSTITUE(B6;" ";CAR(1);4))-TROUVE(CAR(1);SUBSTITUE(B6;" ";CAR(1);3))-1)

Quoi que j'en dise, je me chagrine de ne pas prend le temps d'apprendre PQ ! JFL : à quad une master class sur PQ ? Ici sur ce site avec votre pédagogie ? En effet il y en a plein sur le net, beaucoup en anglais, mais je n'y ai pas accroché... L'envie qui me manque certainement...

@ bientôt

LouReeD

Bonjour à tous,

À partir du fichier d'Arturo83, on peut aussi trouver le nom avec FILTRE.XML (disponible depuis Excel 2013)

=FILTRE.XML("<t><s>"&SUBSTITUE(SUBSTITUE(A2;CAR(10);" ");" ";"</s><s>")&"</s></t>";"//s[5]")

Sous réserve que la structure de la cellule soit constante

Hello,

on peut aussi utiliser les expressions régulières ( avec Excel 365) mais aussi avec le pack de fonctions complémentaires du site avec la fonction REGEX_EXTRACT :

=REGEX_EXTRACT(A2;"^\w+\s+\w+\s+\w+\s+(\w+)";1)

En gros on passe les 3 premiers mots et on capture le quatrième (avec les parenthèses et le mode de retour à 1)

Voici ce que cela donne sous Excel 2016 :

regex extract

[ EDIT ] Simplification + traitement des prénoms composés (ex : Jean-Pierre) :

=REGEX_EXTRACT(A2;"^(?:[\w-]+\s+){3}(\w+)";1)

Ami calmant, J.P

re

avec le texte en B3

STXT(B3;INDEX(UNIQUE(CHERCHE(" ";B3;LIGNE($1:$255)));3);INDEX(UNIQUE(CHERCHE(" ";B3;LIGNE($1:$255)));4)-INDEX(UNIQUE(CHERCHE(" ";B3;LIGNE($1:$255)));3))
cordialement

Bonjour à tous !

Pour le "fun" mais avec Microsoft 365, une proposition qui retournera le tableau structuré (tSource) trié alphabétiquement :

=LET(t;tSource[Adresse];TRIERPAR(t;REGEX.EXTRAIRE(t;"^(?:[\w-]+\s+){3}([\w-]+)";2);1))

Bonjour,

Si en plus il y a des REGEX...!

Avec PQ c'est un truc que je n'ai pas assimilé...

@ bientôt

LouReeD

Bonjour à tous de nouveau !

@LouReed : Hello !

Si en plus il y a des REGEX...!

C'est un excellent médicament pour lutter contre le vieillissement des neurones.....

Rechercher des sujets similaires à "trier 4eme mot chaque"