Cách Lấy Ký Tự Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mở Đầu

Excel là một trong những công cụ xử lý dữ liệu mạnh mẽ và linh hoạt nhất hiện nay. Ngoài việc thực hiện các phép tính, phân tích dữ liệu, Excel còn cho phép người dùng thao tác trên chuỗi ký tự một cách hiệu quả. Việc lấy ký tự trong Excel là một nhu cầu phổ biến, đặc biệt khi bạn cần tách, cắt, hoặc trích xuất các phần cụ thể của một ô chứa văn bản. Bài viết này sẽ cung cấp cho bạn hướng dẫn chi tiết, từ các hàm cơ bản đến các kỹ thuật nâng cao, giúp bạn nắm vững cách lấy ký tự trong Excel một cách nhanh chóng và chính xác.

1. Tổng Quan Về Các Hàm Xử Lý Chuỗi Trong Excel

Trước khi đi sâu vào cách lấy ký tự, chúng ta cần nắm rõ các hàm cơ bản thường được sử dụng:

HàmMô tảCú pháp
LEFTLấy một số ký tự từ phía bên trái của chuỗiLEFT(text, num_chars)
RIGHTLấy một số ký tự từ phía bên phải của chuỗiRIGHT(text, num_chars)
MIDLấy một số ký tự bắt đầu từ vị trí bất kỳMID(text, start_num, num_chars)
LENĐộ dài của chuỗiLEN(text)
FINDTìm vị trí của một chuỗi con (không phân biệt chữ hoa/thường)FIND(find_text, within_text, start_num)
SEARCHTương tự FIND nhưng phân biệt chữ hoa/thườngSEARCH(find_text, within_text, start_num)
TRIMLoại bỏ khoảng trắng thừa ở đầu và cuốiTRIM(text)
SUBSTITUTEThay thế một chuỗi con bằng chuỗi khácSUBSTITUTE(text, old_text, new_text, instance_num)
TEXTJOINNối các chuỗi với một ký tự phân cáchTEXTJOIN(delimiter, ignore_empty, text1, text2, ...)

Những hàm trên là nền tảng cho việc lấy ký tự. Tùy thuộc vào yêu cầu cụ thể, chúng ta sẽ kết hợp các hàm này để đạt được kết quả mong muốn.

2. Lấy Ký Tự Từ Bên Trái Hoặc Bên Phải

2.1. Sử Dụng LEFT

Mục đích: Lấy một số ký tự đầu tiên của một chuỗi.

Công thức mẫu:

=LEFT(A2, 5) // Lấy 5 ký tự đầu tiên của ô A2

Ví dụ thực tế:
– Dữ liệu: A2 = "Sản phẩm ABC123"
– Công thức: =LEFT(A2, 8)
– Kết quả: Sản phẩ

Lưu ý: Nếu num_chars lớn hơn độ dài chuỗi, Excel sẽ trả về toàn bộ chuỗi.

2.2. Sử Dụng RIGHT

Mục đích: Lấy một số ký tự cuối cùng của một chuỗi.

Công thức mẫu:

=RIGHT(A2, 4) // Lấy 4 ký tự cuối cùng

Ví dụ thực tế:
– Dữ liệu: A2 = "Mã đơn hàng: DH00123"
– Công thức: =RIGHT(A2, 5)
– Kết quả: DH00123

3. Lấy Ký Tự Từ Vị Trí Trung Gian Với MID

3.1. Cú Pháp Cơ Bản

=MID(text, start_num, num_chars)
  • text: Chuỗi nguồn.
  • start_num: Vị trí bắt đầu (đánh số từ 1).
  • num_chars: Số ký tự cần lấy.

3.2. Ví Dụ Thực Tế

Tình huống: Từ một cột chứa mã sản phẩm dạng PROD-2026-001, ta muốn lấy phần số thứ tự 001.

  • Dữ liệu: A2 = "PROD-2026-001"
  • Công thức: =MID(A2, FIND("-", A2, FIND("-", A2)+1)+1, 3)
  • Giải thích:
  • FIND("-", A2) trả về vị trí dấu gạch ngang đầu tiên (5).
  • FIND("-", A2, FIND("-", A2)+1) trả về vị trí dấu gạch ngang thứ hai (10).
  • +1 để di chuyển tới ký tự sau dấu gạch ngang thứ hai (vị trí 11).
  • MID lấy 3 ký tự từ vị trí 11 → 001.

Kết quả: 001.

4. Xác Định Vị Trí Ký Tự Hoặc Chuỗi Con

Để lấy ký tự một cách linh hoạt, chúng ta thường cần biết vị trí của một ký tự hoặc chuỗi con trong ô nguồn. Hai hàm FIND và SEARCH là công cụ chính.

4.1. FIND vs SEARCH

Tiêu chíFINDSEARCH
Phân biệt chữ hoa/thườngKhôngCó
Hỗ trợ ký tự đại diện (, ?)KhôngKhông
Trả về lỗi nếu không tìm thấy#VALUE!#VALUE!

