Բաց թողնել հիմնական բովանդակությունը

Ինչպե՞ս բջիջից հանել յուրաքանչյուր բառի առաջին տառը:

Պատկերացրեք, որ ձեր աշխատաթերթում ունեք երկրների անունների ցուցակ և ցանկանում եք հանել այս անունների յուրաքանչյուր բառի առաջին տառը: Excel-ը չի ապահովում բջջի յուրաքանչյուր բառի սկզբնական տառերը հանելու ուղղակի հնարավորություն: Այնուամենայնիվ, ես կներկայացնեմ մի քանի գործնական մեթոդներ այս խնդիրը արդյունավետորեն իրականացնելու համար՝ գործընթացը դարձնելով պարզ և արդյունավետ:


Բջջից հանեք յուրաքանչյուր բառի առաջին տառը բանաձևով

Բջիջում յուրաքանչյուր բառի առաջին տառը ստանալու համար ձեզ կարող է օգնել զանգվածի հետևյալ բանաձևը.

1. Խնդրում ենք պատճենել հետևյալ բանաձևը դատարկ բջիջի մեջ, որտեղ ցանկանում եք ստանալ արդյունքը, այնուհետև սեղմեք Ctrl + Shift + Մուտք ստեղները միասին ՝ առաջին արդյունքը ստանալու համար:

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

2. Հաջորդը քաշեք բանաձևը ներքև՝ մյուս բջիջները լրացնելու համար: Այս գործողությունը ավտոմատ կերպով կհանի յուրաքանչյուր բջջի յուրաքանչյուր բառի առաջին տառը միանգամից: Տես սքրինշոթը.

Այս բանաձևի բացատրությունը.
  • SUBSTITUTE (A2," "," ")Այս ֆունկցիան A2 բջիջի տեքստի յուրաքանչյուր բացատ փոխարինում է . Սա արդյունավետորեն առանձնացնում է տեքստի յուրաքանչյուր բառ այս XML թեգերով: Օրինակ, եթե A2-ը պարունակում է «Բարև աշխարհ», բանաձևի այս մասը այն վերածում է «Բարև աշխարհ»:
  • " "&...&" ": Այս մասը փաթաթում է SUBSTITUTE ֆունկցիայի արդյունքը սկզբում և վերջում: Շարունակելով օրինակը՝ տողը այժմ դառնում է Hello World ՝ ձևավորելով վավեր XML կառուցվածք, որտեղ յուրաքանչյուր բառ կցվում է պիտակների մեջ:
  • FILTERXML (...,"//b")FILTERXML-ն օգտագործվում է նախորդ քայլերում ստեղծված XML տողը վերլուծելու համար: XPath հարցումը //b ընտրում է բոլոր տարրերը պիտակների մեջ, այսինքն՝ բնօրինակ տողի յուրաքանչյուր բառ: Օգտագործելով մեր օրինակը՝ FILTERXML-ը կվերադարձնի երկու տարր ունեցող զանգված՝ «Բարև» և «Աշխարհ»:
  • ՁԱԽ (...,1)LEFT ֆունկցիան այնուհետև կիրառվում է FILTERXML-ի կողմից վերադարձված զանգվածի յուրաքանչյուր տարրի վրա՝ հանելով յուրաքանչյուր բառի առաջին տառը: Օրինակում դա կհանգեցնի «H» և «W»:
  • CONCAT (...)Վերջապես, CONCAT ֆունկցիան միավորում է զանգվածի բոլոր տարրերը մեկ տողի մեջ: Մեր «Բարև աշխարհ» օրինակի համար այն պետք է միացներ «H» և «W»՝ «HW» արտադրելու համար:

Քաղեք յուրաքանչյուր բառի առաջին տառը Բջջից Kutools AI Aide-ով

