Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Phân tách dữ liệu 'chuỗi ký tự' thành nhiều cột dựa trên dấu phân cách

Đàn Thiêu Nam 09/04/2026 15:59 357 lượt xem 2 trả lời

Chào các bạn,

Trong quá trình làm việc với dữ liệu Excel, đôi khi chúng ta gặp phải những trường hợp dữ liệu được nhập chung vào một ô dưới dạng chuỗi ký tự, và chúng ta cần phân tách chúng ra thành nhiều cột khác nhau dựa trên một dấu phân cách nhất định (ví dụ: dấu phẩy, dấu chấm phẩy, dấu gạch ngang,...). Ví dụ, một cột địa chỉ có thể chứa thông tin như "Quận 1, TP. Hồ Chí Minh, Việt Nam" và chúng ta muốn tách thành 3 cột riêng biệt.

Trước đây, có lẽ nhiều bạn sẽ nghĩ ngay đến việc dùng hàm SUBSTITUTE kết hợp với FINDMID, hoặc dùng Text to Columns. Tuy nhiên, với sự phát triển của Excel, đặc biệt là các phiên bản mới, chúng ta có những cách tiếp cận hiện đại và hiệu quả hơn.

Cách 1: Sử dụng Text to Columns (Phổ biến và dễ dùng)

Đây là cách truyền thống nhưng vẫn rất hiệu quả:

  1. Chọn cột chứa dữ liệu bạn muốn phân tách.
  2. Vào tab Data, chọn Text to Columns.
  3. Chọn Delimited (Phân cách) và nhấn Next.
  4. Chọn dấu phân cách phù hợp với dữ liệu của bạn (ví dụ: Comma, Semicolon, Space,...). Nếu dấu phân cách của bạn không có trong danh sách, bạn có thể chọn Other và nhập ký tự đó vào ô.
  5. Xem trước kết quả ở mục Data preview, sau đó nhấn Next.
  6. Chọn định dạng dữ liệu cho từng cột mới (thường là General) và chỉ định ô bắt đầu cho dữ liệu đã phân tách (Destination).
  7. Nhấn Finish.

Cách 2: Sử dụng Power Query (Mạnh mẽ cho dữ liệu lớn và lặp lại)

Nếu bạn cần xử lý thường xuyên hoặc dữ liệu rất lớn, Power Query là một lựa chọn tuyệt vời:

  1. Chọn vùng dữ liệu, vào tab Data > From Table/Range.
  2. Trong cửa sổ Power Query Editor, chọn cột cần phân tách.
  3. Vào tab Home hoặc Transform, chọn Split Column > By Delimiter.
  4. Chọn dấu phân cách tương tự như cách 1.
  5. Trong mục Advanced options, bạn có thể chọn Split to Rows (tách thành các dòng) hoặc Split to Columns (tách thành các cột). Chọn At each occurrence of the delimiter để tách tất cả các lần xuất hiện.
  6. Nhấn OK.
  7. Vào Home > Close & Load để đưa dữ liệu đã xử lý về Excel.

Cách này đặc biệt hữu ích vì nó ghi lại các bước xử lý, bạn chỉ cần Refresh lại khi dữ liệu nguồn thay đổi.

Các bạn thường dùng cách nào để xử lý dạng dữ liệu này? Có mẹo nào hay hơn không, chia sẻ cùng mọi người nhé!

4

Chào bạn,

Cảm ơn bạn đã chia sẻ vấn đề này. Đúng là việc phân tách dữ liệu theo dấu phân cách là một nhu cầu rất phổ biến khi xử lý dữ liệu trong Excel.

Ngoài cách dùng các hàm như SUBSTITUTE, LEFT, MID, RIGHT mà bạn có thể đang nghĩ tới, mình thấy tính năng Text to Columns (Tách văn bản thành cột) trong tab Data của Excel cũng rất hiệu quả và nhanh chóng cho trường hợp này. Bạn có thể thử qua xem sao nhé!

Liệu dấu phân cách trong dữ liệu của bạn có cố định không, hay có thay đổi linh hoạt?

5

Mình cũng hay gặp trường hợp này lắm. Đúng là dùng các hàm chuỗi sẽ hơi thủ công nếu dữ liệu nhiều.

Ngoài Text to Columns, bạn nào quen với Power Query thì xử lý vụ này cực kỳ gọn gàng luôn. Chỉ cần vài bước là xong, lại còn tự động cập nhật được nếu dữ liệu nguồn thay đổi.

Không biết bạn có thử qua Power Query chưa?

Đúng là Text to Columns là cách làm kinh điển và hiệu quả cho bài toán này. Mình cũng hay dùng nó.

Bạn có gặp khó khăn gì với Text to Columns không? Đôi khi với các dấu phân cách phức tạp hoặc dữ liệu không đồng nhất, nó cũng cần tinh chỉnh một chút.

Chia sẻ thêm kinh nghiệm của bạn nhé!

Cảm ơn bạn đã mở chủ đề rất hay!

Với những trường hợp dữ liệu có độ phức tạp cao hoặc cần xử lý định kỳ, mình thường ưu tiên dùng Power Query. Nó không chỉ tách chuỗi mà còn có thể làm sạch, chuẩn hóa dữ liệu rất tốt.

Bạn có muốn mình chia sẻ một ví dụ nhỏ về cách dùng Power Query để tách chuỗi không?

4

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký