Salt la conținutul principal

Cum se extrage prima literă din fiecare cuvânt din celulă?

Imaginați-vă că aveți o listă de nume de țări în foaia de lucru și doriți să extrageți prima literă a fiecărui cuvânt din aceste nume. Excel nu oferă o caracteristică directă pentru extragerea literelor inițiale ale fiecărui cuvânt dintr-o celulă. Cu toate acestea, voi introduce câteva metode practice pentru a îndeplini eficient această sarcină, făcând procesul simplu și eficient.


Extrageți prima literă a fiecărui cuvânt din Celulă cu formula

Pentru a obține prima literă a fiecărui cuvânt dintr-o celulă, următoarea formulă matrice vă poate ajuta.

1. Vă rugăm să copiați următoarea formulă într-o celulă goală unde doriți să obțineți rezultatul, apoi apăsați Ctrl + Shift + Enter tastele împreună pentru a obține primul rezultat.

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

2. Apoi, trageți formula în jos pentru a umple celelalte celule. Această acțiune va extrage automat prima literă a fiecărui cuvânt din fiecare celulă dintr-o dată. Vedeți captura de ecran:

Explicația acestei formule:
  • ÎNLOCUIT(A2," "," "):Această funcție înlocuiește fiecare spațiu din textul din celula A2 cu . Acest lucru separă efectiv fiecare cuvânt din text cu aceste etichete XML. De exemplu, dacă A2 conține „Hello World”, această parte a formulei îl transformă în „Hello World”.
  • " "&...&" ": Această parte cuprinde rezultatul funcției SUBSTITUTE cu la început și la sfârșit. Continuând cu exemplul, șirul devine acum Hello World , formând o structură XML validă în care fiecare cuvânt este inclus în etichete.
  • FILTERXML(...,"//b"): FILTERXML este folosit pentru a analiza șirul XML creat în pașii anteriori. Interogarea XPath //b selectează toate elementele din etichete, adică fiecare cuvânt din șirul original. Folosind exemplul nostru, FILTERXML va returna o matrice cu două elemente: „Hello” și „World”.
  • STÂNGA(...,1): Funcția LEFT este apoi aplicată fiecărui element din tabloul returnat de FILTERXML, extragând prima literă a fiecărui cuvânt. În exemplu, aceasta ar avea ca rezultat „H” și „W”.
  • CONCAT(...): În cele din urmă, funcția CONCAT concatenează toate elementele matricei într-un singur șir. Pentru exemplul nostru „Hello World”, ar concatena „H” și „W” pentru a produce „HW”.

Extrageți prima literă a fiecărui cuvânt din Cell cu Kutools AI Aide

Extrageți rapid prima literă a fiecărui cuvânt dintr-o celulă cu Kutools AI Aide. Nu este nevoie de formule complexe; Asistentul AI automatizează sarcina pentru dvs., făcând procesarea datelor simplă și eficientă. Simplificați-vă fluxul de lucru Excel și ușurați munca. Încerca Kutools AI Aide și experimentați operațiuni inteligente Excel!

notițe: Pentru a folosi asta Kutools AI Aide of Kutools pentru Excel, Vă rugăm să descărcați și instalați Kutools pentru Excel mai întâi.

După instalarea Kutools pentru Excel, faceți clic pe Kutools AI > Ajutor AI pentru a deschide Kutools AI Aide panou:

  1. Selectați lista de date, apoi introduceți cerința dvs. în caseta de chat și faceți clic Trimiteți sau apăsați Intrați cheie pentru a trimite întrebarea;
  2. După analiză, faceți clic Executa butonul pentru a rula. Kutools AI Aide va procesa cererea dvs. folosind AI și va returna rezultatele direct în Excel.


Extrageți prima literă din fiecare cuvânt din celulă cu funcție definită de utilizator

Extragerea primei litere a fiecărui cuvânt dintr-o celulă este o sarcină care poate fi mult optimizată prin utilizarea unei funcții definite de utilizator (UDF) în Excel. Această secțiune explorează cum să creați și să utilizați un UDF pentru a efectua eficient această sarcină.

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

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. Apoi salvați și închideți acest cod, reveniți la foaia de lucru și introduceți această formulă = GetFirstLetters (A2) într-o celulă goală. Apoi, trageți mânerul de umplere în celulele pe care doriți să le aplicați această formulă. Și toate primele litere au fost extrase din seria de cuvinte, vezi captura de ecran:


Legate de articole:

  • Extrageți primele sau ultimele două sau n cuvinte din șirul de text
  • Dacă aveți o listă de șiruri de text care sunt separate prin spațiu și acum, doriți să extrageți primele sau ultimele trei sau n cuvinte din valoarea celulei pentru a obține următorul rezultat al capturii de ecran. În acest articol, voi introduce câteva formule pentru a extrage primele sau ultimele două sau n cuvinte din șirul de text în Excel.
  • Extrageți text înainte/după spațiu sau virgulă
  • Când doriți să extrageți textul înainte sau după spațiul din listă, așa cum se arată mai jos, aveți o modalitate bună de a o face? Permiteți-mi să vă spun câteva modalități de a extrage text înainte sau după spațiu numai în Excel.
  • Extrageți adresa de e-mail din șirul de text
  • Când importați unele adrese de e-mail din site-ul web în foaia de lucru Excel, conține întotdeauna text irelevant, dar acum doriți doar să extrageți adresele de e-mail pure din șirul de text (consultați următoarele capturi de ecran). Cum ați putea obține rapid doar adresele de e-mail din textul celulei?
  • Extrageți șirul dintre două caractere diferite
  • Dacă aveți o listă de șiruri în Excel pe care trebuie să extrageți o parte din șir între două caractere din imaginea de mai jos prezentată, cum să o gestionați cât mai repede posibil? Aici, introduc câteva metode despre rezolvarea acestui loc de muncă.

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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