Preskoči na glavno vsebino

Kako izvleči prvo črko vsake besede iz celice?

Predstavljajte si, da imate na delovnem listu seznam imen držav in želite izvleči prvo črko vsake besede v teh imenih. Excel ne ponuja neposredne funkcije za ekstrahiranje začetnih črk vsake besede v celici. Vendar bom predstavil nekaj praktičnih metod za učinkovito izpolnitev te naloge, zaradi česar bo postopek preprost in učinkovit.


Izvlecite prvo črko vsake besede iz celice s formulo

Če želite dobiti prvo črko vsake besede v celici, vam lahko pomaga naslednja matrična formula.

1. Kopirajte naslednjo formulo v prazno celico, kjer želite dobiti rezultat, in nato pritisnite Ctrl + Shift + Enter tipke skupaj, da dobite prvi rezultat.

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

2. Nato povlecite formulo navzdol, da zapolnite druge celice. To dejanje bo samodejno ekstrahiralo prvo črko vsake besede v vsaki celici naenkrat. Oglejte si posnetek zaslona:

Razlaga te formule:
  • NADOMESTITE(A2," "," "): Ta funkcija nadomesti vsak presledek v besedilu v celici A2 z. To učinkovito loči vsako besedo v besedilu s temi oznakami XML. Na primer, če A2 vsebuje "Hello World", ga ta del formule spremeni v "Hello World".
  • " "&...&" ": Ta del ovije rezultat funkcije SUBSTITUTE z na začetku in na koncu. Če nadaljujemo s primerom, niz zdaj postane Hello World in tvori veljavno strukturo XML, kjer je vsaka beseda zaprta znotraj oznak.
  • FILTERXML(...,"//b"): FILTERXML se uporablja za razčlenitev niza XML, ustvarjenega v prejšnjih korakih. Poizvedba XPath //b izbere vse elemente znotraj oznak, tj. vsako besedo v izvirnem nizu. Z uporabo našega primera bi FILTERXML vrnil matriko z dvema elementoma: "Hello" in "World".
  • LEVO(...,1): Funkcija LEFT se nato uporabi za vsak element matrike, ki jo vrne FILTERXML, in izvleče prvo črko vsake besede. V primeru bi to pomenilo "H" in "W".
  • CONCAT(...): Končno funkcija CONCAT združi vse elemente matrike v en sam niz. Za naš primer "Hello World" bi združil "H" in "W", da bi ustvaril "HW".

Izvlecite prvo črko vsake besede iz Cell s Kutools AI Aide

Hitro izvlecite prvo črko vsake besede v celici z Kutools AI Aide. Ni potrebe po zapletenih formulah; pomočnik AI avtomatizira opravilo namesto vas, tako da je obdelava podatkov preprosta in učinkovita. Poenostavite potek dela v Excelu in si olajšajte delo. poskusite Kutools AI Aide in izkusite pametne Excelove operacije!

Opombe: Za uporabo tega Kutools AI Aide of Kutools za ExcelProsim prenesite in namestite Kutools za Excel najprej.

Po namestitvi Kutools za Excel kliknite Kutools AI > AI pomočnik da odprete Kutools AI Aide podokno:

  1. Izberite seznam podatkov, nato vnesite svojo zahtevo v polje za klepet in kliknite Pošlji ali pritisnite Vnesite tipka za pošiljanje vprašanja;
  2. Po analizi kliknite Izvedba gumb za tek. Kutools AI Aide bo obdelal vašo zahtevo z AI in vrnil rezultate neposredno v Excelu.


Izvlecite prvo črko vsake besede iz celice z uporabniško določeno funkcijo

Izvleček prve črke vsake besede iz celice je naloga, ki jo je mogoče močno optimizirati z uporabo uporabniško določene funkcije (UDF) v Excelu. Ta razdelek raziskuje, kako ustvariti in uporabiti UDF za učinkovito izvedbo te naloge.

1. Držite tipko ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic for Applications.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

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. Nato shranite in zaprite to kodo, pojdite nazaj na delovni list in vnesite to formulo = GetFirstLetters (A2) v prazno celico. Nato povlecite ročico za polnjenje v celice, za katere želite uporabiti to formulo. In vse prve črke so bile izvlečene iz niza besed, glejte posnetek zaslona:


Sorodni članki:

  • Izvlecite prvi ali zadnji dve ali n besed iz besedilnega niza
  • Če imate seznam besedilnih nizov, ki so ločeni s presledkom in zdaj, želite iz vrednosti celice izvleči prve ali zadnje tri ali n besed, da dobite naslednji rezultat zaslona. V tem članku bom predstavil nekaj formul za izločanje prvih ali zadnjih dveh ali n besed iz besedilnega niza v Excelu.
  • Izvleči besedilo samo pred/za presledkom ali vejico
  • Če želite besedilo izvleči pred ali za presledkom s seznama, kot je prikazano spodaj, ali imate dober način za to? Naj vam povem nekaj trikov, kako samo v Excelu izvleči besedilo pred presledkom ali po njem.
  • Izvlecite e-poštni naslov iz besedilnega niza
  • Ko uvozite nekaj e-poštnih naslovov s spletnega mesta na Excelov delovni list, vedno vsebuje neustrezno besedilo, zdaj pa želite samo izvleči čiste e-poštne naslove iz besedilnega niza (glejte naslednje posnetke zaslona). Kako lahko hitro dobite samo e-poštne naslove iz besedila celice?
  • Ekstrakt niza med dvema različnima znakoma
  • Če imate v Excelu seznam nizov, ki jih želite izvleči del niza med dvema znakoma, kot je prikazano na spodnji sliki zaslona, ​​kako najhitreje ravnati z njim? Tukaj predstavljam nekaj metod za reševanje tega dela.

Najboljša pisarniška orodja za produktivnost

🤖 Kutools AI Aide: Revolucionirajte analizo podatkov na podlagi: Inteligentna izvedba   |  Ustvari kodo  |  Ustvarite formule po meri  |  Analizirajte podatke in ustvarite grafikone  |  Prikličite funkcije Kutools...
Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

Opis


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
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