Chào mọi người,
Dạo này mình hay phải làm việc với các bảng dữ liệu mà thông tin quan trọng lại nằm rải rác ở nhiều cột khác nhau. Mỗi lần muốn tổng hợp lại thành một danh sách duy nhất, không trùng lặp là lại mất kha khá thời gian copy-paste rồi lọc thủ công. Tuy nhiên, mình vừa khám phá ra một cách khá hay ho để tự động hóa việc này, muốn chia sẻ với anh em trong diễn đàn.
Tình huống của mình là có một bảng dữ liệu với 3 cột (ví dụ: Cột A, B, C) chứa các mục có thể trùng lặp. Mình muốn tạo ra một danh sách tất cả các mục từ cả 3 cột này, nhưng chỉ lấy duy nhất một lần mỗi mục.
Cách mình hay làm trước đây là:
- Copy toàn bộ dữ liệu từ 3 cột vào một cột mới.
- Sử dụng chức năng Remove Duplicates (Xóa trùng lặp) của Excel.
Cách này hiệu quả nhưng hơi thủ công và phải làm lại mỗi khi dữ liệu nguồn thay đổi.
Gần đây, mình thử dùng kết hợp Power Query và nhận thấy nó giải quyết vấn đề này gọn gàng hơn nhiều. Các bước cơ bản như sau:
- Chọn vùng dữ liệu cần xử lý.
- Vào tab Data -> From Table/Range để mở Power Query Editor.
- Trong Power Query Editor, chọn 3 cột cần lấy dữ liệu.
- Vào tab Transform -> Unpivot Columns. Thao tác này sẽ gom 3 cột thành 2 cột: 'Attribute' (tên cột gốc) và 'Value' (giá trị).
- Chỉ giữ lại cột 'Value'.
- Vào tab Home -> Remove Rows -> Remove Duplicates để loại bỏ các giá trị trùng lặp.
- Cuối cùng, vào Home -> Close & Load To... và chọn nơi bạn muốn xuất kết quả ra (ví dụ: một bảng mới trên Sheet hiện tại).
Ưu điểm của cách này là khi dữ liệu nguồn thay đổi, bạn chỉ cần vào bảng kết quả, nhấn Refresh là danh sách duy nhất sẽ tự động cập nhật. Rất tiện lợi cho các báo cáo động hoặc khi làm việc với lượng dữ liệu lớn.
Anh em nào có cách nào khác hay hơn hoặc gặp khó khăn gì khi thực hiện, cùng thảo luận nhé!