Բջջում արագ հանեք յուրաքանչյուր բառի առաջին տառը Kutools AI օգնական. Բարդ բանաձևերի կարիք չկա; AI օգնականը ավտոմատացնում է առաջադրանքը ձեզ համար՝ դարձնելով տվյալների մշակումը պարզ և արդյունավետ: Հեշտացրեք ձեր Excel-ի աշխատանքային հոսքը և հեշտացրեք ձեր աշխատանքը: Փորձիր Kutools AI օգնական և փորձեք խելացի Excel գործառնություններ:

ՆշումՍա օգտագործելու համար Kutools AI օգնական of Excel- ի համար նախատեսված գործիքներ, խնդրում եմ ներբեռնեք և տեղադրեք Kutools Excel-ի համար առաջին.

Excel- ի համար Kutools- ը տեղադրելուց հետո սեղմեք Kutools AI > AI օգնական բացելու համար Kutools AI օգնական պատուհան:

  1. Ընտրեք տվյալների ցանկը, ապա մուտքագրեք ձեր պահանջը զրույցի վանդակում և սեղմեք ուղարկել կոճակը կամ սեղմել Մտնել հարց ուղարկելու բանալին;
  2. Վերլուծելուց հետո սեղմեք Կատարել կոճակ գործելու համար: Kutools AI Aide-ը կմշակի ձեր հարցումը AI-ի միջոցով և արդյունքները կվերադարձնի անմիջապես Excel-ում:


Բջջից քաղեք յուրաքանչյուր բառի առաջին տառը օգտագործողի կողմից սահմանված գործառույթով

Բջջից յուրաքանչյուր բառի առաջին տառը հանելը խնդիր է, որը կարող է մեծապես օպտիմիզացվել՝ օգտագործելով Excel-ում օգտագործողի կողմից սահմանված գործառույթը (UDF): Այս բաժինը ուսումնասիրում է, թե ինչպես ստեղծել և օգտագործել UDF՝ այս առաջադրանքն արդյունավետորեն կատարելու համար:

1, Պահեք պահեք ALT + F11 բացել ստեղները Microsoft Visual Basic հավելվածների համար պատուհան.

2: Սեղմեք Տեղադրել > Մոդուլներ, և տեղադրեք հետևյալ կոդը Մոդուլի պատուհան.

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. Այնուհետև պահպանեք և փակեք այս կոդը, հետ գնացեք աշխատաթերթը և մուտքագրեք այս բանաձևը = GetFirstLetters (A2) դատարկ բջիջի մեջ: Եվ այնուհետև քաշեք լրացման բռնակը դեպի այն բջիջները, որոնք ցանկանում եք կիրառել այս բանաձևը: Եվ բոլոր առաջին տառերը դուրս են բերվել բառերի շարքից, տես սքրինշոթը.


