Có thể bạn quan tâm: Cách Sử Dụng Phần Mềm Excel Trên Máy Tính
Giới thiệu
Trong công việc quản trị dữ liệu, ta thường phải xử lý các bảng tính chứa thông tin được nhập vào một cách lộn xộn – chẳng hạn như danh sách tên, địa chỉ, số điện thoại hay các trường dữ liệu được kết hợp trong một ô duy nhất. Việc tách một ô thành nhiều ô trong Excel là một kỹ năng cốt lõi giúp bạn làm sạch dữ liệu, chuẩn hóa và sẵn sàng cho các bước phân tích tiếp theo. Đừng lo lắng, ngay từ phiên bản Excel 2007 trở đi, Microsoft đã cung cấp nhiều công cụ và hàm mạnh mẽ để thực hiện công việc này một cách nhanh chóng và chính xác.
Bài viết này sẽ đi sâu vào các phương pháp phổ biến nhất để tách ô trong Excel, từ những thao tác thủ công đơn giản, dùng tính năng “Text to Columns” (Ch opinion text) cho tới những công thức nâng cao, Flash Fill, Power Query, thậm chí là viết macro VBA. Bạn sẽ học được cách lựa chọn phương pháp phù hợp tùy theo tình huống cụ thể, cùng với những mẹo nhỏ để tránh những lỗi thường gặp. Hãy cùng khám phá!
Có thể bạn quan tâm: Cách Sử Dụng Các Hàm Excel Trong Kế Toán
1. Tách ô bằng “Text to Columns” – Phương pháp truyền thống
1.1 Khi nào dùng “Text to Columns”?
- Khi dữ liệu trong một ô được phân cách bởi dấu phẩy, dấu chấm phẩy, dấu cách, dấu gạch ngang, hoặc bất kỳ ký tự đặc biệt nào.
- Khi bạn muốn tách dữ liệu thành nhiều cột một cách nhanh chóng mà không cần viết công thức.
- Khi dữ liệu của bạn có cấu trúc cố định và không thay đổi thường xuyên.
1.2 Các bước thực hiện
- Chọn vùng dữ liệu: Bấm vào ô đầu tiên hoặc chọn toàn bộ cột chứa dữ liệu cần tách.
- Vào menu “Data”: Tại thanh Ribbon, chọn tab
Data. - Nhấn “Text to Columns”: Bạn sẽ thấy một wizard xuất hiện.
- Chọn kiểu phân tách:
- Delimited (được phân tách bởi ký tự đặc biệt). Thường được dùng cho dữ liệu có dấu phẩy, dấu cách, dấu gạch ngang, v.v.
- Fixed Width (độ rộng cố định). Dùng khiザー độ dài của mỗi phần trong ô luôn giống nhau.
- Cấu hình các delimiter (nếu chọn Delimited): Đánh dấu vào các ô tương ứng với ký tự phân tách. Bạn có thể xem trước dữ liệu trong ô “Data preview”.
- Định dạng cột: Chọn kiểu dữ liệu cho từng cột (General, Text, Date, etc). Nếu không chắc, để mặc định General.
- Xong: Nhấn Finish. Excel sẽ tách dữ liệu ngay trong cùng vùng, ghi đè lên dữ liệu đã có.
1.3 Ví dụ thực tế
Giả sử bạn có dữ liệu trong cột A:
| A |
|---|
| Nguyễn Văn A, 123 Đường ABC, TP.HCM |
| Trần Thị B, 456 Đường XYZ, Hà Nội |
Bạn muốn tách thành ba cột: Tên, Địa chỉ, Thành phố.
- Bước 1: Chọn cột A (hoặc vùng A1:A2).
- Bước 2:
Data>Text to Columns. - Bước 3: Chọn
Delimited>Next. - Bước 4: Chọn
CommavàSpace(để tách tên và địa chỉ). Nếu cần tách thành123 Đường ABCvàTP.HCM, bạn có thể lặp lại quá trình với dấu,hoặcSpace.
Kết quả sẽ là:
| A | B | C |
|---|---|---|
| Nguyễn Văn A | 123 Đường ABC | TP.HCM |
| Trần Thị B | 456 Đường XYZ | Hà Nội |
1.4 Lưu ý khi dùng “Text to Columns”
- Dữ liệu gốc: Nếu bạn quan trọng giữ lại dữ liệu gốc, hãy sao chép cột trước khi tách.
- Ký tự đặc biệt: Excel khớp chính xác, vì vậy nếu tồn tại khoảng trắng thừa hoặc dấu câu khác, hãy kiểm tra kỹ.
- Cột bị ghi đè-get: Nếu dữ liệu gốc đã có dữ liệu trong cột kế tiếp, Excel sẽ chuyển trống. Đảm bảo không ghi đè dữ liệu quan trọng.
Có thể bạn quan tâm: Cách Sắp Xếp Giá Trị Tăng Dần Trong Excel
2. Sử dụng công thức – Phương pháp linh hoạt
2.1 Các hàm cơ bản
- LEFT(text, num_chars) – Trả về số ký tự từ đầu.
- RIGHT(text, num_chars) – Trả về số ký tự từ cuối.
- MID(text, start_num, num_chars) – Trả về đoạn ký tự từ vị trí bắt đầu.
- FIND(find_text, within_text, start_num) – Tìm vị trí xuất hiện của chuỗi ký tự.
- LEN(text) – Độ dài của chuỗi.
Kết hợp các hàm này, bạn có thể tách dữ liệu theo nhiều cách khác nhau.
2.2 Cách tách tên và địa chỉ bằng công thức
Giả sử ô A1 chứa Nguyễn Văn A, 123 Đường ABC, TP.HCM.
- Tách Tên:
=LEFT(A1, FIND(",", A1)-1) FINDtrả về vị trí dấu phẩy.LEFTprender ký tự trước dấu phẩy.- Tách Địa chỉ:
=TRIM(MID(A1, FIND(",", A1)+1, FIND(",", A1, FIND(",", A1)+1)-FIND(",", A1)-1)) MIDlấy đoạn giữa hai dấu phẩy.TRIMloại bỏ khoảng trắng thừa.- Tách Thành phố:
=RIGHT(A1, LEN(A1)-FIND("@", SUBSTITUTE(A1, ",", "@", LEN(A1)-LEN(SUBSTITUTE(A1, ",", "")))) - Dùng
SUBSTITUTEthay dấu phẩy cuối cùng bằng ký tự@để tìm vị trí cuối cùng.
2.3 Tách theo chiều ngang (cột)
Nếu dữ liệu cần tách thành nhiều cột theo chiều ngang, bạn có thể dùng công thức INDEX kết hợp với TRANSPOSE.
Ví dụ: Ô A1 chứa Apple, Banana, Cherry.
- Cột 1:
=TRIM(INDEX(SPLIT(A1, ","), 1, 1))– Tuy nhiên Excel không có hàm SPLIT, nên dùngMID/FINDhoặcTEXTSPLIT(Excel 365). - Cột 2:
=TRIM(INDEX(TEXTSPLIT(A1, ","), 1, 2)) - Cột 3:
=TRIM(INDEX(TEXTSPLIT(A1, ","), 1, 3))
Lưu ý: Hàm TEXTSPLIT chỉ có trong Excel 365/Excel 2026. Nếu bạn dùng phiên bản cũ, cần kết hợp MID/FIND.
2.4 Tách theo chiều dọc (hàng)
Để chuyển dữ liệu horizontal thành vertical, dùng TRANSPOSE.
Giả sử cột A chứa dữ liệu 1,2,3,4.
- B1:
=TRANSPOSE(TEXTSPLIT(A1, ",")) - Kết quả sẽ là một mảng nằm dọc trong các ô B1, B2, B3, B4.
3. Flash Fill – Giải pháp “tự động nhận dạng”
Flash Fill là một tính năng mạnh mẽ trong Excel 2026 trở đi. Khi bạn nhập một mẫu dữ liệu tùy chỉnh, Excel sẽ tự động nhận dạng quy tắc và thực hiện cho các ô còn lại.
3.1 Cách sử dụng
- Nhập dữ liệu mẫu: Trong cột B (bên cạnh dữ liệu gốc), nhập một phần dữ liệu mà bạn muốn tách. Ví dụ, nếu ô A1 chứa
Nguyễn Văn A, 123 Đường ABC, TP.HCM, bạn nhập vào B1Nguyễn Văn A. - Bắt đầu Flash Fill: Nhấn
Ctrl + Ehoặc vào tabData>Flash Fill. Excel sẽ tự động điền các giá trị tương tự vào cột B dựa trên quy tắc bạn đã nhập. - Lặp lại: Tương tự, tạo cột C cho địa chỉ, cột D cho thành phố, và kích hoạt Flash Fill cho từng cột.
3.2 Khi nào Flash Fill hữu ích?
- Khi dữ liệu có quy tắc rõ ràng và dễ nhận dạng.
- Khi bạn không muốn viết công thức phức tạp.
- Khi làm việc với dữ liệu mẫu nhỏ hoặc trung bình, vì Flash Fill có thể không hoạt động tốt với dữ liệu lớn.
3.3 Hạn chế

Có thể bạn quan tâm: Cách Tách Cột Họ Và Tên Trong Excel 2007: Hướng Dẫn Chi Tiết Và Các Phương Pháp Thực Hành
- Flash Fill chỉ hoạt động nếu Excel nhận ra quy tắc. Nếu dữ liệu không đồng nhất, Flash Fill sẽ không đưa ra kết quả chính xác.
- Không thể lưu lại quy tắc; bạn phải kích hoạt lại mỗi lần mở file.
4. Power Query – Phân tách dữ liệu chuyên nghiệp
Power Query là một công cụ mạnh mẽ để trích xuất, biến đổi và tải dữ liệu (ETL). Khi tách dữ liệu, Power Query cung cấp nhiều tùy chọn linh hoạt, bao gồm cả việc tách theo ký tự, theo chiều ngang/đông, và thậm chí tách dữ liệu thành nhiều bảng.
4.1 Mở Power Query
Data>Get & Transform Data>From Table/Range.- Nếu dữ liệu chưa ở dạng Table, Excel sẽ hỏi “Create Table”. Đánh dấu
My table has headersnếu có. şey.
4.2 Sử dụng “Split Column”
- Chọn cột: Ví dụ cột A chứa dữ liệu tách.
- Đi tới tab “Transform”.
- Nhấn “Split Column” > “By Delimiter”.
- Chọn delimiter (ví dụ
Comma,Space,Custom). - Chọn “At each occurrence” để tách thành nhiều cột.
- Hoặc “Split Column” > “By Number of Characters” nếu độ dài cố định.
4.3 Thêm bước tách theo ký tự đặc biệt
- Nếu cần tách nhiều lần, bạn có thể áp dụng “Split Column” nhiều lần hoặc dùng “Custom Column” để viết M code (ngôn ngữ của Power Query).
4.4 Tải dữ liệu trở lại Excel
- Khi đã tách xong, nhấn
Close & Load. dữ liệu sẽ xuất hiện dưới dạng Table trong sheet mới hoặc trong cùng sheet.
4.5 Ưu điểm của Power Query
- Không ghi đè dữ liệu gốc: Dữ liệu gốc vẫn được giữ nguyên.
- Tự động cập nhật: Khi dữ liệu gốc thay đổi, bạn chỉ cần refresh.
- Khả năng mở rộng: Có thể kết nối tới nguồn dữ liệu khác nhau (CSV, Web, SQL, etc.).
- Giao diện trực quan: Không cần viết công thức phức tạp.
5. VBA – Tự động hoá tách ô nâng cao
5.1 Khi nào cần dùng VBA?
- Khi phải thực hiện tách dữ liệu liên tục trên nhiều bảng và cột với quy tắc phức tạp.
- Khi muốn tách dữ liệu một cách linh hoạt hơn, ví dụ tách theo nhiều ký tự đặc biệt đồng thời giữ nguyên dữ liệu gốc.
- Khi muốn tạo macro tách dữ liệu và lưu kết quả vào một sheet mới.
5.2 Mẫu macro cơ bản
Sub SplitCell() Dim ws As Worksheet Dim rng As Range Dim cell As Range Dim arr As Variant Dim i As Long Set ws = ActiveSheet ' Giả sử dữ liệu nằm trong cột A từ A2 đến A100 Set rng = ws.Range("A2:A100") 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 + 1).Value = Trim(arr(i)) Next i End If Next cell
End Sub
- Macro này sẽ tách dữ liệu trong cột A thành nhiều cột bên phải, dựa trên dấu phẩy.
Trimloại bỏ khoảng trắng thừa.
5.3 Các bước thực hiện
- Nhấn
Alt + F11để mở Visual Basic Editor. - Vào
Insert>Module. - Dán macro vào cửa sổ Module.
- Quay lại Excel, nhấn
Alt + F8, chọnSplitCellvà july.
5.4 Tùy chỉnh macro
- Đổi dấu phân tách:
Split(cell.Value, ",")→Split(cell.Value, "|"). - Thêm điều kiện: Xử lý những ô trống, hoặc tách theo nhiều ký tự.
- Ghi dữ liệu vào sheet mới: Tạo một sheet mới, dán dữ liệu vào đó.
6. Các mẹo nhỏ khi tách dữ liệu
| Tình huống | Mẹo |
|---|---|
| Dữ liệu có dấu phẩy trong nội dung (ví dụ địa chỉ “123, Đường ABC”) | Sử dụng dấu “;” làm delimiter thay vì “,” hoặc tách theo vị trí cuối cùng của dấu phẩy. |
| Dữ liệu có khoảng trắng thừa | Sử dụng TRIM trong công thức hoặc Flash Fill. |
| Dữ liệu có độ dài không đồng đều | Dùng Power Query để tách theo “Delimiter” với tùy chọn “At each occurrence”. |
| Dữ liệu cần tách thành nhiều cột nhưng mỗi dòng có số phần khác nhau | Dùng VBA: kiểm tra độ dài của mảng trả về sau Split và tạo cột tương ứng. |
| Dữ liệu cần tách vào một cột mới mà không ghi đè dữ liệu cũ | Trước khi dùng “Text to Columns”, sao chép cột gốc vào một sheet khác. |
7. Khi nào nên chọn phương pháp nào?
| Phương pháp | Ưu điểm | Nhược điểm | Khi nào dùng |
|---|---|---|---|
| Text to Columns | Đơn giản, nhanh, không cần công thức | Ghi đè dữ liệu gốc, hạn chế trong trường hợp phức tạp | Dữ liệu có delimiter rõ ràng, thao tác một lần |
| Công thức | Linh hoạt, giữ nguyên dữ liệu gốc | Cần viết công thức, khó bảo trì | Dữ liệu thay đổi thường, cần tái sử dụng |
| Flash Fill | Tự động, không viết công thức | Không hoạt động với dữ liệu không đồng nhất | Dữ liệu mẫu, thao tác nhanh |
| Power Query | Dữ liệu sạch, tự động cập nhật | Cần học giao diện, không trực tiếp trong sheet | Dữ liệu lớn, nguồn nhiều, cần tái sử dụng |
| VBA | Tự động hoá, tùy chỉnh cao | Cần biết lập trình | Tách liên tục, quy tắc phức tạp |
8. Kết luận
Tách một ô thành nhiều ô trong Excel không chỉ là thao tác cơ bản mà còn là chìa khóa giúp დაამ dữ liệu trở nên sạch sẽ, chuẩn hóa và sẵn sàng cho các bước phân tích. Tùy theo quy mô, độ phức tạp của dữ liệu và nhu cầu tự động hoá, bạn có thể lựa chọn một trong nhiều phương pháp:
- Text to Columns cho thao tác nhanh và đơn giản.
- Công thức cho tính linh hoạt và khả năng tái sử dụng.
- Flash Fill cho những trường hợp mẫu dữ liệu rõ ràng.
- Power Query cho quy trình ETL chuyên nghiệp, tự động hóa và mở rộng.
- VBA khi cần tự động hoá hoàn toàn và tùy biến sâu.
Hãy thử áp dụng những kỹ thuật này vào dữ liệu thực tế của bạn, và bạn sẽ thấy công việc quản trị dữ liệu trở nên nhẹ nhàng, nhanh chóng hơn bao giờ hết. Chúc bạn thành công và tràn đầy năng lượng trong mọi dự án xử lý dữ liệu!

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ẻ.
