Menu

Phân tách dữ liệu văn bản có nhiều dấu phân cách thành các cột bằng Power Query

Lý Lệ Hạnh 14/06/2026 02:00 523 lượt xem 3 trả lời

Chào mọi người,

Dạo này mình hay phải làm việc với các file dữ liệu mà thông tin bị dồn vào một cột, mà lại ngăn cách bởi nhiều loại dấu khác nhau (phẩy, chấm phẩy, gạch ngang,...). Xử lý thủ công thì đúng là ám ảnh.

Hôm nay, mình muốn chia sẻ một cách khá hiệu quả để giải quyết vấn đề này bằng Power Query, một công cụ rất mạnh mẽ có sẵn trong Excel (từ phiên bản 2016 trở lên, hoặc tải về cho các bản cũ hơn).

Tình huống:

Giả sử bạn có một cột dữ liệu như sau:

Sản phẩm A, Mã SP001; Giá: 100k - Số lượng: 50

Bạn muốn tách các thông tin này thành các cột riêng biệt: Sản phẩm, Mã SP, Giá, Số lượng.

Cách làm với Power Query:

  • Chọn vùng dữ liệu, vào tab Data -> From Table/Range.
  • Trong cửa sổ Power Query Editor, chọn cột chứa dữ liệu cần tách.
  • Vào tab Home hoặc Transform, chọn Split Column -> By Delimiter.
  • Trong hộp thoại hiện ra, bạn cần nhập các dấu phân cách. Power Query cho phép nhập nhiều dấu phân cách bằng cách gõ chúng vào ô Custom, ví dụ: ,;-.
  • Chọn cách tách: Left-most delimiter, Right-most delimiter, hoặc Each delimiter tùy theo cấu trúc dữ liệu của bạn. Trong ví dụ này, ta có thể dùng Each delimiter.
  • Nhấn OK.
  • Power Query sẽ tự động tách dữ liệu thành các cột mới. Bạn có thể đổi tên cột và thay đổi kiểu dữ liệu cho phù hợp.
  • Cuối cùng, vào Home -> Close & Load để đưa dữ liệu đã xử lý trở lại Excel.

Cách này rất tiện lợi vì nó xử lý được nhiều loại dấu phân cách cùng lúc và có thể tự động cập nhật khi dữ liệu gốc thay đổi. Rất phù hợp cho việc xử lý dữ liệu lớn và lặp đi lặp lại.

Chúc các bạn thành công!

4

Cái này hay quá bạn ơi! Đúng là gặp mấy file dữ liệu "nhồi nhét" thế này mà xử lý thủ công thì chỉ muốn bỏ cuộc. Power Query đúng là một công cụ thần kỳ cho mấy vụ này.

Mình cũng hay dùng tính năng "Split Column by Delimiter" của Power Query. Thường thì mình sẽ chọn "Use custom delimiter" rồi nhập từng loại dấu vào (phẩy, chấm phẩy, gạch ngang...). Power Query xử lý khá ổn.

Có trường hợp nào bạn gặp mà Power Query "bí" không? Chia sẻ thêm để mọi người cùng học hỏi nhé!

2

Chào bạn, cảm ơn bạn đã chia sẻ cách làm rất hay với Power Query! Đúng là việc xử lý dữ liệu dồn cục với nhiều dấu phân cách thủ công rất tốn thời gian. Mình cũng từng gặp tình huống tương tự và Power Query đúng là "cứu cánh".

Bạn có thể chia sẻ thêm về cách xử lý các trường hợp có nhiều dấu phân cách khác nhau trong cùng một dòng không? Ví dụ, đôi khi có dấu phẩy, lúc lại là dấu chấm phẩy, rồi đến gạch ngang... Power Query có thể tự động nhận diện và tách chúng một cách thông minh không, hay mình cần cấu hình từng loại dấu một?

0

Chào bạn,

Cảm ơn bạn đã chia sẻ mẹo hay với Power Query! Mình cũng rất hay gặp tình huống tương tự, dữ liệu dồn vào một cột mà lại ngăn cách bởi đủ thứ dấu. Làm thủ công thì đúng là "khóc thét".

Đúng là Power Query rất mạnh mẽ cho vụ này. Mình cũng hay dùng tính năng "Tách cột" (Split Column) và chọn "Theo dấu phân cách" (By Delimiter). Nếu có nhiều dấu khác nhau, mình thường chọn "Tùy chỉnh" (Custom) rồi nhập lần lượt các dấu đó vào. Đôi khi, nếu các dấu phân cách quá đa dạng và không theo quy luật, mình còn thử kết hợp thêm bước "Thay thế giá trị" (Replace Values) để chuẩn hóa dấu phân cách trước khi tách cột. Cách này giúp Power Query nhận diện dễ hơn.

Bạn có gặp trường hợp nào mà Power Query xử lý "khó nhằn" không? Chia sẻ thêm để mọi người cùng học hỏi nhé!

1

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

Đăng nhập Đăng ký