Direkt zum Inhalt

Wie extrahiere ich den ersten Buchstaben jedes Wortes aus der Zelle?

Stellen Sie sich vor, Sie haben eine Liste mit Ländernamen in Ihrem Arbeitsblatt und möchten den ersten Buchstaben jedes Wortes in diesen Namen extrahieren. Excel bietet keine direkte Funktion zum Extrahieren der Anfangsbuchstaben jedes Wortes in einer Zelle. Ich werde jedoch einige praktische Methoden vorstellen, um diese Aufgabe effizient zu erledigen und den Prozess unkompliziert und effektiv zu gestalten.


Extrahieren Sie den ersten Buchstaben jedes Wortes mit der Formel aus der Zelle

Um den ersten Buchstaben jedes Wortes innerhalb einer Zelle zu ermitteln, kann Ihnen die folgende Array-Formel helfen.

1. Bitte kopieren Sie die folgende Formel in eine leere Zelle, in der Sie das Ergebnis erhalten möchten, und drücken Sie dann Strg + Umschalt + Enter Tasten zusammen, um das erste Ergebnis zu erhalten.

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

2. Ziehen Sie als Nächstes die Formel nach unten, um die anderen Zellen zu füllen. Diese Aktion extrahiert automatisch den ersten Buchstaben jedes Wortes in jeder Zelle auf einmal. Siehe Screenshot:

Erklärung dieser Formel:
  • SUBSTITUTE(A2," "," "):Diese Funktion ersetzt jedes Leerzeichen im Text in Zelle A2 durch . Dadurch wird jedes Wort im Text effektiv durch diese XML-Tags getrennt. Wenn A2 beispielsweise „Hello World“ enthält, wird es durch diesen Teil der Formel in „Hello World“ umgewandelt.
  • " "&...&" ": Dieser Teil umschließt das Ergebnis der SUBSTITUTE-Funktion am Anfang und am Ende. Wenn wir mit dem Beispiel fortfahren, wird die Zeichenfolge nun zu Hello World und bildet eine gültige XML-Struktur, in der jedes Wort in Tags eingeschlossen ist.
  • FILTERXML(...,"//b"): FILTERXML wird zum Parsen der in den vorherigen Schritten erstellten XML-Zeichenfolge verwendet. Die XPath-Abfrage //b wählt alle Elemente innerhalb der Tags aus, also jedes Wort in der Originalzeichenfolge. In unserem Beispiel würde FILTERXML ein Array mit zwei Elementen zurückgeben: „Hello“ und „World“.
  • LINKS(...,1): Die LEFT-Funktion wird dann auf jedes Element des von FILTERXML zurückgegebenen Arrays angewendet und extrahiert den ersten Buchstaben jedes Wortes. Im Beispiel würde dies zu „H“ und „W“ führen.
  • CONCAT(...): Schließlich verkettet die CONCAT-Funktion alle Elemente des Arrays zu einer einzigen Zeichenfolge. Für unser „Hello World“-Beispiel würde es „H“ und „W“ verketten, um „HW“ zu erzeugen.

Extrahieren Sie mit Kutools AI Aide den ersten Buchstaben jedes Wortes aus Cell

Extrahieren Sie schnell den ersten Buchstaben jedes Wortes in einer Zelle mit Kutools KI-Assistent. Keine komplexen Formeln erforderlich; Der KI-Assistent automatisiert die Aufgabe für Sie und macht die Datenverarbeitung einfach und effizient. Optimieren Sie Ihren Excel-Workflow und erleichtern Sie Ihre Arbeit. Versuchen Kutools KI-Assistent und erleben Sie intelligente Excel-Operationen!

Note: Um dies zu verwenden Kutools KI-Assistent of Kutools for Excel, Bitte Laden Sie Kutools für Excel herunter und installieren Sie es zuerst.

Klicken Sie nach der Installation von Kutools for Excel auf Kutools KI > KI-Assistent öffnen Kutools KI-Assistent Feld:

  1. Wählen Sie die Datenliste aus, geben Sie dann Ihre Anforderung in das Chatfeld ein und klicken Sie Absenden Taste oder drücken Enter Schlüssel zum Senden der Frage;
  2. Klicken Sie nach der Analyse auf Ausführen Taste zum Ausführen. Kutools AI Aide verarbeitet Ihre Anfrage mithilfe von KI und gibt die Ergebnisse direkt in Excel zurück.


Extrahieren Sie den ersten Buchstaben jedes Wortes mit der benutzerdefinierten Funktion aus der Zelle

Das Extrahieren des ersten Buchstabens jedes Wortes aus einer Zelle ist eine Aufgabe, die durch die Verwendung einer benutzerdefinierten Funktion (UDF) in Excel erheblich optimiert werden kann. In diesem Abschnitt wird erläutert, wie Sie eine UDF erstellen und verwenden, um diese Aufgabe effizient auszuführen.

1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen-Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modulfenster.

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. Speichern und schließen Sie dann diesen Code, gehen Sie zurück zum Arbeitsblatt und geben Sie diese Formel ein = GetFirstLetters (A2) in eine leere Zelle. Ziehen Sie dann den Füllpunkt auf die Zellen, auf die Sie diese Formel anwenden möchten. Und alle Anfangsbuchstaben wurden aus der Wortreihe extrahiert, siehe Screenshot:


In Verbindung stehende Artikel:

  • Extrahieren Sie die ersten oder letzten zwei oder n Wörter aus der Textzeichenfolge
  • Wenn Sie eine Liste von Textzeichenfolgen haben, die durch Leerzeichen getrennt sind, möchten Sie jetzt die ersten oder letzten drei oder n Wörter aus dem Zellenwert extrahieren, um das folgende Screenshot-Ergebnis zu erhalten. In diesem Artikel werde ich einige Formeln vorstellen, um die ersten oder letzten zwei oder n Wörter aus einer Textzeichenfolge in Excel zu extrahieren.
  • Extrahieren Sie nur Text vor/nach Leerzeichen oder Komma
  • Wenn Sie den Text vor oder nach dem Leerzeichen wie unten gezeigt aus der Liste extrahieren möchten, haben Sie eine gute Möglichkeit, dies zu erreichen? Lassen Sie mich einige Tricks erläutern, wie Sie Text vor oder nach dem Leerzeichen nur in Excel extrahieren können.
  • Extrahieren Sie die E-Mail-Adresse aus der Textzeichenfolge
  • Wenn Sie einige E-Mail-Adressen aus dem Arbeitsblatt Website in Excel importieren, enthält dieser immer irrelevanten Text. Jetzt möchten Sie nur noch die reinen E-Mail-Adressen aus der Textzeichenfolge extrahieren (siehe folgende Screenshots). Wie können Sie schnell nur die E-Mail-Adressen aus dem Zellentext abrufen?
  • Extrahieren Sie eine Zeichenfolge zwischen zwei verschiedenen Zeichen
  • Wenn Sie eine Liste von Zeichenfolgen in Excel haben, die Sie benötigen, um einen Teil der Zeichenfolge zwischen zwei Zeichen aus dem folgenden Screenshot zu extrahieren, wie können Sie so schnell wie möglich damit umgehen? Hier stelle ich einige Methoden zur Lösung dieses Jobs vor.

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
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