Hàm Tách Chữ Trong Excel: Hướng Dẫn Chi Tiết, Mẹo Hay Và Ứng Dụng Thực Tế

Mở đầu

Trong môi trường làm việc hiện đại, Excel không chỉ là một công cụ tính toán đơn thuần mà còn là một nền tảng mạnh mẽ để xử lý, phân tích và biến đổi dữ liệu. Một trong những nhu cầu phổ biến nhất của người dùng Excel là tách chữ (hoặc tách dữ liệu) từ một ô chứa nhiều thông tin thành các phần riêng biệt. Việc này giúp chúng ta:

  • Sắp xếp dữ liệu theo từng cột, dễ dàng lọc, sắp xếp và thống kê.
  • Chuẩn hoá dữ liệu để phù hợp với các hệ thống quản lý khác (ERP, CRM, …).
  • Tự động hoá các quy trình nhập liệu, giảm thiểu sai sót và tăng năng suất.

Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ cơ bản đến nâng cao, về các hàm tách chữ trong Excel, kèm theo ví dụ thực tế, mẹo hay và một số lưu ý quan trọng. Nội dung được chia thành các phần sau:

  1. Giới thiệu các hàm tách chữ cơ bản: LEFT, RIGHT, MID, LEN, FIND, SEARCH.
  2. Sử dụng hàm TEXTSPLIT (Excel 365) và FILTERXML (Excel 2026+).
  3. Kết hợp hàm TRIM, SUBSTITUTE, REPT để xử lý các trường hợp đặc biệt.
  4. Tách dữ liệu dựa trên dấu phân cách (comma, space, dash, …) bằng công thức mảng động.
  5. Sử dụng Power Query để tách chữ nhanh chóng và linh hoạt.
  6. Ví dụ thực tế: tách họ tên, địa chỉ, số điện thoại, email, mã sản phẩm.
  7. Các lỗi thường gặp và cách khắc phục.
  8. Tổng kết và đề xuất các nguồn học thêm.

Hãy cùng đi sâu vào từng phần để nắm vững kỹ năng tách chữ trong Excel, giúp công việc của bạn trở nên gọn gàng và hiệu quả hơn.

1. Các hàm tách chữ cơ bản trong Excel

1.1. Hàm LEFT và RIGHT

  • Cú pháp: LEFT(text, num_chars) – Trích xuất num_chars ký tự từ bên trái của chuỗi text.
  • Cú pháp: RIGHT(text, num_chars) – Trích xuất num_chars ký tự từ bên phải của chuỗi text.

Ví dụ:
Giả sử ô A2 chứa "Nguyễn Văn A".

  • =LEFT(A2, 6) → "Nguyễn" (lấy 6 ký tự đầu).
  • =RIGHT(A2, 1) → "A" (lấy ký tự cuối cùng).

1.2. Hàm MID

  • Cú pháp: MID(text, start_num, num_chars) – Trích xuất num_chars ký tự bắt đầu từ vị trí start_num.

Ví dụ:
=MID(A2, 8, 3) → "Văn" (bắt đầu từ ký tự thứ 8, lấy 3 ký tự).

1.3. Hàm LEN

  • Cú pháp: LEN(text) – Trả về độ dài (số ký tự) của chuỗi.

Ví dụ:
=LEN(A2) → 12 (độ dài của "Nguyễn Văn A").

1.4. Hàm FIND và SEARCH

  • Cú pháp: FIND(find_text, within_text, start_num) – Tìm vị trí của find_text trong within_text (phân biệt chữ hoa/thường).
  • Cú pháp: SEARCH(find_text, within_text, start_num) – Tương tự FIND nhưng không phân biệt chữ hoa/thường.

Ví dụ:
=FIND(" ", A2) → 7 (vị trí của dấu cách đầu tiên).
=SEARCH("văn", A2) → 8 (không phân biệt chữ hoa/thường).

1.5. Kết hợp các hàm để tách họ, tên, tên đệm

Giả sử ô A2 chứa "Nguyễn Văn A" (họ – tên đệm – tên). Ta muốn tách:

  • Họ: =LEFT(A2, FIND(" ", A2)-1) → "Nguyễn".
  • Tên: =RIGHT(A2, LEN(A2) - FIND("@", SUBSTITUTE(A2, " ", "@", LEN(A2)-LEN(SUBSTITUTE(A2, " ", "")))) ) → "A" (phức tạp hơn, sẽ giải thích chi tiết trong phần 1.6).
  • Tên đệm: =MID(A2, FIND(" ", A2)+1, FIND("@", SUBSTITUTE(A2, " ", "@", 2)) - FIND(" ", A2)-1) → "Văn".

