Passer au contenu principal

Comment extraire la première lettre de chaque mot de la cellule?

Imaginez que vous ayez une liste de noms de pays dans votre feuille de calcul et que vous souhaitiez extraire la première lettre de chaque mot de ces noms. Excel ne propose pas de fonctionnalité directe pour extraire les premières lettres de chaque mot dans une cellule. Cependant, je présenterai quelques méthodes pratiques pour accomplir efficacement cette tâche, rendant le processus simple et efficace.


Extraire la première lettre de chaque mot de la cellule avec la formule

Pour obtenir la première lettre de chaque mot dans une cellule, la formule matricielle suivante peut vous aider.

1. Veuillez copier la formule suivante dans une cellule vide où vous souhaitez obtenir le résultat, puis appuyez sur Ctrl + Maj + Entrée clés ensemble pour obtenir le premier résultat.

=CONCAT(LEFT(FILTERXML("<a><b>"&SUBSTITUTE(A2," ","</b><b>")&"</b></a>","//b"),1))

2. Ensuite, déroulez la formule vers le bas pour remplir les autres cellules. Cette action extraira automatiquement la première lettre de chaque mot dans chaque cellule en une seule fois. Voir capture d'écran :

Explication de cette formule :
  • SUBSTITUT(A2," "," "):Cette fonction remplace chaque espace du texte de la cellule A2 par . Cela sépare efficacement chaque mot du texte avec ces balises XML. Par exemple, si A2 contient « Hello World », cette partie de la formule le transforme en « Hello World ».
  • " "&...&" ": Cette partie enveloppe le résultat de la fonction SUBSTITUTE avec au début et à la fin. En continuant avec l'exemple, la chaîne devient désormais Hello World , formant une structure XML valide où chaque mot est entouré de balises.
  • FILTREXML(...,"//b"): FILTERXML est utilisé pour analyser la chaîne XML créée lors des étapes précédentes. La requête XPath //b sélectionne tous les éléments contenus dans les balises, c'est-à-dire chaque mot de la chaîne d'origine. En utilisant notre exemple, FILTERXML renverrait un tableau avec deux éléments : "Hello" et "World".
  • GAUCHE(...,1): La fonction LEFT est ensuite appliquée à chaque élément du tableau renvoyé par FILTERXML, extrayant la première lettre de chaque mot. Dans l'exemple, cela donnerait « H » et « W ».
  • CONCAT(...): Enfin, la fonction CONCAT concatène tous les éléments du tableau en une seule chaîne. Pour notre exemple « Hello World », cela concatènerait « H » et « W » pour produire « HW ».

Extraire la première lettre de chaque mot de Cell avec Kutools AI Aide

Extrayez rapidement la première lettre de chaque mot dans une cellule avec Aide à l'IA Kutools. Pas besoin de formules complexes ; l'assistant IA automatise la tâche pour vous, rendant le traitement des données simple et efficace. Rationalisez votre flux de travail Excel et facilitez votre travail. Essayer Aide à l'IA Kutools et découvrez des opérations Excel intelligentes !

Notes: Pour utiliser ceci Aide à l'IA Kutools of Kutools for Excel, S'il vous plaît télécharger et installer Kutools pour Excel d'abord.

Après avoir installé Kutools pour Excel, veuillez cliquer sur Kutools IA > Aide à l'IA ouvrir le Aide à l'IA Kutools vitre:

  1. Sélectionnez la liste de données, puis saisissez vos besoins dans la zone de discussion et cliquez sur Envoyer bouton ou appuyez sur Entrer clé pour envoyer la question ;
  2. Après analyse, cliquez sur Exécution bouton pour exécuter. Kutools AI Aide traitera votre demande à l'aide de l'IA et renverra les résultats directement dans Excel.


Extraire la première lettre de chaque mot de la cellule avec la fonction définie par l'utilisateur

Extraire la première lettre de chaque mot d'une cellule est une tâche qui peut être grandement optimisée en utilisant une fonction définie par l'utilisateur (UDF) dans Excel. Cette section explique comment créer et utiliser une FDU pour effectuer efficacement cette tâche.

