Cách Tách Một Ô Thành Nhiều Ô Trong Excel

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á!

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

  1. 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.
  2. Vào menu “Data”: Tại thanh Ribbon, chọn tab Data.
  3. Nhấn “Text to Columns”: Bạn sẽ thấy một wizard xuất hiện.
  4. Chọn kiểu phân tách:
  5. 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.
  6. Fixed Width (độ rộng cố định). Dùng khiザー độ dài của mỗi phần trong ô luôn giống nhau.
  7. 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”.
  8. Đị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.
  9. 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 Comma và Space (để tách tên và địa chỉ). Nếu cần tách thành 123 Đường ABC và TP.HCM, bạn có thể lặp lại quá trình với dấu , hoặc Space.

Kết quả sẽ là:

ABC
Nguyễn Văn A123 Đường ABCTP.HCM
Trần Thị B456 Đường XYZHà 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.

2. Sử dụng công thức – Phương pháp linh hoạt

2.1 Các hàm cơ bản

  1. LEFT(text, num_chars) – Trả về số ký tự từ đầu.
  2. RIGHT(text, num_chars) – Trả về số ký tự từ cuối.
  3. MID(text, start_num, num_chars) – Trả về đoạn ký tự từ vị trí bắt đầu.
  4. FIND(find_text, within_text, start_num) – Tìm vị trí xuất hiện của chuỗi ký tự.
  5. 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)
  • FIND trả về vị trí dấu phẩy. LEFT prender 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))
  • MID lấy đoạn giữa hai dấu phẩy. TRIM loạ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 SUBSTITUTE thay 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ùng MID/FIND hoặc TEXTSPLIT (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

  1. 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 B1 Nguyễn Văn A.
  2. Bắt đầu Flash Fill: Nhấn Ctrl + E hoặc vào tab Data > 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.
  3. 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ách Tách Một Ô Thành Nhiều Ô Trong Excel
Cách Tách Một Ô Thành Nhiều Ô Trong Excel
  • 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 headers nếu có. şey.

4.2 Sử dụng “Split Column”

  1. Chọn cột: Ví dụ cột A chứa dữ liệu tách.
  2. Đi tới tab “Transform”.
  3. Nhấn “Split Column” > “By Delimiter”.
  4. Chọn delimiter (ví dụ Comma, Space, Custom).
  5. Chọn “At each occurrence” để tách thành nhiều cột.
  6. 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.
  • Trim loại bỏ khoảng trắng thừa.

5.3 Các bước thực hiện

  1. Nhấn Alt + F11 để mở Visual Basic Editor.
  2. Vào Insert > Module.
  3. Dán macro vào cửa sổ Module.
  4. Quay lại Excel, nhấn Alt + F8, chọn SplitCell và 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ốngMẹ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ừaSử dụng TRIM trong công thức hoặc Flash Fill.
Dữ liệu có độ dài không đồng đềuDù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 nhauDù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ểmNhược điểmKhi nào dùng
Text to ColumnsĐơn giản, nhanh, không cần công thứcGhi đè dữ liệu gốc, hạn chế trong trường hợp phức tạpDữ liệu có delimiter rõ ràng, thao tác một lần
Công thứcLinh hoạt, giữ nguyên dữ liệu gốcCầ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 FillTự động, không viết công thứcKhông hoạt động với dữ liệu không đồng nhấtDữ liệu mẫu, thao tác nhanh
Power QueryDữ liệu sạch, tự động cập nhậtCần học giao diện, không trực tiếp trong sheetDữ liệu lớn, nguồn nhiều, cần tái sử dụng
VBATự động hoá, tùy chỉnh caoCần biết lập trìnhTá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!

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