Ugrás a tartalomra

Hogyan lehet kinyerni az egyes szavak első betűjét a cellából?

Képzelje el, hogy a munkalapján országnevek listája van, és ki szeretné bontani ezekben a nevekben minden egyes szó első betűjét. Az Excel nem biztosít közvetlen szolgáltatást a cellában lévő egyes szavak kezdőbetűinek kinyerésére. Mindazonáltal bemutatok néhány gyakorlati módszert ennek a feladatnak a hatékony végrehajtására, amely a folyamatot egyszerűvé és eredményessé teszi.


Vonja ki minden szó első betűjét a cellából képlettel

A következő tömbképlet segíthet abban, hogy a cellán belül minden szó első betűjét megkapja.

1. Kérjük, másolja a következő képletet egy üres cellába, ahol meg szeretné kapni az eredményt, majd nyomja meg a gombot Ctrl + Shift + Enter gombokat együtt az első eredmény eléréséhez.

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

2. Ezután húzza le a képletet a többi cella kitöltéséhez. Ez a művelet automatikusan kivonja az egyes cellák minden egyes szó első betűjét egyszerre. Lásd a képernyőképet:

Ennek a képletnek a magyarázata:
  • SUBSTITUTE(A2," "," "):Ez a függvény az A2 cellában lévő szöveg minden szóközét a -ra cseréli. Ez hatékonyan választja el az egyes szavakat a szövegben ezekkel az XML-címkékkel. Például, ha az A2 tartalmazza a „Hello World”-et, a képlet ezen része „Hello World”-re változtatja.
  • " "&...&" ": Ez a rész a SUBSTITUTE függvény eredményét a következővel zárja az elején és a végén. Folytatva a példát, a karakterlánc most Hello World lesz, amely egy érvényes XML-struktúrát alkot, ahol minden szó címkék közé van zárva.
  • FILTERXML(...,"//b"): A FILTERXML az előző lépésekben létrehozott XML karakterlánc elemzésére szolgál. Az XPath //b lekérdezés kijelöli a címkéken belüli összes elemet, azaz az eredeti karakterlánc minden szavát. Példánkkal a FILTERXML két elemből álló tömböt ad vissza: "Hello" és "World".
  • BAL(...,1): A LEFT függvény ezután a FILTERXML által visszaadott tömb minden elemére kerül alkalmazásra, kivonva minden szó első betűjét. A példában ez "H" és "W" betűt eredményez.
  • CONCAT (...): Végül a CONCAT függvény a tömb összes elemét egyetlen karakterláncba fűzi össze. A „Hello World” példánkban a „H” és a „W” összefűzésével „HW” jön létre.

A Kutools AI Aide segítségével vonja ki minden szó első betűjét a Cell-ből

Gyorsan bontsa ki minden egyes szó első betűjét a következővel: Kutools AI Aide. Nincs szükség összetett képletekre; az AI-asszisztens automatizálja a feladatot, egyszerűvé és hatékonnyá téve az adatfeldolgozást. Egyszerűsítse Excel munkafolyamatát, és könnyítse meg munkáját. Próbáld ki Kutools AI Aide és tapasztalja meg az intelligens Excel műveleteket!

Megjegyzések: Ennek használatához Kutools AI Aide of Kutools az Excel számáraKérjük, töltse le és telepítse a Kutools for Excel alkalmazást először.

A Kutools for Excel telepítése után kattintson Kutools AI > AI segéd megnyitni Kutools AI Aide ablaktábla:

  1. Válassza ki az adatlistát, majd írja be a követelményt a csevegési mezőbe, és kattintson a gombra Küldés vagy nyomja meg a gombot belép kulcs a kérdés elküldéséhez;
  2. Az elemzés után kattintson a gombra Végrehajt gombot a futtatáshoz. A Kutools AI Aide feldolgozza kérését AI segítségével, és az eredményeket közvetlenül az Excelben küldi vissza.


Bontsa ki minden szó első betűjét a cellából a felhasználó által definiált funkcióval

Az egyes szavak első betűinek kinyerése egy cellából olyan feladat, amely nagymértékben optimalizálható az Excel felhasználói függvényének (UDF) használatával. Ez a rész bemutatja, hogyan hozhat létre és használhat UDF-et a feladat hatékony végrehajtásához.

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablak.

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. Ezután mentse és zárja be ezt a kódot, lépjen vissza a munkalapra, és írja be ezt a képletet = GetFirstLetters (A2) egy üres cellába. Ezután húzza a kitöltő fogantyút azokra a cellákra, amelyekben alkalmazni szeretné ezt a képletet. És az összes első betűt kivonták a szavak sorozatából, lásd a képernyőképet:


Kapcsolódó cikkek:

  • Az első vagy utolsó két vagy n szó kinyerése a szöveges karakterláncból
  • Ha rendelkezik szöveges karakterláncokkal, amelyeket szóközzel elválasztanak, és most ki akarja vonni az első vagy utolsó három vagy n szót a cellaértékből, hogy a következő képernyőképet kapja. Ebben a cikkben bemutatok néhány képletet az első vagy utolsó két vagy n szó kivonására az Excel szöveges karakterláncából.
  • Szöveg kivonatolása csak szóköz vagy vessző előtt/után
  • Ha ki akarja vonni a szöveget a szóköz előtt vagy után a listából az alábbiak szerint, van egy jó módja annak, hogy elkészítse? Hadd mondjak el néhány trükkös módszert a szöveg kibontására szóköz előtt vagy után csak az Excelben.
  • E-mail cím kibontása a szöveges karakterláncból
  • Amikor néhány e-mail címet importál a Webhelyről az Excel munkalapra, ott mindig nem releváns szöveg található, de most csak a tiszta e-mail címeket szeretné kivonni a szöveges karakterláncból (lásd a következő képernyőképeket). Hogyan tudná gyorsan megszerezni csak az e-mail címeket a cellaszövegből?

A legjobb irodai hatékonyságnövelő eszközök

🤖 Kutools AI Aide: Forradalmasítsa az adatelemzést a következők alapján: Intelligens végrehajtás   |  Kód létrehozása  |  Hozzon létre egyéni képleteket  |  Adatok elemzése és diagramok létrehozása  |  A Kutools funkciók meghívása...
Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

Leírás


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
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