Ga naar hoofdinhoud

Hoe de eerste letter van elk woord uit de cel halen?

Stel je voor dat je een lijst met landnamen in je werkblad hebt en dat je de eerste letter van elk woord in deze namen wilt extraheren. Excel biedt geen directe functie voor het extraheren van de beginletters van elk woord in een cel. Ik zal echter enkele praktische methoden introduceren om deze taak efficiënt te volbrengen, waardoor het proces eenvoudig en effectief wordt.


Extraheer de eerste letter van elk woord uit cel met formule

Om de eerste letter van elk woord in een cel te krijgen, kan de volgende matrixformule u helpen.

1. Kopieer de volgende formule naar een lege cel waar u het resultaat wilt krijgen en druk vervolgens op Ctrl + Shift + Enter toetsen samen om het eerste resultaat te krijgen.

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

2. Trek vervolgens de formule naar beneden om de andere cellen te vullen. Met deze actie wordt automatisch de eerste letter van elk woord in elke cel in één keer geëxtraheerd. Zie schermafbeelding:

Verklaring van deze formule:
  • VERVANGEN(A2," "," "):Deze functie vervangt elke spatie in de tekst in cel A2 door . Dit scheidt effectief elk woord in de tekst met deze XML-tags. Als A2 bijvoorbeeld 'Hallo wereld' bevat, verandert dit deel van de formule dit in 'Hallo wereld'.
  • " "&...&" ": Dit deel omhult het resultaat van de SUBSTITUTE-functie met aan het begin en aan het einde. Als we verdergaan met het voorbeeld, wordt de string nu Hello World en vormt een geldige XML-structuur waarin elk woord tussen tags is ingesloten.
  • FILTERXML(...,"//b"): FILTERXML wordt gebruikt om de XML-tekenreeks te parseren die in de vorige stappen is gemaakt. De XPath-query //b selecteert alle elementen binnen de tags, dwz elk woord in de originele string. Als we ons voorbeeld gebruiken, retourneert FILTERXML een array met twee elementen: "Hallo" en "Wereld".
  • LINKS(...,1): De LEFT-functie wordt vervolgens toegepast op elk element van de array die wordt geretourneerd door FILTERXML, waarbij de eerste letter van elk woord wordt geëxtraheerd. In het voorbeeld zou dit resulteren in "H" en "W".
  • CONCAAT(...): Ten slotte voegt de CONCAT-functie alle elementen van de array samen tot één enkele string. Voor ons "Hello World"-voorbeeld zouden "H" en "W" aaneengeschakeld worden om "HW" te produceren.

Extraheer de eerste letter van elk woord uit Cell met Kutools AI Aide

Extraheer snel de eerste letter van elk woord in een cel met Kutools AI-assistent. Geen behoefte aan complexe formules; de AI-assistent automatiseert de taak voor u, waardoor gegevensverwerking eenvoudig en efficiënt wordt. Stroomlijn uw Excel-workflow en maak uw werk eenvoudiger. Poging Kutools AI-assistent en ervaar slimme Excel-bewerkingen!

Note: Om dit te gebruiken Kutools AI-assistent of Kutools for Excel, Dan kunt u download en installeer Kutools voor Excel kopen.

Klik na het installeren van Kutools voor Excel op Kutools AI > AI-assistent om de te openen Kutools AI-assistent paneel:

  1. Selecteer de gegevenslijst, typ vervolgens uw vereiste in het chatvenster en klik Verzenden knop of druk op Enter toets om de vraag te verzenden;
  2. Klik na het analyseren Uitvoeren knop om te rennen. Kutools AI Aide verwerkt uw verzoek met behulp van AI en retourneert de resultaten rechtstreeks in Excel.


Pak de eerste letter van elk woord uit de cel met door de gebruiker gedefinieerde functie

Het extraheren van de eerste letter van elk woord uit een cel is een taak die aanzienlijk kan worden geoptimaliseerd door een door de gebruiker gedefinieerde functie (UDF) in Excel te gebruiken. In deze sectie wordt onderzocht hoe u een UDF kunt maken en gebruiken om deze taak efficiënt uit te voeren.

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

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. Sla vervolgens deze code op en sluit deze, ga terug naar het werkblad en voer deze formule in = GetFirstLetters (A2) naar een lege cel. En sleep vervolgens de vulgreep naar de cellen waarop u deze formule wilt toepassen. En alle eerste letters zijn uit de reeks woorden gehaald, zie screenshot:


Gerelateerde artikelen:

  • Extraheer de eerste of laatste twee of n woorden uit de tekstreeks
  • Als u een lijst met tekstreeksen heeft die door een spatie zijn gescheiden, en nu wilt u de eerste of laatste drie of n woorden uit de celwaarde extraheren om het volgende screenshot-resultaat te krijgen. In dit artikel zal ik enkele formules introduceren om de eerste of laatste twee of n woorden uit een tekstreeks in Excel te extraheren.
  • Extraheer alleen tekst vóór/na spatie of komma
  • Als u de tekst voor of na de spatie uit de lijst wilt extraheren, zoals hieronder weergegeven, heeft u dan een goede manier om dit voor elkaar te krijgen? Ik zal u enkele handige manieren vertellen om tekst vóór of na spatie alleen in Excel te extraheren.
  • Extraheer het e-mailadres uit de tekstreeks
  • Wanneer u enkele e-mailadressen van het Website naar Excel-werkblad importeert, bevat deze altijd irrelevante tekst, maar nu wilt u alleen de pure e-mailadressen uit de tekstreeks extraheren (zie volgende schermafbeeldingen). Hoe kon je snel alleen de e-mailadressen uit de celtekst halen?
  • Extraheer de tekenreeks tussen twee verschillende karakters
  • Als u een lijst met tekenreeksen in Excel heeft die u nodig hebt om een ​​deel van de tekenreeks tussen twee tekens uit de onderstaande schermafbeelding te halen, hoe kunt u deze dan zo snel mogelijk afhandelen? Hier introduceer ik enkele methoden om deze taak op te lossen.

Beste Office-productiviteitstools

🤖 Kutools AI-assistent: Een revolutie teweegbrengen in de data-analyse op basis van: Intelligente uitvoering   |  Genereer code  |  Aangepaste formules maken  |  Analyseer gegevens en genereer grafieken  |  Roep Kutools-functies aan...
Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

Omschrijving


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
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