Chào mọi người,
Dạo này mình làm việc với nhiều file Excel mà dữ liệu thường xuyên ở dạng cột, trong khi yêu cầu báo cáo lại cần dạng hàng. Việc copy-paste thủ công rất mất thời gian và dễ sai sót, đặc biệt với file dung lượng lớn.
Sau một thời gian loay hoay, mình có tìm hiểu và áp dụng Power Query để giải quyết vấn đề này một cách tự động và hiệu quả. Hôm nay mình muốn chia sẻ lại với anh em trong diễn đàn để cùng thảo luận và rút kinh nghiệm.
Tình huống cụ thể:
Giả sử mình có một bảng dữ liệu với các tháng ở từng cột, và các chỉ số tương ứng ở các dòng:
Tháng | 1 | 2 | 3 Chỉ số A | 100 | 120 | 110 Chỉ số B | 200 | 210 | 205
Mình muốn biến đổi nó thành dạng:
Tháng | Chỉ số | Giá trị 1 | Chỉ số A | 100 1 | Chỉ số B | 200 2 | Chỉ số A | 120 2 | Chỉ số B | 210 3 | Chỉ số A | 110 3 | Chỉ số B | 205
Cách thực hiện với Power Query:
- Chọn vùng dữ liệu, vào tab Data -> From Table/Range.
- Trong cửa sổ Power Query Editor, chọn các cột chứa tháng (Cột 1, Cột 2, Cột 3).
- Vào tab Transform -> chọn Unpivot Columns.
- Kết quả sẽ có 2 cột mới: 'Attribute' (chứa tên tháng) và 'Value' (chứa giá trị).
- Bạn có thể đổi tên cột 'Attribute' thành 'Tháng' và 'Value' thành 'Giá trị'.
- Cuối cùng, vào Home -> Close & Load để đưa dữ liệu trở lại Excel.
Cách này rất nhanh chóng, đặc biệt khi dữ liệu có nhiều tháng hoặc nhiều chỉ số. Anh em nào có cách làm khác hoặc có kinh nghiệm xử lý các dạng dữ liệu tương tự thì chia sẻ thêm nhé!