Chào mọi người,
Mình thường xuyên phải làm việc với các file dữ liệu có chứa những chuỗi ký tự rất lộn xộn, nhiều ký tự đặc biệt, hoặc cần tách/ghép thông tin theo những quy tắc khá phức tạp. Trước đây, mình hay dùng VBA hoặc các hàm Excel kết hợp để xử lý, nhưng đôi khi cũng khá mất thời gian và dễ sai sót.
Gần đây, mình có tìm hiểu và ứng dụng Power Query (Get & Transform Data) để giải quyết những vấn đề này và thấy hiệu quả rõ rệt. Power Query cực kỳ mạnh mẽ trong việc làm sạch và biến đổi dữ liệu, đặc biệt là xử lý chuỗi ký tự.
Ví dụ, mình có một cột chứa thông tin như thế này: "Sản phẩm A - Mã SP: XYZ123 - Số lượng: 50". Mình muốn tách ra chỉ lấy mã sản phẩm XYZ123.
Với Power Query, mình chỉ cần thực hiện các bước đơn giản:
- Chọn cột dữ liệu.
- Vào tab Add Column -> Extract -> Text Between Delimiters.
- Nhập ký tự bắt đầu là
"Mã SP: "và ký tự kết thúc là" - Số lượng".
Kết quả mình nhận được ngay cột mã sản phẩm mong muốn. Thậm chí, với những chuỗi phức tạp hơn, bạn có thể kết hợp nhiều bước biến đổi như Replace Values, Split Column, Merge Columns, Custom Column với các hàm xử lý chuỗi của Power Query (như Text.Start, Text.End, Text.Contains, Text.Split,...).
Việc này giúp mình tiết kiệm rất nhiều thời gian so với việc viết code VBA hay dùng các hàm Excel lồng nhau. Nếu anh em nào đang gặp khó khăn với việc làm sạch và biến đổi dữ liệu dạng chuỗi, mình highly recommend nên tìm hiểu về Power Query.
Có anh em nào có kinh nghiệm hay mẹo hay khi dùng Power Query để xử lý chuỗi không, chia sẻ thêm cho mọi người cùng học hỏi nhé!