1. Maintenez le ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Function GetFirstLetters(rng As Range) As String
'Updateby Extendoffice
    Dim arr
    Dim I As Long
    arr = VBA.Split(rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
        Next I
    Else
        GetFirstLetters = Left(arr, 1)
    End If
End Function

3. Ensuite, enregistrez et fermez ce code, revenez à la feuille de calcul et entrez cette formule = GetFirstLetters (A2) dans une cellule vide. Ensuite, faites glisser la poignée de recopie vers les cellules auxquelles vous souhaitez appliquer cette formule. Et toutes les premières lettres ont été extraites de la série de mots, voir capture d'écran :


Articles Liés:

  • Extraire les premiers ou derniers deux ou n mots d'une chaîne de texte
  • Si vous avez une liste de chaînes de texte séparées par un espace et que vous souhaitez maintenant extraire les trois premiers ou les derniers mots de la valeur de la cellule pour obtenir le résultat de la capture d'écran suivant. Cet article, je vais vous présenter quelques formules pour extraire les deux premiers ou derniers mots de la chaîne de texte dans Excel.
  • Extraire l'adresse e-mail de la chaîne de texte
  • Lorsque vous importez des adresses e-mail du site Web vers une feuille de calcul Excel, il contient toujours du texte non pertinent, mais vous souhaitez maintenant simplement extraire les adresses e-mail pures de la chaîne de texte (voir les captures d'écran suivantes). Comment pouvez-vous obtenir rapidement uniquement les adresses e-mail du texte de la cellule?
  • Extraire la chaîne entre deux caractères différents
  • Si vous avez une liste de chaînes dans Excel dont vous avez besoin pour extraire une partie de chaîne entre deux caractères de la capture d'écran ci-dessous, comment la gérer le plus rapidement possible? Ici, je présente quelques méthodes pour résoudre ce travail.

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello, If the the nth Word is enclosed in a (), it is returning the ( since it comes before the First Letter.

Example:
Word Word (Word)

How to return WWW instead of WW( ?
This comment was minimized by the moderator on the site
Hello, Sharmane
Maybe the following code can help you:
Function GetFirstLetters(rng As Range) As String
    Dim arr() As String
    Dim i As Long
    
    arr = VBA.Split(rng.Value, " ")
    
    For i = LBound(arr) To UBound(arr)
        If Left(arr(i), 1) <> "(" And Right(arr(i), 1) <> ")" Then
            GetFirstLetters = GetFirstLetters & Left(arr(i), 1)
        ElseIf Left(arr(i), 1) = "(" And Right(arr(i), 1) = ")" Then
            GetFirstLetters = GetFirstLetters & Mid(arr(i), 2, 1)
        End If
    Next i
End Function


Please have a try, thank you!
This comment was minimized by the moderator on the site
Another suggestion if using Microsoft 365: =TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)) where the source string is in B9.
Wrap in UPPER function to enforce uppercase: =UPPER(TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)))
@Pradeep Gyawali -> add space: =UPPER(TEXTJOIN(" ",,LEFT(TEXTSPLIT(D9," "),1)))
This comment was minimized by the moderator on the site
Wondering how to add this into the existing formula I have that works to bring the value over from a cell in another sheet? I only want to bring over the first character in each cell. Here's the formula

=IF(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D))=ROW(OriginalSubmission!D4),"",INDIRECT("OriginalSubmission!D5:"&"D"&(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D)))))
This comment was minimized by the moderator on the site
Hello, SARAH
Do you mean extracting each first character in cells from another worksheet? If so, you just need to copy and paste the code in this article, and then apply this formula into another sheet.
=GetFirstLetters(OriginalSubmission!D4)


Note: OriginalSubmission is the sheet name that you want to extract charatcers from.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
How to create space between the letters?

South Korea= S K
This comment was minimized by the moderator on the site
Hi, Gyawali
If you want to add space for each character, please apply the following VBA code:
Function GetFirstLetters(Rng As Range) As String
'Updateby Extendoffice
    Dim xStr
    Dim arr
    Dim I As Long
    xStr = " "
    arr = VBA.Split(Rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1) & xStr
        Next I
    Else
        GetFirstLetters = Left(arr, 1) & xStr
    End If
End Function


After insert the code, and then apply this formula: =GetFirstLetters(A2) to get the result you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Why is this giving me the first 2 letters in each word?
This comment was minimized by the moderator on the site
This is awesome. Such a time saver
This comment was minimized by the moderator on the site
This code is good for upto five words, where D20 is the cell with data.



=IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",
$D$20)+1)+1)+1)+1,1)),IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)),
IF(ISERR(LEFT($D$20,1)),"",LEFT($D$20,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)),LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)
+1)+1)+1,1))
This comment was minimized by the moderator on the site
Подскажите пожалуйста, можно ли модифицировать код чтобы забиралась не первые а Заглавные буквы?
This comment was minimized by the moderator on the site
i think it has one bug, it's automatically removed from module when sheet is closed, need to again every time when open sheet same process to be required, please advice how to save this formula in excel permanently.
This comment was minimized by the moderator on the site
Pls save excel as Excel Macro-Enablel work book.
This comment was minimized by the moderator on the site
Please include this part: If you create a function called DISCOUNT in a workbook called Personal.xlsb and you call that function from another workbook, you must type =personal.xlsb!discount(), not simply =discount(). https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations