Chào mọi người,
Trong quá trình làm việc, mình thường xuyên phải tổng hợp dữ liệu từ nhiều nguồn khác nhau. Gần đây, mình có gặp một tình huống khá thú vị: cần lấy ra một danh sách duy nhất (unique list) từ nhiều cột trong một bảng dữ liệu Excel. Ví dụ, mình có một bảng danh sách các sản phẩm được bán ở nhiều cửa hàng, và mình muốn có một danh sách tất cả các sản phẩm đã bán, không trùng lặp.
Trước đây, mình hay dùng các cách thủ công như copy, paste rồi dùng chức năng Remove Duplicates, hoặc kết hợp các hàm như UNIQUE (nếu dùng Excel 365) hoặc các mảng động. Tuy nhiên, khi số lượng dữ liệu lớn hoặc cấu trúc lặp lại, cách này không hiệu quả lắm.
Gần đây, mình khám phá ra sức mạnh của Power Query trong việc giải quyết vấn đề này một cách tự động và hiệu quả. Cách làm như sau:
- Bước 1: Tải dữ liệu vào Power Query (Data > Get Data > From Table/Range).
- Bước 2: Chọn các cột mà bạn muốn lấy danh sách duy nhất.
- Bước 3: Vào tab Transform, chọn Unpivot Columns. Thao tác này sẽ chuyển các cột đã chọn thành hai cột: 'Attribute' (tên cột gốc) và 'Value' (giá trị).
- Bước 4: Xóa cột 'Attribute' đi.
- Bước 5: Chọn cột 'Value', vào tab Home, chọn Remove Rows > Remove Duplicates.
- Bước 6: Close & Load để đưa kết quả về Excel.
Với cách này, dù bạn có bao nhiêu cột hay bao nhiêu dòng, Power Query đều xử lý rất nhanh chóng và cho ra kết quả chính xác. Đây là một kỹ thuật rất hữu ích để làm sạch và chuẩn hóa dữ liệu, đặc biệt khi làm việc với các báo cáo tổng hợp.
Có ai có cách nào hay hơn hoặc có tình huống tương tự không, chia sẻ thêm cho mọi người cùng học hỏi nhé!