Bỏ qua nội dung chính

Làm thế nào để trích xuất chữ cái đầu tiên của mỗi từ từ ô?

Hãy tưởng tượng bạn có một danh sách tên quốc gia trong bảng tính của mình và bạn muốn trích xuất chữ cái đầu tiên của mỗi từ trong những tên này. Excel không cung cấp tính năng trực tiếp để trích xuất các chữ cái đầu của mỗi từ trong một ô. Tuy nhiên, tôi sẽ giới thiệu một số phương pháp thực tế để hoàn thành nhiệm vụ này một cách hiệu quả, giúp quá trình này trở nên đơn giản và hiệu quả.


Trích xuất chữ cái đầu tiên của mỗi từ trong Ô bằng công thức

Để lấy chữ cái đầu tiên của mỗi từ trong một ô, công thức mảng sau đây có thể giúp bạn.

1. Vui lòng sao chép công thức sau vào ô trống nơi bạn muốn nhận kết quả, sau đó nhấn Ctrl + Shift + Enter các phím với nhau để có kết quả đầu tiên.

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

2. Tiếp theo kéo công thức xuống để điền vào các ô còn lại. Hành động này sẽ tự động trích xuất tất cả chữ cái đầu tiên của mỗi từ trong mỗi ô cùng một lúc. Xem ảnh chụp màn hình:

Giải thích công thức này:
  • THAY THẾ(A2," "," "):Hàm này thay thế từng khoảng trắng trong văn bản ở ô A2 bằng . Điều này phân tách hiệu quả từng từ trong văn bản bằng các thẻ XML này. Ví dụ: nếu A2 chứa "Hello World", phần công thức này sẽ biến nó thành "Hello World".
  • " "&...&" ": Phần này bao bọc kết quả của hàm SUBSTITUTE ở đầu và cuối. Tiếp tục với ví dụ, chuỗi bây giờ trở thành Hello World , tạo thành cấu trúc XML hợp lệ trong đó mỗi từ được đặt trong các thẻ.
  • FILTERXML(...,"//b"): FILTERXML được sử dụng để phân tích chuỗi XML được tạo ở các bước trước. Truy vấn XPath //b chọn tất cả các phần tử bên trong các thẻ, tức là mỗi từ trong chuỗi gốc. Sử dụng ví dụ của chúng tôi, FILTERXML sẽ trả về một mảng có hai phần tử: "Xin chào" và "Thế giới".
  • TRÁI(...,1): Sau đó, hàm LEFT được áp dụng cho từng phần tử của mảng được FILTERXML trả về, trích xuất chữ cái đầu tiên của mỗi từ. Trong ví dụ, điều này sẽ dẫn đến "H" và "W".
  • CONCAT(...): Cuối cùng, hàm CONCAT nối tất cả các phần tử của mảng thành một chuỗi duy nhất. Đối với ví dụ "Hello World" của chúng tôi, nó sẽ ghép "H" và "W" để tạo ra "HW".

Trích xuất chữ cái đầu tiên của mỗi từ trong Ô bằng Kutools AI Aide

Trích xuất nhanh chữ cái đầu tiên của mỗi từ trong ô bằng Trợ lý AI của Kutools. Không cần công thức phức tạp; trợ lý AI sẽ tự động hóa công việc cho bạn, giúp việc xử lý dữ liệu trở nên đơn giản và hiệu quả. Hợp lý hóa quy trình làm việc Excel của bạn và làm cho công việc của bạn dễ dàng hơn. Thử Trợ lý AI của Kutools và trải nghiệm các thao tác Excel thông minh!

Chú thích: Để sử dụng cái này Trợ lý AI của Kutools of Kutools cho Excel, Xin vui lòng tải xuống và cài đặt Kutools cho Excel đầu tiên.

Sau khi cài đặt Kutools cho Excel, vui lòng nhấp vào Kutools AI > Trợ lý AI để mở Trợ lý AI của Kutools ngăn:

  1. Chọn danh sách dữ liệu, sau đó nhập yêu cầu của bạn vào hộp trò chuyện và nhấp vào Gửi nút hoặc bấm đăng ký hạng mục thi chìa khóa để gửi câu hỏi;
  2. Sau khi phân tích nhấn Thực hiện nút để chạy. Kutools AI Aide sẽ xử lý yêu cầu của bạn bằng AI và trả về kết quả trực tiếp trong Excel.


Trích xuất chữ cái đầu tiên của mỗi từ từ Ô có Chức năng do Người dùng Xác định

Trích xuất chữ cái đầu tiên của mỗi từ từ một ô là một tác vụ có thể được tối ưu hóa rất nhiều bằng cách sử dụng Hàm do người dùng xác định (UDF) trong Excel. Phần này khám phá cách tạo và sử dụng UDF để thực hiện hiệu quả tác vụ này.

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

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. Sau đó lưu và đóng mã này, quay lại bảng tính và nhập công thức này = GetFirstLetters (A2) vào ô trống. Sau đó, kéo núm điều khiển điền vào các ô mà bạn muốn áp dụng công thức này. Và tất cả các chữ cái đầu tiên đã được trích xuất từ ​​chuỗi từ, xem ảnh chụp màn hình:


Các bài liên quan:

  • Trích xuất hai hoặc n từ đầu tiên hoặc cuối cùng từ chuỗi văn bản
  • Nếu bạn có danh sách các chuỗi văn bản được phân tách bằng dấu cách và bây giờ, bạn muốn trích xuất ba hoặc n từ đầu tiên hoặc cuối cùng từ giá trị ô để nhận được kết quả ảnh chụp màn hình sau. Bài viết này, tôi sẽ giới thiệu một số công thức để trích xuất hai hoặc n từ đầu tiên hoặc cuối cùng từ chuỗi văn bản trong Excel.
  • Trích xuất văn bản trước/sau dấu cách hoặc chỉ dấu phẩy
  • Khi bạn muốn trích xuất văn bản trước hoặc sau khoảng trắng từ danh sách như hình dưới đây, bạn có cách nào tốt để thực hiện không? Hãy để tôi cho bạn biết một số cách thủ thuật để chỉ trích xuất văn bản trước hoặc sau dấu cách trong Excel.
  • Trích xuất địa chỉ email từ chuỗi văn bản
  • Khi bạn nhập một số địa chỉ email từ trang web sang trang tính Excel, luôn có văn bản không liên quan, nhưng bây giờ bạn chỉ muốn trích xuất địa chỉ email thuần túy từ chuỗi văn bản (xem ảnh chụp màn hình sau). Làm thế nào bạn có thể nhanh chóng chỉ lấy các địa chỉ email từ văn bản di động?
  • Trích xuất chuỗi giữa hai ký tự khác nhau
  • Nếu bạn có danh sách chuỗi trong Excel mà bạn cần trích xuất một phần chuỗi giữa hai ký tự từ ảnh chụp màn hình bên dưới, làm thế nào để xử lý nó nhanh nhất có thể? Sau đây, tôi giới thiệu một số phương pháp giải quyết công việc này.

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
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