메인 컨텐츠로 가기

셀에서 각 단어의 첫 글자를 추출하는 방법은 무엇입니까?

워크시트에 국가 이름 목록이 있고 이 이름에 있는 각 단어의 첫 글자를 추출한다고 가정해 보겠습니다. Excel은 셀에 있는 각 단어의 첫 글자를 추출하는 직접적인 기능을 제공하지 않습니다. 그러나 이 작업을 효율적으로 수행하여 프로세스를 간단하고 효과적으로 만드는 몇 가지 실용적인 방법을 소개하겠습니다.


수식을 사용하여 셀에서 각 단어의 첫 글자를 추출합니다.

셀 내 각 단어의 첫 글자를 얻으려면 다음 배열 수식이 도움이 될 수 있습니다.

1. 결과를 얻으려는 빈 셀에 다음 수식을 복사한 후 다음을 누르십시오. Ctrl + Shift + Enter 첫 번째 결과를 얻으려면 키를 함께 사용하십시오.

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

2. 그런 다음 수식을 아래로 당겨 다른 셀을 채웁니다. 이 작업을 수행하면 각 셀에 있는 각 단어의 첫 글자를 한 번에 자동으로 추출합니다. 스크린샷 보기:

이 공식의 설명:
  • 대체(A2," "," "):이 함수는 A2 셀의 텍스트에 있는 각 공백을 로 바꿉니다. 이렇게 하면 이러한 XML 태그를 사용하여 텍스트의 각 단어를 효과적으로 구분할 수 있습니다. 예를 들어 A2에 "Hello World"가 포함된 경우 수식의 이 부분은 이를 "Hello World"로 바꿉니다.
  • " "&...&" ": SUBSTITUTE 함수의 결과를 시작과 끝으로 래핑하는 부분입니다. 예제를 계속하면 이제 문자열은 Hello World 가 되어 각 단어가 태그로 묶인 유효한 XML 구조를 형성합니다.
  • FILTERXML(...,"//b"): FILTERXML은 이전 단계에서 생성된 XML 문자열을 구문 분석하는 데 사용됩니다. XPath 쿼리 //b 는 태그 내의 모든 요소, 즉 원래 문자열의 각 단어를 선택합니다. 이 예를 사용하면 FILTERXML은 "Hello"와 "World"라는 두 요소가 포함된 배열을 반환합니다.
  • 왼쪽(...,1): 그런 다음 LEFT 함수가 FILTERXML에서 반환된 배열의 각 요소에 적용되어 각 단어의 첫 글자를 추출합니다. 이 예에서는 "H"와 "W"가 됩니다.
  • 연결(...): 마지막으로 CONCAT 함수는 배열의 모든 요소를 ​​단일 문자열로 연결합니다. "Hello World" 예에서는 "H"와 "W"를 연결하여 "HW"를 생성합니다.

Kutools AI Aide를 사용하여 셀에서 각 단어의 첫 글자를 추출합니다.

다음을 사용하여 셀에 있는 각 단어의 첫 글자를 빠르게 추출합니다. Kutools AI 보좌관. 복잡한 수식이 필요하지 않습니다. AI 도우미가 작업을 자동화하여 데이터 처리를 간단하고 효율적으로 만듭니다. Excel 워크플로를 간소화하고 작업을 더 쉽게 만드세요. 노력하다 Kutools AI 보좌관 스마트한 엑셀 작업을 경험해보세요!

주의 사항: 이것을 사용하려면 Kutools AI 보좌관 of Excel 용 Kutools, 제발 Excel 용 Kutools 다운로드 및 설치 먼저.

Excel 용 Kutools를 설치 한 후 Kutools AI > AI 보좌관 를 열려면 Kutools AI 보좌관 창유리:

  1. 데이터 목록을 선택한 후 채팅 상자에 요구사항을 입력하고 클릭하세요. 전송 버튼을 누르거나 누르십시오. 엔터 버튼 질문을 보내는 키;
  2. 분석 후 클릭 실행하다 버튼을 실행합니다. Kutools AI Aide는 AI를 사용하여 귀하의 요청을 처리하고 결과를 Excel로 직접 반환합니다.


사용자 정의 함수로 셀에서 각 단어의 첫 글자 추출

셀에서 각 단어의 첫 글자를 추출하는 작업은 Excel의 UDF(사용자 정의 함수)를 사용하면 크게 최적화할 수 있는 작업입니다. 이 섹션에서는 UDF를 생성하고 사용하여 이 작업을 효율적으로 수행하는 방법을 살펴봅니다.

1. 누르고 ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창.

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 단어 추출
  • 공백으로 구분 된 텍스트 문자열 목록이 있고 지금은 셀 값에서 처음 또는 마지막 XNUMX 개 또는 n 개의 단어를 추출하여 다음 스크린 샷 결과를 얻으려고합니다. 이 기사에서는 Excel의 텍스트 문자열에서 처음 또는 마지막 두 단어 또는 n 단어를 추출하는 몇 가지 수식을 소개합니다.
  • 텍스트 문자열에서 이메일 주소 추출
  • Website에서 Excel 워크 시트로 일부 이메일 주소를 가져 오면 항상 관련없는 텍스트가 포함되지만 이제는 텍스트 문자열에서 순수한 이메일 주소 만 추출하려고합니다 (다음 스크린 샷 참조). 어떻게 셀 텍스트에서만 이메일 주소를 빠르게 가져올 수 있습니까?
  • 서로 다른 두 문자 사이의 문자열 추출
  • 아래 스크린 샷에서 두 문자 사이의 문자열 부분을 추출 해야하는 Excel에 문자열 목록이 있다면 가능한 한 빨리 처리하는 방법은 무엇입니까? 여기서는이 일을 해결하는 몇 가지 방법을 소개합니다.

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, 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