Chào các anh chị em trong diễn đàn,
Dạo này công việc của mình liên quan nhiều đến việc xử lý dữ liệu từ các nguồn khác nhau, mà nhiều khi cấu trúc nó khá lộn xộn. Mình có một file Excel mà ở cột mô tả sản phẩm, nó ghi liền một mạch tên sản phẩm, mã SKU, và đôi khi cả màu sắc, kích thước nữa. Ví dụ:
"Áo thun nam - ATN001 - Size L - Xanh"Mấy lần trước mình toàn phải ngồi copy-paste rồi dùng hàm Text to Columns, mà mỗi lần dữ liệu nhiều là cực kỳ mất thời gian.
Gần đây mình có mày mò và phát hiện ra Power Query xử lý vụ này ngon lành hơn hẳn. Mình muốn chia sẻ cách mình làm để anh em nào gặp tình huống tương tự có thể tham khảo.
Về cơ bản, mình sẽ dùng chức năng Split Column của Power Query, nhưng thay vì chỉ tách theo một dấu phân cách cố định (như dấu gạch ngang), mình sẽ dùng By Delimiter và chọn tùy chọn Advanced options để tách theo nhiều dấu phân cách khác nhau (như dấu gạch ngang và dấu gạch chéo).
Các bước thực hiện chính của mình là:
- Load dữ liệu vào Power Query.
- Chọn cột cần tách.
- Vào tab Add Column -> Custom Column để tạo một cột tạm, dùng hàm
Text.Replaceđể thay thế tất cả các dấu phân cách (ví dụ:" - "," / ") bằng một dấu phân cách chuẩn duy nhất (ví dụ:|). - Sau đó, dùng Split Column by Delimiter với dấu phân cách
|vừa tạo. - Cuối cùng, vào Advanced options và chọn Split into Rows hoặc Split into Columns tùy theo nhu cầu.
Cách này giúp mình tự động phân tách thông tin sản phẩm ra các cột riêng biệt hoặc các dòng riêng biệt một cách nhanh chóng và chính xác, không cần phải loay hoay với từng dòng dữ liệu nữa. Có anh em nào có cách nào hay hơn hoặc gặp vấn đề gì với cách này không, chia sẻ thêm cho mọi người cùng học hỏi nhé!