Có thể bạn quan tâm: Cách Tô Màu Cột Ngày Chủ Nhật Trong Excel
Giới thiệu
Trong công việc chuyên nghiệp, quản lý dữ liệu thường xuyên đòi hỏi chúng ta phải xử lý các bảng tính có cấu trúc phức tạp. Một trong những thao tác cơ bản nhưng quan trọng nhất là “tách một ô thành nhiều ô” – hay còn gọi là “split cell” trong tiếng Anh. Dù bạn là người mới bắt đầu hay là chuyên gia, hiểu đúng cách tách ô sẽ giúp bạn tiết kiệm thời gian và tránh sai sót trong phân tích dữ liệu.
Trong bài viết này, chúng ta sẽ khám phá toàn bộ quy trình từ những phương pháp đơn giản nhất (Text to Columns) cho tới những kỹ thuật nâng cao (Power Query, VBA, công thức nâng cao). Mỗi phần kèm theo ví dụ thực tế, cách đặt điều kiện, lưu ý khi làm việc với dữ liệu lớn, và những mẹo “hacker” giúp bạn làm việc nhanh hơn, chính xác hơn.
Có thể bạn quan tâm: Cách Tính Điểm Trung Bình Môn Học Trong Excel
1. Tại sao “tách ô thành nhiều ô” lại quan trọng?
- Định dạng dữ liệu chuẩn – Khi nhập dữ liệu từ nguồn bên ngoài (CSV, web, email), thường có trường hợp dữ liệu gộp vào một ô, ví dụ: “John Doe, 29, 123 Main St.” Nếu không tách, bạn sẽ phải xử lý thủ công từng lần đều.
- Tính toán dễ dàng – Khi dữ liệu được chia thành các cột riêng biệt, bạn có thể áp dụng các công thức, PivotTable, hoặc biểu đồ mà không gặp trục trặc.
- Bảo mật và bảo trì – Dữ liệu chuẩn giúp tránh lỗi khi sao chép, dán, hoặc khi chia sẻ bảng tính với đồng nghiệp.
Có thể bạn quan tâm: Cách Tính Điểm Trung Bình Cả Năm Trong Excel: Hướng Dẫn Đầy Đủ Cho Các Bậc Giáo Viên Và Học Sinh
2. Phương pháp 1: Sử dụng “Text to Columns” (Chia văn bản)
2.1. Các bước thực hiện
- Chọn cột chứa dữ liệu cần tách – Ví dụ cột A chứa “Tên, Độ tuổi, Địa chỉ”.
- Vào tab
Data→Text to Columns. - Chọn loại dữ liệu:
- Delimited: Dữ liệu được phân tách bởi dấu chấm phẩy, dấu phẩy, tab, hoặc ký tự tùy chỉnh.
- Fixed width: Dữ liệu có độ rộng cột cố định.
- Xác định delimiter – Chọn dấu phẩy (
,) hoặc nhập ký tự tùy chỉnh. - Xem trước – Thử nghiệm xem dữ liệu đã được tách đúng chưa.
- Chọn định dạng cột – Thiết lập kiểu dữ liệu (General, Text, Date) cho từng cột.
- Hoàn thành – Nhấn
Finish.
2.2. Mẹo nâng cao
- Kết hợp với công thức SUBSTITUTE: Nếu dữ liệu có nhiều dấu phân cách lẫn nhau, bạn có thể chuẩn hóa chúng bằng công thức
=SUBSTITUTE(A1, " ", "")trước khi dùng Text to Columns. - Sử dụng
Flash Fill(Excel 2026 trở đi): Khi dữ liệu có quy luật, bạn có thể gợi ý Excel tự động tách bằng cách nhập một vài dòng mẫu và nhấnCtrl + E. - Tự động hoá bằng VBA: Khi phải tách hàng nghìn ô, viết macro sẽ tiết kiệm thời gian. Ví dụ:
vba Sub SplitByComma() Dim rng As Range Set rng = Selection rng.TextToColumns Destination:=rng, DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, _ Semicolon:=False, filenames:=False, _ Comma:=True, _ Space:=False, Other:=False End Sub
3. Phương pháp 2: Định dạng “Wrap Text” và “Column Width”
Đôi khi bạn muốn giữ dữ liệu trong một ô nhưng hiển thị nó trên nhiều dòng hoặc cột để dễ đọc. Mặc dù không thực sự “tách” ô, nhưng kỹ thuật này giúp cải thiện khả năng đọc và trích xuất dữ liệu.
3.1. Wrap Text
- Chọn ô.
- Vào tab
Home→Wrap Text. - Dữ liệu trong ô sẽ tự động xuống dòng khi vượt quá chiều rộng cột.
3.2. Định dạng cột
- AutoFit: Dbl-click dòng tiêu đề giữa hai cột để tự động điều chỉnh chiều rộng.
- Custom Width: Dùng
Format Cells→Column Widthđể đặt độ rộng cố định.
4. Phương pháp 3: Sử dụng công thức nâng cao (LEFT, RIGHT, MID, TEXTSPLIT)
4.1. Công thức LEFT, RIGHT, היתר
- LEFT(text, num_chars): Trả về số ký tự từ bên trái.
- RIGHT(text, num_chars): Trả về số ký tự từ bên phải.
- MID(text, start_num, num_chars): Trả về một đoạn văn bản.
Ví dụ:
| Ô A (gốc) | Công thức | Kết quả |
|---|---|---|
123-ABC-456 | =LEFT(A1, 3) | 123 |
123-ABC-456 | =MID(A1, 5, 3) | ABC |
123-ABC-456 | =RIGHT(A1, 3) | 456 |
4.2. Công thức TEXTSPLIT (Excel 365, 2026)
TEXTSPLIT(text, col_delimiter, row_delimiter, ignore_empty)
- col_delimiter: Dấu phân cách cột.
- row_delimiter: Dấu phân cách dòng (cho dữ liệu đa dòng).
Ví dụ:
=TEXTSPLIT(A1, ",", ";")
Nếu A1 = "John,Doe,29,123 Main St.;Jane,Doe,28,456 Elm St.", công thức sẽ tách thành 2 hàng và 4 cột.
4.3. Kết hợp FILTERXML (Excel wtedy)
Nếu dữ liệu có cấu trúc XML hoặc HTML, bạn có thể dùng FILTERXML để trích xuất.
=FILTERXML("<root><person name='John' age='29'/></root>", "//person/@name")
5. Phương pháp 4: Sử dụng Power Query (Get & TransformAlignment)
Power Query là công cụ mạnh mẽ để nhập, làm sạch, và chuyển đổi dữ liệu. Khi muốn tách ô thành nhiều cột, Power Query cho phép bạn thực hiện điều này một cách trực quan và có thể tái sử dụng.