Những công thức trên cho thấy cách sử dụng hàm lặp lại SUBSTITUTE để xác định vị trí dấu cách thứ hai, từ đó tách tên đệm.

1.6. Sử dụng SUBSTITUTE để xác định dấu cách thứ N

Công thức chung:

=FIND("@", SUBSTITUTE(A2, " ", "@", N))

Trong đó N là số thứ tự của dấu cách muốn tìm. Ví dụ, để lấy vị trí dấu cách thứ hai:

=FIND("@", SUBSTITUTE(A2, " ", "@", 2))

Sau khi có vị trí, chúng ta có thể dùng LEFT, MID, RIGHT để tách các phần mong muốn.

2. Hàm TEXTSPLIT (Excel 365) – Tách chuỗi nhanh chóng

2.1. Đặc điểm nổi bật

  • Được giới thiệu trong Excel 365 (Office 2026 trở lên).
  • Cho phép tách chuỗi thành mảng dựa trên một hoặc nhiều ký tự phân cách.
  • Hỗ trợ tách theo hàng hoặc cột, và có thể bỏ qua các giá trị trống.

2.2. Cú pháp

TEXTSPLIT(text, col_delimiter, row_delimiter, ignore_empty, match_mode, pad_with)
  • text: chuỗi cần tách.
  • col_delimiter: ký tự hoặc mảng ký tự phân cách cột (ví dụ: “,”).
  • row_delimiter: ký tự hoặc mảng ký tự phân cách hàng (ví dụ: CHAR(10) – xuống dòng).
  • ignore_empty: TRUE/FALSE – bỏ qua các ô trống.
  • match_mode: 0 – phân cách chuẩn, 1 – không phân biệt chữ hoa/thường.
  • pad_with: giá trị thay thế cho các ô thiếu.

2.3. Ví dụ thực tế

Dữ liệu: A2 = "Apple, Banana, Cherry, Date"

  • Công thức: =TEXTSPLIT(A2, ", ")
  • Kết quả (các ô B2:E2): Apple | Banana | Cherry | Date.

Tách cả hàng và cột:
Nếu A2 chứa "John;Doe|30|New York" và muốn tách theo | và ;:

=TEXTSPLIT(A2, "|", ";")

Kết quả sẽ là một mảng 2×2:

John30
DoeNew York

2.4. Khi nào nên dùng TEXTSPLIT?

  • Khi dữ liệu được chuẩn hoá và có dấu phân cách cố định.
  • Khi bạn muốn tránh công thức phức tạp và có sẵn Office 365.
  • Khi cần tách đồng thời nhiều cột và đổ kết quả ra một vùng.

3. Sử dụng FILTERXML để tách dữ liệu (Excel 2026 trở lên)

3.1. Nguyên tắc hoạt động

FILTERXML cho phép trích xuất dữ liệu từ một chuỗi XML dựa trên XPath. Khi kết hợp với CONCATENATE hoặc TEXTJOIN, ta có thể biến chuỗi có dấu phân cách thành một chuỗi XML tạm thời, sau đó dùng FILTERXML để tách.

3.2. Cú pháp

FILTERXML(xml, xpath)
  • xml: chuỗi XML hợp lệ.
  • xpath: biểu thức XPath để chọn phần tử.

3.3. Ví dụ: tách danh sách bằng dấu phẩy

Hàm Tách Chữ Trong Excel
Hàm Tách Chữ Trong Excel

Giả sử A2 = "Red,Green,Blue,Yellow".

  1. Chuyển thành XML:
    excel ="<root><item>" & SUBSTITUTE(A2, ",", "</item><item>") & "</item></root>"
    Kết quả: <root><item>Red</item><item>Green</item><item>Blue</item><item>Yellow</item></root>

  2. Dùng FILTERXML để lấy mảng:
    excel =FILTERXML("<root><item>" & SUBSTITUTE(A2, ",", "</item><item>") & "</item></root>", "//item")
    Công thức này trả về một mảng chứa các màu sắc, có thể đổ ra các ô liền kề.

3.4. Ưu nhược điểm

  • Ưu điểm: Không cần Office 365, có thể dùng trong Excel 2026/2026.
  • Nhược điểm: Yêu cầu chuỗi XML hợp lệ, công thức hơi dài, không hỗ trợ trực tiếp các ký tự đặc biệt như &, <, > (cần encode).

4. Công thức mảng động (Dynamic Array) để tách theo dấu phân cách

Với Excel 365, mọi công thức có thể trả về mảng động mà không cần nhấn Ctrl+Shift+Enter. Kết hợp SEQUENCE, LEN, MID, TRIM và FILTER giúp tách bất kỳ chuỗi nào.

4.1. Công thức chung

Giả sử A2 chứa "abc;def;ghi;jkl" và dấu phân cách là ;.

=TRANSPOSE(FILTERXML("<t><s>" & SUBSTITUTE(A2, ";", "</s><s>") & "</s></t>", "//s"))

Hoặc dùng TEXTSPLIT (nếu có):

=TEXTSPLIT(A2, ";")

Nếu không có TEXTSPLIT, một cách không dùng VBA:

=LET( txt, A2, delim, ";", n, LEN(txt)-LEN(SUBSTITUTE(txt, delim, ""))+1, seq, SEQUENCE(n), startPos, 1+LEN(delim) (seq-1) + SUMPRODUCT(--(MID(txt, SEQUENCE(LEN(txt)),1)=delim)(SEQUENCE(LEN(txt))<seqLEN(txt))), lenPart, IF(seq=n, LEN(txt)-startPos+1, FIND(delim, txt, startPos)-startPos), MID(txt, startPos, lenPart)
)

Công thức trên:

  1. Đếm số phần tử (n).
  2. Tạo dãy số 1…n (seq).
  3. Xác định vị trí bắt đầu của mỗi phần (startPos).
  4. Tính độ dài của mỗi phần (lenPart).
  5. Trích xuất bằng MID.

4.2. Ứng dụng thực tế

  • Tách số điện thoại: "0123-456-789" → dùng TEXTSPLIT với "-" hoặc công thức MID + FIND.
  • Tách địa chỉ: "Số 12, Đường ABC, Quận 1, TP.HCM" → tách bằng ", ".

5. Power Query – Giải pháp mạnh mẽ cho việc tách dữ liệu hàng loạt

Power Query (Get & Transform) là công cụ ETL (Extract, Transform, Load) tích hợp trong Excel, cho phép xử lý dữ liệu từ nhiều nguồn, bao gồm tách chuỗi.

5.1. Các bước cơ bản

  1. Chọn dữ liệu → Data → From Table/Range.
  2. Trong Power Query Editor, chọn cột chứa chuỗi cần tách.
  3. Chọn Split Column → By Delimiter.
  4. Chọn dấu phân cách (Comma, Space, Custom…).
  5. Chọn Split at: Each occurrence of the delimiter (mỗi lần xuất hiện) hoặc Left-most/Right-most.
  6. Nhấn OK, xem kết quả.
  7. Nhấn Close & Load để đưa dữ liệu trở lại Excel.

5.2. Lợi thế của Power Query

  • Xử lý hàng nghìn, hàng triệu bản ghi nhanh chóng.
  • Lưu lại các bước (Query) để tái sử dụng khi dữ liệu cập nhật.
  • Tách đa cấp: có thể tách lần 1 theo dấu ,, lần 2 theo dấu - trên cùng một cột.
  • Xử lý lỗi: bỏ qua các giá trị rỗng, chuẩn hoá ký tự.

5.3. Ví dụ: Tách địa chỉ

Dữ liệu gốc:

Địa chỉ
12/3A, Đường Lê Lợi, Quận 1, TP.HCM
45B, Đường Trần Hưng Đạo, Quận 5, TP.HCM
  • Bước 1: Split by , → tạo 4 cột: Số nhà, Đường, Quận, Thành phố.
  • Bước 2: Dùng Trim (Home → Transform → Trim) để loại bỏ khoảng trắng thừa.
  • Bước 3: Đổi tên cột cho dễ hiểu, load lại.

6. Các ví dụ thực tế thường gặp

6.1. Tách họ và tên (đối với tên đầy đủ)

Giải pháp 1: Dùng TEXTSPLIT (nếu có).

=TEXTSPLIT(A2, " ", , TRUE)

Kết quả: mảng các phần, ví dụ: {"Nguyễn","Văn","A"}.
Sau đó, dùng INDEX để lấy:

  • Họ: =INDEX(TEXTSPLIT(A2, " "), 1) → "Nguyễn".
  • Tên: =INDEX(TEXTSPLIT(A2, " "), COUNTA(TEXTSPLIT(A2, " "))) → "A".
  • Tên đệm: =TEXTJOIN(" ", TRUE, INDEX(TEXTSPLIT(A2, " "), SEQUENCE(COUNTA(TEXTSPLIT(A2, " "))-2,1,2))).

Giải pháp 2: Dùng hàm truyền thống.

=LEFT(A2, FIND(" ", A2)-1) // Họ
=RIGHT(A2, LEN(A2)-FIND("@", SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) // Tên

6.2. Tách mã sản phẩm dạng “ABC-123-XYZ”

=TEXTSPLIT(A2, "-")

Hoặc:

=LEFT(A2, FIND("-",A2)-1) // Phần 1: ABC
=MID(A2, FIND("-",A2)+1, FIND("-",A2, FIND("-",A2)+1)-FIND("-",A2)-1) // Phần 2: 123
=RIGHT(A2, LEN(A2)-FIND("@", SUBSTITUTE(A2,"-","@",2))) // Phần 3: XYZ

6.3. Tách email thành tên người dùng và miền

Giả sử B2 = "john.doe@example.com".

  • Tên người dùng: =LEFT(B2, FIND("@", B2)-1) → "john.doe".
  • Miền: =RIGHT(B2, LEN(B2)-FIND("@", B2)) → "example.com".

Nếu muốn tách tên người dùng thành họ và tên (giả sử dấu . phân cách):

=TEXTSPLIT(LEFT(B2, FIND("@", B2)-1), ".")

Kết quả: {"john","doe"}.

6.4. Tách số điện thoại dạng “(+84) 123 456 789”

=TEXTSPLIT(A2, " ")

Kết quả: {"(+84)","123","456","789"}.
Bạn có thể loại bỏ dấu ngoặc bằng SUBSTITUTE:

=SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2," "){1}, "(", ""), ")", "")

Kết quả: "84" (mã quốc gia).

7. Các lỗi thường gặp và cách khắc phục

LỗiNguyên nhânGiải pháp
#VALUE!Dấu phân cách không tồn tại trong chuỗi, hàm FIND trả về lỗi.Kiểm tra bằng IFERROR(FIND(...),0) hoặc dùng IF(ISNUMBER(FIND(...)),…, "").
#SPILL!Kết quả mảng bị chặn bởi ô đã có dữ liệu.Xóa hoặc di chuyển ô chặn, hoặc dùng @ để ép trả về giá trị đơn.
#NAME?Hàm không tồn tại trong phiên bản Excel (ví dụ TEXTSPLIT trên Excel 2026).Nâng cấp lên Office 365 hoặc dùng các công thức thay thế (FILTERXML, Power Query).
Ký tự đặc biệt (ampersand, dấu <, >) gây lỗi XML trong FILTERXML.XML không hợp lệ.Thay thế các ký tự bằng ENCODEURL hoặc SUBSTITUTE để escape (& → &amp;, < → &lt;, > → &gt;).
Khoảng trắng thừaDữ liệu nhập không đồng nhất, có dấu cách đầu/cuối.Dùng TRIM để loại bỏ khoảng trắng, hoặc CLEAN để loại bỏ ký tự không hiển thị.

8. Tổng kết

Việc tách chữ trong Excel không còn là một công việc khó khăn hay tốn thời gian nếu bạn nắm vững các hàm cơ bản và biết cách kết hợp chúng. Từ các hàm truyền thống (LEFT, RIGHT, MID, FIND, SEARCH) đến các công cụ hiện đại như TEXTSPLIT, FILTERXML, Power Query, mỗi phương pháp đều có ưu điểm riêng phù hợp với từng môi trường làm việc và phiên bản Excel.

Khi nào nên dùng gì?

Nhu cầuCông cụ đề xuất
Dữ liệu đơn giản, có một dấu phân cách cố định, dùng Excel 365TEXTSPLIT
Dữ liệu có nhiều mức phân cách (dấu phẩy, dấu gạch ngang…) hoặc cần đối tượng mảngFILTERXML + SUBSTITUTE
Cần tự động hoá, lưu lại quy trình cho dữ liệu lớnPower Query
Phiên bản cũ (Excel 2026‑2026)Kết hợp LEFT, MID, RIGHT, FIND, SUBSTITUTE
Xử lý khoảng trắng, ký tự đặc biệtTRIM, CLEAN, SUBSTITUTE

Cuối cùng, thực hành là chìa khóa. Hãy thử áp dụng những công thức trên vào các bộ dữ liệu thực tế của bạn: danh sách khách hàng, mã sản phẩm, địa chỉ, email… Khi đã nắm vững, bạn sẽ cảm thấy Excel trở nên “thông minh” hơn, giúp giảm thiểu công việc nhập liệu thủ công và tăng độ chính xác trong phân tích dữ liệu.

Chúc bạn thành công và luôn tìm được giải pháp tối ưu cho mọi nhu cầu tách chữ trong Excel!

⚠️
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