Առնչվող հոդվածներ քանակը:

  • Տեքստի տողից հանիր առաջին կամ վերջին երկու կամ n բառը
  • Եթե ​​ունեք տեքստի տողերի ցուցակ, որոնք բաժանված են տարածությամբ, և այժմ, ապա բջջային արժեքից ցանկանում եք արդյունահանել առաջին կամ վերջին երեք կամ n բառերը `հետևյալ սքրինշոթ արդյունքը ստանալու համար: Այս հոդվածում ես կներկայացնեմ մի քանի բանաձևեր, Excel- ում տեքստի տողից առաջին կամ վերջին երկու կամ n բառերը հանելու համար:
  • Տեքստը հանեք միայն բացատից առաջ/հետո կամ ստորակետից առաջ
  • Երբ ուզում եք տեքստը դուրս բերել ցուցակից տարածությունից առաջ կամ հետո, ինչպես ցույց է տրված ստորև, արդյո՞ք ունեք դրա կատարման լավ միջոց: Թույլ տվեք պատմել ձեզ միայն Excel- ում տարածությունից առաջ կամ հետո տեքստ քաղելու որոշ հնարքներ:
  • Քաղեք էլփոստի հասցեն տեքստային տողից
  • Երբ որոշ էլփոստի հասցեներ եք ներմուծում կայքէջը Excel աշխատաթերթ, այն միշտ պարունակում է անկապ տեքստ, բայց այժմ դուք պարզապես ցանկանում եք մաքուր էլ. Փոստի հասցեները դուրս բերել տեքստի տողից (տե՛ս հետևյալ նկարները): Ինչպե՞ս կարող էիք արագորեն միայն էլփոստի հասցեները ստանալ բջջային տեքստից:
  • Արտահանեք տողը երկու տարբեր նիշերի միջև
  • Եթե ​​ունեք Excel- ի տողի ցուցակ, որը ձեզ հարկավոր է դուրս բերել տողի մի մասը երկու նիշի միջև, ինչպես ցույց է տրված ստորև նշված էկրանի նկարը, ինչպե՞ս կարգավորել այն հնարավորինս արագ: Այստեղ ես ներկայացնում եմ որոշ մեթոդներ այս աշխատանքը լուծելու վերաբերյալ:

Գրասենյակի արտադրողականության լավագույն գործիքները

🤖 Kutools AI օգնականՀեղափոխություն կատարել տվյալների վերլուծության հիման վրա՝ Խելացի կատարում   |  Ստեղծեք ծածկագիր  |  Ստեղծեք հատուկ բանաձևեր  |  Վերլուծել տվյալները և ստեղծել գծապատկերներ  |  Invoke Kutools-ի գործառույթները...
Հանրաճանաչ հատկություններ: Գտեք, ընդգծեք կամ նույնականացրեք կրկնօրինակները   |  Deleteնջել դատարկ շարքերը   |  Միավորել սյունակները կամ բջիջները՝ առանց տվյալների կորստի   |   Կլոր առանց բանաձևի ...
Super Փնտրել: Բազմաթիվ չափանիշների VLookup    Բազմակի արժեք VLookup  |   VLookup բազմաթիվ թերթերում   |   Fuzzy Փնտրել ....
Ընդլայնված բացվող ցուցակ: Արագ ստեղծեք բացվող ցուցակը   |  Կախված բացվող ցուցակ   |  Բազմակի ընտրություն Drop Down ցուցակ ....
Սյունակի կառավարիչ: Ավելացրեք որոշակի քանակությամբ սյունակներ  |  Տեղափոխել սյունակները  |  Փոխարկել թաքնված սյունակների տեսանելիության կարգավիճակը  |  Համեմատեք միջակայքերը և սյունակները ...
Առանձնահատկություններ: Ցանցի կենտրոնացում   |  Դիզայնի տեսք   |   Մեծ Formula Bar    Աշխատանքային գրքույկի և թերթիկների կառավարիչ   |  Ռեսուրսների գրադարան (Ավտոմատ տեքստ)   |  Ամսաթիվ ընտրող   |  Միավորել աշխատանքային թերթերը   |  Գաղտնագրել/գաղտնազերծել բջիջները    Ուղարկեք նամակներ ըստ ցանկի   |  Սուպեր զտիչ   |   Հատուկ զտիչ (զտել թավ/շեղ/շեղված...) ...
Լավագույն 15 գործիքների հավաքածու12 Տեքստ Գործիքներ (Ավելացրեք տեքստ, Հեռացնել նիշերը, ...)   |   50+ Աղյուսակ Տեսակներ (Գանտի աղյուսակը, ...)   |   40+ Գործնական Բանաձեւեր (Հաշվարկել տարիքը ՝ ելնելով ծննդյան տարեդարձից, ...)   |   19 միացում Գործիքներ (Տեղադրեք QR կոդ, Տեղադրեք նկար ուղուց, ...)   |   12 Փոխարկում Գործիքներ (Բառեր համարներ, Արտարժույթի փոխակերպումը, ...)   |   7 Միաձուլում և պառակտում Գործիքներ (Ընդլայնված կոմբինատ տողեր, Պառակտված բջիջներ, ...)   |   ... եւ ավելին

Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար:  Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...

Նկարագրություն


Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
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