Note: The other languages of the website are Google-translated. Back to English

Hur extraherar jag första bokstaven i varje ord från cellen?

Antag att du har en lista över ländernas namn i ditt kalkylblad, och nu måste du extrahera den första bokstaven i varje ord i cellen enligt följande skärmdumpar. Normalt finns det ingen direkt funktion för att plocka upp den första bokstaven i varje ord i Excel. Men här kan jag prata om ett användbart sätt att lösa denna uppgift.

doc-extrakt-första-bokstav1

Extrahera första bokstaven i varje ord från Cell med användardefinierad funktion

 

Fliken Office Aktiverar flikredigering och surfning i Office, och gör ditt arbete mycket enklare ...
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
  • Återanvänd allt: Lägg till de mest använda eller komplexa formlerna, diagrammen och allt annat till dina favoriter och återanvänd dem snabbt i framtiden.
  • Mer än 20 textfunktioner: Extrahera nummer från textsträng; Extrahera eller ta bort en del av texterna; Konvertera siffror och valutor till engelska ord.
  • Sammanfoga verktyg: Flera arbetsböcker och ark till en; Slå ihop flera celler / rader / kolumner utan att förlora data; Slå samman duplicerade rader och summa.
  • Dela verktyg: Dela data i flera ark baserat på värde; En arbetsbok för flera Excel-, PDF- eller CSV-filer; En kolumn till flera kolumner.
  • Klistra över Dolda / filtrerade rader; Räkna och summa av bakgrundsfärg; Skicka personliga e-postmeddelanden till flera mottagare i bulk.
  • Superfilter: Skapa avancerade filterscheman och tillämpas på alla ark; Svart per vecka, dag, frekvens och mer; Filter med fetstil, formler, kommentarer ...
  • Mer än 300 kraftfulla funktioner; Fungerar med Office 2007-2021 och 365; Stöder alla språk; Enkel implementering i ditt företag eller organisation.

 


pil blå höger bubblaExtrahera första bokstaven i varje ord från Cell med användardefinierad funktion

 

 

I Excel kan du skapa en Användardefinierad funktion att extrahera de första bokstäverna i varje ord i en cell. Gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster. </ p>

Function GetFirstLetters(rng As Range) As String
'Update 20140325
    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. Spara och stäng sedan den här koden, gå tillbaka kalkylbladet och ange den här formeln = GetFirstLetters (A2) (A2 anger cellen som du vill extrahera den första bokstaven, du kan ändra den efter behov) till en tom cell. Se skärmdump:

doc-extrakt-första-bokstav1

4. Och tryck sedan på ange och välj cell B2 och dra sedan fyllningshandtaget till cellerna som du vill använda denna formel. Och alla de första bokstäverna har extraherats från ordserien, se skärmdump:

doc-extrakt-första-bokstav1


Relaterad artikel:

Hur extraherar jag första / sista / nte ordet från textsträng i Excel?

 


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten

 

 

Sortera kommentarer efter
Kommentarer (16)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill veta hur datum konverteras till text. till exempel 11.02.1998 som Eleven Februari Nineteen Ninety Eight
Denna kommentar minimerades av moderatoren på webbplatsen
Tack du är bäst
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket .. det fungerar .. u rocks
Denna kommentar minimerades av moderatoren på webbplatsen
Väldigt hjälpsam. Precis vad jag var ute efter.
Denna kommentar minimerades av moderatoren på webbplatsen
Vänligen inkludera denna del: Om du skapar en funktion som heter RABATT i en arbetsbok som heter Personal.xlsb och du anropar den funktionen från en annan arbetsbok, måste du skriva =personal.xlsb!discount(), inte bara =discount(). https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f
Denna kommentar minimerades av moderatoren på webbplatsen
Jag tror att den har en bugg, den tas automatiskt bort från modulen när arket är stängt, måste igen varje gång när det är öppet ark samma process som krävs, vänligen råd hur man sparar denna formel i Excel permanent.
Denna kommentar minimerades av moderatoren på webbplatsen
Spara excel som Excel Macro-Enablel-arbetsbok.
Denna kommentar minimerades av moderatoren på webbplatsen
Vill du ha tillgång till, kan du inte försörja dig?
Denna kommentar minimerades av moderatoren på webbplatsen
Denna kod är bra för upp till fem ord, där D20 är cellen med data.



=OM(ISERR(VÄNSTER($D$20,1)&MID($D$20,SÖK(" ",$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,SÖK(" ",$D$20,SÖK(" ",$D$20,SÖK(" ",$D$20,SÖK(" ",
$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)),
VÄNSTER($D$20,1)&MIDDEL($D$20,SÖK(" ",$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,SÖK(" ",$D$20,SÖK(" ",$D$20,SÖK(" ",$D$20,SÖK(" ",$D$20)+1)
+1)+1)+1,1))
Denna kommentar minimerades av moderatoren på webbplatsen
Det här är häftigt. En sådan tidssparare
Denna kommentar minimerades av moderatoren på webbplatsen
Varför ger detta mig de två första bokstäverna i varje ord?
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skapar man utrymme mellan bokstäverna?

Sydkorea= SK
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Gyawali
Om du vill lägga till utrymme för varje tecken, använd följande VBA-kod:
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


Efter att ha infogat koden och använd sedan denna formel: = GetFirstLetters (A2) för att få det resultat du behöver.
Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Undrar du hur man lägger till detta i den befintliga formeln jag har som fungerar för att ta över värdet från en cell i ett annat ark? Jag vill bara ta över det första tecknet i varje cell. Här är formeln

=OM(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D))=RAD(OriginalSubmission!D4),"",INDIRECT("OriginalSubmission!D5:"& "D"&(LOOKUP(2,1/(OriginalSubmission!D:D<>""),RAD(OriginalSubmission!D:D))))))
Denna kommentar minimerades av moderatoren på webbplatsen
Hej SARAH
Menar du att extrahera varje första tecken i celler från ett annat kalkylblad? Om så är fallet behöver du bara kopiera och klistra in koden i den här artikeln och sedan tillämpa den här formeln på ett annat ark.
=GetFirstLetters(OriginalSubmission!D4)


Anmärkningar: Originalinlämning är arknamnet som du vill extrahera tecken från.
Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Ett annat förslag om du använder Microsoft 365: =TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)) där källsträngen finns i B9.
Slå in funktionen UPPER för att tvinga fram versaler: =UPPER(TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)))
@Pradeep Gyawali -> lägg till mellanslag: =UPPER(TEXTJOIN(" ",,LEFT(TEXTSPLIT(D9," "),1)))
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL