Google Sheets / Extraction NOM et Prénom d'une cellule

Bonjour à tous,

Après pas mal de recherches et de tests, je me casse les dents sur un problème Google Sheets : j'ai dans une cellule le nom (parfois composé avec espace ou tiret) en majuscules puis le prénom (parfois composé avec espace ou tiret, et avec première lettre en majuscule), et je cherche à extraire le nom d'une part et le prénom d'autre part. Tout en gardant les spécificités d'espace ou tiret de chacun.

Comme vous pouvez le constater sur mon tableau de test, j'ai des "bonnes" pistes pour y parvenir mais ça ne fonctionne pas à 100% (je n'arrive pas à garder les tirets des noms, et ça fait un peu n'importe quoi sur le prénom...).

Voici le tableau : https://docs.google.com/spreadsheets/d/1l1nB1zwG-q95LmzW_6SR9wrP-dxu9f0YLpDbC2ECvh4/edit?usp=sharing

Pourriez-vous me donner un coup de main ?

Un grand merci à tous !

Pierre

Si "NOM Prénom" est en A2. Pour extraire le nom en full majuscules :

=INDEX(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IF(""<> IFERROR(REGEXEXTRACT(SPLIT(A2; " "); "["&JOIN(; UNIQUE(LOWER(QUERY(CHAR(ROUNDUP(SEQUENCE(1500; 2; 65)/2)); "select Col1 where lower(Col1)<>upper(Col2)"))))&"]+"));; IFERROR(SPLIT(A2; " "))));;9^9))))

Pour extraire le prénom :

=INDEX(IF(A2<>"";SPLIT(REGEXREPLACE(A2;"(?:(?:^|[.?!]+)\s*\S+|\b([A-ZÄËÏÖÜÀÉÈÇ][a-zäëïöüàéèç]+(?:-[A-ZÄËÏÖÜÀÉÈÇ][a-zäëïöüàéèç]+)*)\b|.+?)";"$1|");"|";1);""))

Bonjour, avec un "ARRAYFORMULA" ça t'évites d'avoir une formule à chaque ligne.

Cdlt

Alex

Bonjour,

J'utilise une formule de ce genre, regardes si ça fonctionne pour ton cas, ça donne quelque chose du genre :

pour les nom : =ARRAYFORMULA(SIERREUR(REGEXEXTRACT(A2:A;"^(.+)\s[A-Z][a-z]+");""))

pour les prénoms : =ARRAYFORMULA(SIERREUR(REGEXEXTRACT(A2:A; "[^\s]+$");""))

Rechercher des sujets similaires à "google sheets extraction nom prenom"