Chào các bác, dạo này em hay phải xử lý các file báo cáo mà ngày tháng được lưu dưới dạng chuỗi văn bản, ví dụ như "Báo cáo ngày 31/12/2023" hoặc "Hợp đồng số 123 - ký ngày 15-03-2024". Việc này gây khó khăn khi muốn lọc hay sắp xếp theo ngày.
Em đã thử dùng các hàm text trong Excel nhưng khá thủ công và dễ sai sót. Gần đây em có mày mò tìm hiểu Power Query và phát hiện ra nó có thể xử lý vụ này một cách tự động và hiệu quả.
Cách làm của em như sau:
- Đầu tiên, em load dữ liệu vào Power Query.
- Chọn cột chứa chuỗi văn bản cần xử lý.
- Vào tab Add Column, chọn Extract -> Text Between Delimiters.
- Trong ô Start Delimiter, em nhập "ngày " (hoặc ký tự đứng trước ngày tháng).
- Trong ô End Delimiter, em nhập ký tự đứng sau ngày tháng, ví dụ "" (nếu ngày tháng là cuối chuỗi) hoặc ký tự khác như " - ", "/", "." tùy cấu trúc chuỗi của bác.
- Power Query sẽ trích xuất phần chuỗi chứa ngày tháng ra một cột mới.
- Cuối cùng, em chuyển đổi kiểu dữ liệu của cột mới này thành Date.
Cách này giúp em xử lý hàng loạt mà không cần nhớ các biểu thức chính quy phức tạp. Tuy nhiên, nếu định dạng ngày tháng trong chuỗi quá đa dạng (ví dụ: 31/12/2023, 15-03-2024, 2024.01.10), có thể cần kết hợp thêm một vài bước xử lý khác.
Không biết có bác nào có cách nào hay hơn hoặc gặp tình huống tương tự không, chia sẻ cho em học hỏi với ạ!