Có thể bạn quan tâm: Cách Tô Màu Trong Excel Theo Nhiều Điều Kiện: Hướng Dẫn Chi Tiết Và Thực Hành
5.1. Bước đầu tiên: Tải dữ liệu vào Power Query
- Chọn vùng dữ liệu (hoặc cột).
- Vào tab
Data→From Table/Range. - Nếu dữ liệu chưa là bảng, Excel sẽ tạo bảng mới.
5.2. Sử dụng “Split Column”
- Trong Power Query Editor, chọn cột cần tách.
- Vào tab
Transform→Split Column→By Delimiter. - Chọn delimiter (ví dụ dấu phẩy) và số lần tách.
- Xác nhận và apply.
5.3. Lưu và tải lại
- Vào
Home→Close & Loadđể đưa dữ liệu trở lại Excel. - Khi dữ liệu mới được cập nhật, chỉ cần click
Refresh.
5.4. Trường hợp nâng cao
- Split by Number of Characters: Chọn “By Number of Characters” để tách theo độ dài cố định.
- Split by Rows: Tách theo số dòng, hữu ích khi dữ liệu có cấu trúc lặp lại.
6. Phương pháp 5: Macro VBA nâng cao
Với dữ liệu phức tạp hoặc quy trình lặp đi lặp lại, viết macro sẽ tự động hoá hoàn toàn quy trình. Dưới đây là một ví dụ macro tổng quát có thể tách dữ liệu theo dấu phẩy và colang.
Sub SplitCells() Dim rng As Range Dim cell As Range Dim data As Variant Dim arr() As String Dim i As Long ' Chọn vùng cần tách Set rng = Selection For Each cell In rng If InStr(cell.Value, ",") > 0 Then arr = Split(cell.Value, ",") For i = LBound(arr) To UBound(arr) cell.Offset(0, i).Value = Trim(arr(i)) Next i End If Next cell
End Sub
Lưu ý: Macro này sẽ ghi đè dữ liệu hiện có trong cột tiếp theo. Hãy backup dữ liệu trước khi chạy.
7. Các lỗi thường gặp và cách khắc phục
| Lỗi | Nguyên nhân | Giải pháp |
|---|---|---|
| Ô tách trống | Dữ liệu có dấu phân cách liên tiếp hoặc có ký tự đặc biệt | Dùng TRIM để loại bỏ khoảng trắng, hoặc dùng SUBSTITUTE để chuẩn hóa delimiter |
| Dữ liệu mất nguyên chuỗi | Sử dụng Text to Columns nhưng không chọn đúng delimiter | Kiểm tra lại delimiter, hoặc thử Flash Fill |
| Công thức trả về lỗi #VALUE! | Dữ liệu không phải là văn bản hoặc có ký tự đặc biệt | Sử dụng CLEAN và TRIM trước khi tách |
| Macro không chạy | Kích hoạt macro bị tắt trong Excel | Vào File → Options → Trust Center → Trust Center Settings → Macro Settings → Enable all macros |
| Power Query không nhận Axmed | Dữ liệu không phải là bảng, hoặc có lỗi định dạng | Chuyển đổi vùng dữ liệu thành bảng (Insert → Table) |
8. Hướng dẫn thực tế: Tách dữ liệu du lịch
Giả sử bạn có bảng dữ liệu khách hàng du lịch:
| A | B |
|---|---|
John Doe, 2026-07-15, 5 days, 3 nights, $1200 |
Bạn muốn tách thông tin thành các cột: Tên, Ngày khởi hành, Số ngày, Số đêm, Giá.
8.1. Bước 1: Sử dụng Text to Columns
- Chọn cột A.
- Vào
Data → Text to Columns. - Chọn
Delimited→Comma→Next. - Xem trước,
Finish.
Kết quả: 5 cột mới (A–E).
8.2. Bước 2: Xử lý dữ liệu
- Cột B: Chuyển đổi ngày thành định dạng
Date.excel =DATEVALUE(TRIM(B1)) - Cột C: Trích xuất số ngày.
excel =VALUE(LEFT(C1, FIND(" days", C1)-1)) - Cột D: Trích xuất số đêm.
excel =VALUE(LEFT(D1, FIND(" nights", D1)-1)) - Cột E: Trích xuất giá.
excel =VALUE(SUBSTITUTE(E1,"$",""))
8.3. Kết quả
| Tên | Ngày khởi hành | Số ngày | Số đêm | Giá |
|---|---|---|---|---|
| John Doe | 15/07/2026 | 5 | 3 | 1200 |
9. Khi nào nên dùng “tách ô” và khi nào nên dùng “định dạng ô”?
| Tình huống | Lựa chọn tốt nhất | Lý do |
|---|---|---|
| Dữ liệu nhập từ CSV/Excel file | Text to Columns hoặc Power Query | Định dạng chuẩn, ít sai sót |
| Dữ liệu nhập thủ công, có quy luật | Flash Fill, công thức | Tiết kiệm thời gian, không cần macro |
| Dữ liệu cần giữ nguyên nhưng hiển thị | Wrap Text + column width | Không làm thay đổi dữ liệu gốc |
| Định dạng dữ liệu đa dạng, có nhiều delimiter | Power Query | Mạnh mẽ, có thể tái sử dụng |
| Phân tích dữ liệu phức tạp, cần tính toán | Công thức nâng cao | Dễ dàng mở rộng, tự động cập nhật |
10. Kết luận
Tách ô thành nhiều ô trong Excel không chỉ là một thao tác đơn thuần. Qua các phương pháp từ “Text to Columns” đơn giản, “Flash Fill” thông minh, công thức linh hoạt, Power Query mạnh mẽ, cho tới macro VBA tùy chỉnh, bạn có thể chọn công cụ phù hợp với từng tình huống công việc. Khi dữ liệu được chuẩn hóa, việc phân tích, báo cáo, và chia sẻ dữ liệu trở nên dễ dàng, chính xác và nhanh chóng.
Hãy thử áp dụng những kỹ thuật trên trong công việc hàng ngày của bạn và cảm nhận sự khác biệt. Nếu bạn có câu hỏi hoặc muốn chia sẻ kinh nghiệm, đừng ngần ngại bình luận dưới bài viết. Chúc bạn thành công trong việc làm sạch dữ liệu và khai thác tiềm năng của Excel!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