4.2. Ví Dụ: Lấy Tên Đầu Tiên Trong Họ và Tên

Dữ liệu: A2 = "Nguyễn Văn A"
Mục tiêu: Lấy họ (Nguyễn).

Công thức:

=LEFT(A2, FIND(" ", A2)-1)
  • FIND(" ", A2) trả về vị trí dấu cách đầu tiên (7).
  • Trừ 1 để không lấy dấu cách.
  • LEFT lấy 6 ký tự đầu → Nguyễn.

Lấy Tên Đệm (nếu có):

=MID(A2, FIND(" ", A2)+1, FIND(" ", A2, FIND(" ", A2)+1) - FIND(" ", A2)-1)
  • Tìm vị trí dấu cách đầu và thứ hai, sau đó dùng MID để lấy phần giữa.

5. Xử Lý Khi Chuỗi Có Độ Dài Biến Đổi

Trong thực tế, nhiều dữ liệu không có độ dài cố định. Vì vậy, chúng ta cần kết hợp các hàm để tự động tính toán.

5.1. Lấy Đuôi Email (Tên Miền)

Dữ liệu: A2 = "user@example.com"
Mục tiêu: Lấy phần sau ký tự @.

Công thức:

=RIGHT(A2, LEN(A2) - FIND("@", A2))
  • FIND("@", A2) trả về vị trí @ (5).
  • LEN(A2) trả về độ dài toàn bộ (16).
  • LEN - FIND cho số ký tự sau @ (11).
  • RIGHT lấy 11 ký tự cuối → example.com.

5.2. Lấy Mã Số Đầu Tiên Khi Có Nhiều Dấu Gạch

Dữ liệu: A2 = "INV-2026-001-XYZ"
Mục tiêu: Lấy 2026.

Công thức:

=MID(A2, FIND("-", A2)+1, FIND("-", A2, FIND("-", A2)+1) - FIND("-", A2) - 1)
  • Tìm dấu gạch đầu tiên và thứ hai, lấy phần giữa.

6. Kỹ Thuật Nâng Cao: Kết Hợp ARRAY và TEXTJOIN

Khi cần lấy nhiều ký tự hoặc tách chuỗi thành danh sách, hàm TEXTJOIN kết hợp với các công thức mảng (array formulas) sẽ rất hữu ích.

Cách Lấy Ký Tự Trong Excel
Cách Lấy Ký Tự Trong Excel

6.1. Tách Chuỗi Bằng Dấu Phẩy Thành Các Ô Riêng Lẻ

Giả sử A2 = "Apple, Banana, Cherry, Date" và muốn mỗi loại trái cây một ô.

Công thức mảng (Excel 365/2026):

=TRANSPOSE(FILTERXML("<t><s>" & SUBSTITUTE(A2, ", ", "</s><s>") & "</s></t>", "//s"))
  • SUBSTITUTE thay dấu phẩy bằng thẻ XML.
  • FILTERXML tách thành các phần tử.
  • TRANSPOSE đưa thành cột.

6.2. Kết Hợp TEXTJOIN Để Nối Các Ký Tự Đã Lấy

Nếu bạn muốn lấy 3 ký tự đầu và 2 ký tự cuối, rồi nối lại:

=TEXTJOIN("", TRUE, LEFT(A2,3), RIGHT(A2,2))
  • LEFT(A2,3) → 3 ký tự đầu.
  • RIGHT(A2,2) → 2 ký tự cuối.
  • TEXTJOIN nối chúng lại: ví dụ A2="ABCDEFG" → kết quả ABCFG.

7. Xử Lý Các Trường Hợp Thực Tế Thông Thường

7.1. Lấy Mã Số Đơn Hàng Khi Định Dạng “DH-XXXX-YY”

Bước 1: Xác định vị trí dấu gạch đầu tiên và thứ hai.

=FIND("-", A2) // vị trí dấu gạch đầu tiên
=FIND("-", A2, FIND("-", A2)+1) // vị trí dấu gạch thứ hai

Bước 2: Lấy phần giữa.

=MID(A2, FIND("-", A2)+1, FIND("-", A2, FIND("-", A2)+1) - FIND("-", A2)-1)

Kết quả: XXXX.

7.2. Lấy Số Điện Thoại Không Dấu Gạch

Dữ liệu: A2 = "(012) 345-6789"
Mục tiêu: 0123456789.

Công thức:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "(", ""), ")", ""), "-", "")
  • Loại bỏ các ký tự không cần thiết.

7.3. Tách Ngày, Tháng, Năm Từ Định Dạng “DD/MM/YYYY”

Dữ liệu: A2 = "24/06/2026"
Lấy Ngày:

=LEFT(A2, 2)

Lấy Tháng:

=MID(A2, 4, 2)

Lấy Năm:

=RIGHT(A2, 4)

Nếu ngày tháng năm có độ dài không cố định, dùng FIND để xác định vị trí dấu /.

8. Sử Dụng VBA Để Lấy Ký Tự Khi Công Thức Không Đủ

