Chào mọi người,
Dạo gần đây mình có làm một báo cáo cần nhóm dữ liệu theo các khoảng thời gian (ví dụ: theo tuần, theo tháng). Ban đầu mình làm thủ công bằng cách thêm cột phụ rồi dùng hàm IF lồng nhau, nhưng với lượng dữ liệu lớn thì cách này rất mất thời gian và dễ sai sót.
Sau một hồi tìm tòi, mình phát hiện ra một cách khá hay ho để tự động hóa việc này, đặc biệt là khi làm việc với các bảng dữ liệu lớn. Cách này không cần dùng đến Power Query hay VBA phức tạp, chỉ cần tận dụng một chút kiến thức về cấu trúc dữ liệu và một vài hàm Excel cơ bản.
Cụ thể, mình sẽ dùng kết hợp hàm YEAR(), MONTH() và WEEKNUM() để trích xuất thông tin năm, tháng, tuần từ cột ngày tháng. Sau đó, mình sẽ tạo các cột điều kiện để phân loại dữ liệu vào các nhóm thời gian mong muốn.
Ví dụ, để nhóm theo tháng, mình chỉ cần tạo một cột mới với công thức:
=MONTH(A2)Sau đó, bạn có thể dùng hàm VLOOKUP hoặc INDEX-MATCH để tra cứu và nhóm dữ liệu dựa trên giá trị tháng này.
Đối với việc nhóm theo tuần, ta sẽ dùng:
=WEEKNUM(A2)Cách này giúp mình xử lý nhanh chóng hàng ngàn dòng dữ liệu, tạo báo cáo tổng hợp theo từng giai đoạn một cách hiệu quả mà không cần phải làm thủ công từng bước.
Không biết có anh em nào có cách nào khác hay hơn, hoặc có kinh nghiệm xử lý dữ liệu theo khoảng thời gian thế nào, chia sẻ cho mình với ạ!