Dữ liệu trong Excel thường đến dưới dạng lộn xộn. Tên đầy đủ gộp chung một ô, địa chỉ email không tách ra được, hoặc dữ liệu từ tệp CSV bị nhồi nhét vào cột duy nhất. Công cụ Text to Columns giúp được phần nào, nhưng nó không phải là công thức nên bạn phải lặp lại thủ công mỗi khi dữ liệu thay đổi.
Hàm TEXTSPLIT trong Excel 2024 và Microsoft 365 giải quyết vấn đề này hoàn toàn. Thay vì nhấp chuột qua nhiều hộp thoại, bạn viết một công thức duy nhất tự động tách văn bản theo bất kỳ dấu phân cách nào. Kết quả cập nhật ngay lập tức khi dữ liệu nguồn thay đổi.

Cú pháp cơ bản của TEXTSPLIT
Hàm này có 6 tham số, nhưng chỉ 2 tham số đầu tiên là bắt buộc:
=TEXTSPLIT(văn_bản, dấu_phân_cách_cột, [dấu_phân_cách_hàng], [bỏ_qua_trống], [chế_độ_khớp], [giá_trị_điền])
Các tham số chính:
- văn_bản: Ô chứa chuỗi cần tách
- dấu_phân_cách_cột: Ký tự để tách theo chiều ngang
- dấu_phân_cách_hàng: Ký tự để tách theo chiều dọc (tùy chọn)
- bỏ_qua_trống: TRUE để bỏ qua ô trống, FALSE để giữ lại (mặc định FALSE)
- chế_độ_khớp: 0 phân biệt hoa thường (mặc định), 1 không phân biệt
- giá_trị_điền: Giá trị thay thế lỗi #N/A cho dữ liệu thiếu
Hàm TEXTSPLIT chỉ có sẵn trong Excel for Microsoft 365, Excel 2024 và Excel for the web. Nếu bạn dùng Excel 2021 hoặc cũ hơn, công thức này sẽ trả về lỗi #NAME?.
Tách họ tên thành cột riêng biệt
Trường hợp phổ biến nhất là tách tên đầy đủ thành họ và tên riêng. Giả sử ô A2 chứa “Nguyễn Văn An” và bạn muốn tách thành 3 cột.
Công thức:
=TEXTSPLIT(A2," ")
Kết quả tự động tràn sang 3 ô: “Nguyễn” trong B2, “Văn” trong C2, “An” trong D2. Khi bạn thay đổi nội dung A2, các ô B2:D2 cập nhật ngay lập tức mà không cần công thức bổ sung.
Điều quan trọng là Excel tự động nhận biết cần bao nhiêu cột. Nếu tên chỉ có 2 từ, kết quả chỉ tràn 2 ô. Nếu có tên đệm, tự động tràn 4 ô.
Lưu ý khi tách tên: Nếu danh sách có cả tên 2 từ và 3 từ, các hàng có ít từ hơn sẽ để trống ô cuối cùng. Điều này không gây lỗi, Excel chỉ đơn giản bỏ trống ô không có dữ liệu tương ứng.
Tách địa chỉ email thành tên và tên miền
Địa chỉ email thường có format “tê[email protected]” với dấu @ làm ranh giới tự nhiên. Bạn có thể tách thành 2 phần để phân loại hoặc phân tích.
Ví dụ với ô A2 chứa: [email protected]
Công thức:
=TEXTSPLIT(A2,"@")
Kết quả:
- B2: nguyen.van.an
- C2: company.vn
Để tách tiếp phần tên thành các từ riêng, áp dụng TEXTSPLIT lần thứ hai cho kết quả đầu tiên:
=TEXTSPLIT(B2,".")
Bây giờ bạn có “nguyen”, “van”, “an” trong 3 cột riêng biệt.
Sử dụng nhiều dấu phân cách cùng lúc
Dữ liệu thực tế thường không thống nhất. Một số dòng dùng dấu phẩy, số khác dùng dấu chấm phẩy hoặc dấu gạch ngang. TEXTSPLIT xử lý được tất cả trong một công thức.
Cú pháp cho nhiều dấu phân cách:
=TEXTSPLIT(A2,{",";"-";";"})
Dấu ngoặc nhọn {} bao các dấu phân cách, cách nhau bởi dấu chấm phẩy. Excel sẽ tách văn bản tại bất kỳ dấu nào trong danh sách.
Ví dụ thực tế: Ô A2: “Hà Nội,TP.HCM;Đà Nẵng-Cần Thơ”
Công thức trên tạo 4 ô riêng biệt: “Hà Nội”, “TP.HCM”, “Đà Nẵng”, “Cần Thơ”. Tất cả dấu phân cách khác nhau được xử lý đồng nhất.
Tính năng này đặc biệt hữu ích khi làm sạch dữ liệu từ nhiều nguồn khác nhau hoặc khi người nhập liệu không tuân thủ format cố định.
Xử lý ô trống với tham số bỏ_qua_trống
Dữ liệu đôi khi có các dấu phân cách liên tiếp mà không có giá trị ở giữa. Ví dụ: “Nguyễn,,Văn,,,An” với nhiều dấu phẩy thừa.
Hành vi mặc định:
=TEXTSPLIT(A2,",")
Tạo các ô trống tương ứng với mỗi dấu phẩy. Kết quả: “Nguyễn”, “”, “Văn”, “”, “”, “An”.
Để bỏ qua ô trống:
=TEXTSPLIT(A2,",",TRUE)
Hoặc dùng số 1 thay cho TRUE. Kết quả chỉ còn: “Nguyễn”, “Văn”, “An” mà không có ô trống.
Tham số này quan trọng khi làm việc với dữ liệu không đồng nhất. Nếu giữ ô trống, bạn biết chính xác vị trí thiếu dữ liệu. Nếu bỏ qua, kết quả gọn gàng hơn nhưng mất thông tin về cấu trúc gốc.
Tôi thường dùng TRUE khi tách danh sách từ khóa hoặc thẻ tag, nơi các khoảng trống không mang ý nghĩa. Với dữ liệu có cấu trúc như bảng giá hoặc thông tin khách hàng, tôi giữ FALSE để phát hiện dữ liệu thiếu.
Tách cả theo hàng và cột đồng thời
TEXTSPLIT không chỉ tách ngang mà còn tách dọc bằng tham số dấu_phân_cách_hàng. Điều này hữu ích khi xử lý văn bản có cấu trúc hai chiều.
Ví dụ: Ô A2 chứa: “Tên:Nguyễn Văn An|Tuổi:28|Địa chỉ:Hà Nội”
Mục tiêu là tách thành bảng với mỗi trường trên một hàng và giá trị ở cột thứ hai.
Công thức:
=TEXTSPLIT(A2,"::","|")
Dấu hai chấm tách cột (nhãn và giá trị), dấu gạch đứng tách hàng (các trường khác nhau).
Kết quả tạo bảng 3×2:
Tên Nguyễn Văn An
Tuổi 28
Địa chỉ Hà Nội
Cấu trúc này xuất hiện trong dữ liệu xuất từ cơ sở dữ liệu hoặc API trả về format đặc biệt.
Xử lý lỗi #N/A với tham số giá_trị_điền
Khi tách văn bản thành mảng hai chiều, một số hàng có thể thiếu cột so với hàng khác. Excel điền lỗi #N/A vào các ô thiếu để giữ cấu trúc mảng.
Ví dụ dữ liệu không đồng đều:
A2: "Sản phẩm:Laptop|Giá:15000000"
A3: "Sản phẩm:Chuột|Giá:|Màu:Đen"
Hàng đầu có 2 trường, hàng thứ hai có 3 trường nhưng giá trị Giá để trống.
Công thức thông thường:
=TEXTSPLIT(A2,"::","|")
Tạo lỗi #N/A ở vị trí thiếu dữ liệu. Để thay thế bằng giá trị khác:
Công thức cải tiến:
=TEXTSPLIT(A2,"::","|",,,"Không có")
Hoặc dùng dấu gạch ngang:
=TEXTSPLIT(A2,"::","|",,,""-"")
Bây giờ thay vì #N/A, ô trống hiển thị “Không có” hoặc “-“. Điều này làm cho bảng kết quả chuyên nghiệp hơn và tránh lỗi khi tính toán với dữ liệu đã tách.
Tách ngày tháng thành các thành phần
Ngày trong Excel là số, không phải văn bản. TEXTSPLIT yêu cầu văn bản, vì vậy cần chuyển đổi trước.
Ví dụ: Ô A2 chứa ngày 15/10/2025
Bước 1 – Chuyển ngày sang văn bản:
=TEXT(A2,"dd/mm/yyyy")
Bước 2 – Tách bằng TEXTSPLIT:
=TEXTSPLIT(TEXT(A2,"dd/mm/yyyy"),"/")
Kết quả: “15”, “10”, “2025” trong 3 ô riêng.
Cách này hữu ích khi cần phân tích theo tháng hoặc năm, hoặc khi xây dựng báo cáo động dựa trên các thành phần ngày tháng riêng lẻ.
Lưu ý format: Hàm TEXT chấp nhận nhiều format. Nếu muốn tách theo format khác:
- “dd-mm-yyyy” để dùng dấu gạch ngang
- “yyyy/mm/dd” để đổi thứ tự
- “mm/dd/yy” cho format Mỹ
Chỉ cần đảm bảo dấu phân cách trong TEXT khớp với tham số trong TEXTSPLIT.
So sánh TEXTSPLIT với Text to Columns
Text to Columns có trên tất cả phiên bản Excel, nhưng có những hạn chế quan trọng:
Hạn chế của Text to Columns:
- Không phải công thức, không tự động cập nhật
- Ghi đè dữ liệu gốc hoặc cần chọn vị trí đích thủ công
- Chỉ tách theo cột, không tách theo hàng
- Mỗi lần dữ liệu thay đổi phải chạy lại wizard
Ưu điểm của TEXTSPLIT:
- Là công thức động, tự động cập nhật khi nguồn thay đổi
- Giữ nguyên dữ liệu gốc, kết quả ở vị trí riêng
- Tách được cả hàng và cột
- Hỗ trợ nhiều dấu phân cách trong một công thức
- Xử lý được ô trống và lỗi #N/A
Khi tôi chuyển từ Text to Columns sang TEXTSPLIT cho báo cáo hàng tuần, thời gian cập nhật giảm từ 15 phút xuống còn 10 giây. Dữ liệu tự động làm mới mỗi khi mở tệp thay vì phải chạy lại wizard cho từng bảng.
Các tình huống thực tế khác
Tách mã sản phẩm: Format: “CAT-PROD-001-2024”
=TEXTSPLIT(A2,"-")
Kết quả: “CAT”, “PROD”, “001”, “2024” để phân loại và lọc.
Tách số điện thoại: Format: “0123.456.789” hoặc “0123-456-789”
=TEXTSPLIT(A2,{".","-"})
Xử lý được cả hai format.
Tách danh sách từ khóa: Format: “excel, google sheets, numbers, libreoffice”
=TEXTSPLIT(A2,", ",TRUE)
Tham số TRUE loại bỏ khoảng trắng thừa.
Kết hợp với các hàm khác
TEXTSPLIT mạnh mẽ hơn khi kết hợp với các hàm Excel khác.
Đếm số từ trong câu:
=COUNTA(TEXTSPLIT(A2," "))
Lấy từ cuối cùng:
=INDEX(TEXTSPLIT(A2," "),1,COUNTA(TEXTSPLIT(A2," ")))
Tách rồi nối lại với định dạng mới:
=TEXTJOIN("-",TRUE,TEXTSPLIT(A2," "))
Chuyển “Nguyễn Văn An” thành “Nguyễn-Văn-An”.
Lọc và giữ lại phần tử cụ thể:
=FILTER(TEXTSPLIT(A2,","),TEXTSPLIT(A2,",") <> "")
Loại bỏ các phần tử trống sau khi tách.
Kiểm tra phiên bản Excel của bạn
Không chắc Excel của bạn có TEXTSPLIT không? Nhập công thức đơn giản:
=TEXTSPLIT("test test"," ")
Nếu kết quả là 2 ô chứa “test”, bạn có hàm này. Nếu hiển thị #NAME?, phiên bản Excel của bạn chưa hỗ trợ.
Để kiểm tra phiên bản: Tệp > Tài khoản > Giới thiệu về Excel. Tìm dòng “Microsoft 365” hoặc “Excel 2024”. TEXTSPLIT yêu cầu Microsoft 365 phiên bản 2208 trở lên hoặc Excel 2024.
Excel for the web hỗ trợ đầy đủ TEXTSPLIT. Nếu phiên bản desktop chưa có, bạn có thể dùng Excel Online tại office.com miễn phí với tài khoản Microsoft.
Mẹo tối ưu hiệu suất
Với tệp lớn có hàng nghìn dòng, TEXTSPLIT có thể làm chậm tính toán. Một số mẹo:
Tắt tính toán tự động tạm thời: Công thức > Tùy chọn tính toán > Thủ công. Sau khi thiết lập công thức xong, bật lại Tự động.
Tránh TEXTSPLIT lồng nhau quá nhiều: Thay vì tách 3-4 lần liên tiếp, cân nhắc dùng Power Query cho xử lý phức tạp.
Sử dụng bảng có cấu trúc: Chèn > Bảng. Excel tối ưu tính toán với bảng tốt hơn phạm vi thông thường.
TEXTSPLIT hoạt động tốt nhất với dữ liệu dưới 10,000 dòng. Với tệp lớn hơn, công cụ Power Query cung cấp hiệu suất tốt hơn mặc dù học hỏi phức tạp hơn.
Những điều cần nhớ
TEXTSPLIT là công cụ mạnh để tách văn bản tự động trong Excel 2024 và Microsoft 365. Nó thay thế được Text to Columns với ưu điểm là công thức động, hỗ trợ nhiều dấu phân cách và tách được cả hai chiều. Hàm này tiết kiệm thời gian đáng kể cho những ai thường xuyên xử lý dữ liệu văn bản.
Các tham số tùy chọn như bỏ_qua_trống và giá_trị_điền cung cấp kiểm soát chi tiết về kết quả. Kết hợp với các hàm như TEXTJOIN, FILTER, INDEX mở rộng khả năng xử lý văn bản trong Excel.
Nếu bạn chưa có Excel 2024 hoặc Microsoft 365, Excel for the web cung cấp TEXTSPLIT miễn phí. Đối với các phiên bản cũ hơn, Text to Columns vẫn là lựa chọn duy nhất mặc dù thiếu tính linh hoạt.