Đôi khi, công thức thông thường không đáp ứng được yêu cầu phức tạp (ví dụ: lấy ký tự dựa trên điều kiện động). Khi đó, VBA (Visual Basic for Applications) là giải pháp.

8.1. Hàm VBA Lấy Ký Tự Từ Vị Trí Động

Function GetCharByPos(txt As String, pos As Long) As String If pos > 0 And pos <= Len(txt) Then GetCharByPos = Mid(txt, pos, 1) Else GetCharByPos = "" End If
End Function

Cách dùng:

=GetCharByPos(A2, B2) // Lấy ký tự ở vị trí B2 của chuỗi A2

8.2. Hàm VBA Tách Nhiều Phần Dựa Trên Dấu Phân Cách

Function SplitByDelimiter(txt As String, delim As String, index As Long) As String Dim arr() As String arr = Split(txt, delim) If index >= 0 And index < UBound(arr) + 1 Then SplitByDelimiter = arr(index) Else SplitByDelimiter = "" End If
End Function

Cách dùng:

=SplitByDelimiter(A2, ",", 2) // Lấy phần thứ ba (đánh số 0) sau dấu phẩy

Lưu ý: Để sử dụng VBA, bạn cần mở Developer Tab → Visual Basic, tạo một Module mới và dán code vào. Sau đó lưu file dưới dạng .xlsm.

9. Kiểm Tra Lỗi Và Xử Lý Trường Hợp Không Tìm Thấy

Khi sử dụng FIND hoặc SEARCH, nếu ký tự không tồn tại, Excel sẽ trả về lỗi #VALUE!. Để tránh gián đoạn, chúng ta dùng IFERROR hoặc IFNA.

Ví dụ: Lấy phần sau dấu # nếu tồn tại, nếu không giữ nguyên giá trị.

=IFERROR(RIGHT(A2, LEN(A2) - FIND("#", A2)), A2)

Nếu không có #, hàm sẽ trả về toàn bộ ô A2.

10. Tổng Kết Và Một Số Mẹo Thực Tiễn

  1. Luôn xác định độ dài chuỗi bằng LEN trước khi dùng LEFT, RIGHT, MID để tránh lỗi.
  2. Kết hợp FIND/SEARCH với MID để lấy phần giữa một cách linh hoạt.
  3. Sử dụng SUBSTITUTE để loại bỏ ký tự không mong muốn trước khi trích xuất.
  4. TEXTJOIN và FILTERXML là công cụ mạnh mẽ cho việc tách và nối chuỗi trong các phiên bản Excel mới.
  5. VBA là giải pháp cuối cùng khi công thức không đáp ứng được yêu cầu phức tạp.
  6. Kiểm tra lỗi bằng IFERROR hoặc IFNA để làm cho bảng tính luôn ổn định.

11. Bài Tập Thực Hành

Bài tậpDữ liệu mẫuYêu cầuCông thức gợi ý
1A2 = "KH-2026-045"Lấy năm 2026=MID(A2, FIND("-", A2)+1, 4)
2A2 = "john.doe@example.com"Lấy tên người dùng (john.doe)=LEFT(A2, FIND("@", A2)-1)
3A2 = "123-456-7890"Lấy ba số cuối cùng (7890)=RIGHT(A2, 4)
4A2 = "Sản phẩm: Máy tính xách tay"Lấy từ sau dấu : và bỏ khoảng trắng đầu=TRIM(MID(A2, FIND(":", A2)+1, LEN(A2)))
5A2 = "08/12/2026"Đổi định dạng ngày thành 2026-12-08=DATE(RIGHT(A2,4), MID(A2,4,2), LEFT(A2,2)) (sau đó định dạng ô là yyyy-mm-dd)

Hãy tự thực hành các bài tập trên để củng cố kiến thức. Khi đã thành thạo, bạn sẽ thấy việc lấy ký tự trong Excel trở nên cực kỳ nhanh chóng và hiệu quả, giúp tiết kiệm thời gian trong công việc hàng ngày.

12. Kết Luận

Việc lấy ký tự trong Excel không chỉ là một thao tác đơn giản mà còn là một kỹ năng quan trọng trong việc xử lý dữ liệu. Bằng việc nắm vững các hàm LEFT, RIGHT, MID, FIND, SEARCH, LEN và biết cách kết hợp chúng một cách linh hoạt, bạn có thể giải quyết hầu hết các tình huống thực tế. Khi gặp những yêu cầu phức tạp hơn, hãy nhớ tới TEXTJOIN, FILTERXML, và thậm chí VBA để mở rộng khả năng của mình.

Hy vọng bài viết này đã cung cấp cho bạn một cái nhìn toàn diện và chi tiết về cách lấy ký tự trong Excel. Hãy áp dụng những kiến thức này vào công việc và dự án của mình, và đừng ngại thử nghiệm các công thức mới để tối ưu hoá quy trình xử lý dữ liệu. Chúc bạn thành công!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận