Chào mọi người,
Dạo này mình làm việc với một nguồn dữ liệu mà các trường thông tin bị gộp chung vào một ô, lại còn ngăn cách bởi dấu phẩy và ký tự xuống dòng (
). Nhìn nó cứ rối tung lên, ví dụ như thế này:
"Nguyễn Văn A, 1990, Hà Nội Trần Thị B, 1985, TP. Hồ Chí Minh"
Mặc dù Excel có chức năng Text to Columns nhưng với Power Query thì lại nhanh và linh hoạt hơn nhiều, đặc biệt khi dữ liệu lớn hoặc cần xử lý định kỳ.
Đây là cách mình xử lý:
- Bước 1: Tách theo ký tự xuống dòng
Đầu tiên, mình chọn cột chứa dữ liệu. Vào tab Add Column -> Custom Column. Đặt tên cột mới là 'Tách_XuongDong'. Công thức là:Text.Split([TênCộtDữLiệu], Character.FromNumber(10)). (Character.FromNumber(10)là mã cho ký tự xuống dòng). - Bước 2: Mở rộng các dòng con
Sau khi có cột mới dạng List, mình nhấp vào biểu tượng mũi tên đôi ở tiêu đề cột đó để Expand to New Rows. - Bước 3: Tách theo dấu phẩy
Bây giờ, mỗi dòng đã chứa một phần thông tin. Mình lại chọn cột vừa mở rộng, vào tab Add Column -> Custom Column. Đặt tên cột mới là 'Tách_Phay'. Công thức:Text.Split([TênCộtTáchXuongDong], ", "). (Lưu ý có dấu cách sau dấu phẩy nếu dữ liệu của bạn giống ví dụ). - Bước 4: Mở rộng lần nữa
Tương tự Bước 2, mình lại nhấp vào biểu tượng mũi tên đôi ở cột 'Tách_Phay' để Expand to New Rows. - Bước 5: Đặt lại tên cột và làm sạch
Cuối cùng, mình chỉ cần đặt lại tên cho các cột mới (ví dụ: 'Tên', 'Năm Sinh', 'Địa Chỉ') và loại bỏ các cột không cần thiết.
Cách này giúp mình tách được các thông tin rời rạc thành các cột riêng biệt một cách tự động. Rất tiện lợi!
Có ai có cách nào khác hay hơn thì chia sẻ cho mình với nhé!