
Tự động tạo bảng tổng hợp – thay thế Pivot thủ công trong công việc văn phòng
🎯 MỤC TIÊU BÀI HỌC
Sau bài này, bạn sẽ:
- Hiểu bản chất Pivot Table trong Excel và giới hạn của cách làm thủ công
- Biết cách dùng Python để tạo Pivot Table thay Excel
- Tự động hóa:
- Tổng hợp dữ liệu
- Gộp theo phòng ban / tháng / loại nghiệp vụ
- Xuất kết quả ra Excel để:
- Nhân sự dùng
- Kế toán kiểm tra
- Power BI kết nối trực tiếp
👉 Phù hợp cho người:
- Dùng Excel hằng ngày
- Muốn giảm thao tác kéo–thả Pivot
- Chuẩn bị làm báo cáo tự động & dashboard
⚠️ VẤN ĐỀ THỰC TẾ VỚI PIVOT TABLE TRONG EXCEL
Trong doanh nghiệp, Pivot Table thường gặp các vấn đề:
- Dữ liệu thay đổi → phải refresh thủ công
- File lớn → Excel chậm, dễ treo
- Người khác sửa layout Pivot → vỡ báo cáo
- Không dùng được trong automation (email, Power BI, Make.com)
👉 Pivot Table rất mạnh – nhưng không sinh ra cho automation dài hạn.
🧠 TƯ DUY ĐÚNG: PYTHON LÀ PIVOT ENGINE, EXCEL LÀ GIAO DIỆN
Excel (raw data)
→ Python (pivot / tổng hợp)
→ Excel kết quả / Power BI / Automation
- Python thay Excel làm việc nặng
- Excel chỉ dùng để xem & chỉnh nhẹ
- Báo cáo chạy ổn định – lặp lại – không phụ thuộc người thao tác
🧪 DỮ LIỆU MẪU THỰC TẾ (≥ 15 DÒNG)
Giả sử file Excel: sales_raw.xlsx
| order_id | order_date | department | product | quantity | revenue |
|---|---|---|---|---|---|
| O001 | 2025-01-01 | Kinh doanh | SP A | 5 | 500000 |
| O002 | 2025-01-01 | Kinh doanh | SP B | 3 | 450000 |
| O003 | 2025-01-02 | Marketing | SP A | 2 | 200000 |
| O004 | 2025-01-02 | Kho | SP C | 10 | 700000 |
| O005 | 2025-01-03 | Kinh doanh | SP A | 4 | 400000 |
| O006 | 2025-01-03 | Marketing | SP B | 6 | 900000 |
| O007 | 2025-01-04 | Kho | SP C | 8 | 560000 |
| O008 | 2025-01-04 | Kinh doanh | SP D | 1 | 300000 |
| O009 | 2025-01-05 | Marketing | SP A | 3 | 300000 |
| O010 | 2025-01-05 | Kho | SP B | 7 | 1050000 |
| O011 | 2025-01-06 | Kinh doanh | SP C | 2 | 140000 |
| O012 | 2025-01-06 | Marketing | SP D | 4 | 800000 |
| O013 | 2025-01-07 | Kho | SP A | 9 | 900000 |
| O014 | 2025-01-07 | Kinh doanh | SP B | 6 | 900000 |
| O015 | 2025-01-08 | Marketing | SP C | 5 | 350000 |
🛠️ STEP BY STEP: TẠO PIVOT TABLE BẰNG PYTHON
🔹 STEP 1: Đọc dữ liệu Excel vào Python
import pandas as pd
df = pd.read_excel("sales_raw.xlsx")
👉 Python đọc dữ liệu nhanh – không phụ thuộc giao diện.
🔹 STEP 2: Tạo Pivot Table bằng Python
Ví dụ:
👉 Tổng doanh thu theo phòng ban
pivot_revenue = pd.pivot_table(
df,
index="department",
values="revenue",
aggfunc="sum"
)
Kết quả tương đương Pivot Excel nhưng:
- Không cần kéo thả
- Không sợ sai thao tác
🔹 STEP 3: Pivot nâng cao (nhiều chiều)
👉 Tổng số lượng & doanh thu theo phòng ban – sản phẩm
pivot_detail = pd.pivot_table(
df,
index=["department", "product"],
values=["quantity", "revenue"],
aggfunc="sum"
)
👉 Excel làm được, nhưng Python làm ổn định hơn nhiều.
🔹 STEP 4: Reset index để đưa về dạng bảng
pivot_detail = pivot_detail.reset_index()
👉 Bước này rất quan trọng nếu:
- Đưa vào Power BI
- Đưa vào automation (Make.com)
🔹 STEP 5: Xuất Pivot ra Excel
pivot_detail.to_excel(
"sales_pivot_result.xlsx",
index=False
)
File này:
- Gửi mail tự động
- Import Power BI
- Dùng cho kế toán / quản lý
📊 PHÂN TÍCH KẾT QUẢ
So sánh nhanh:
| Tiêu chí | Pivot Excel | Pivot Python |
|---|---|---|
| Thao tác | Thủ công | Tự động |
| Lặp lại | Dễ sai | Chuẩn |
| Automation | ❌ | ✅ |
| Power BI | Dễ lỗi | Rất ổn |
| File lớn | Chậm | Nhanh |
👉 Python biến Pivot thành một phần của hệ thống, không phải thao tác cá nhân.
🧾 KẾT LUẬN & ĐÁNH GIÁ
- Pivot Table không nên phụ thuộc vào thao tác tay
- Python giúp:
- Chuẩn hóa logic tổng hợp
- Chạy báo cáo hàng ngày / hàng tháng
- Giảm rủi ro nhân sự nghỉ việc → báo cáo hỏng
👉 Đây là bước bắt buộc nếu bạn muốn:
- Tự động hóa báo cáo
- Kết nối Power BI lâu dài
🚀 GỢI Ý ÁP DỤNG THỰC TẾ
👥 Nhân sự
- Pivot:
- Số nhân sự theo phòng ban
- Biến động theo tháng
- Chuẩn bị dữ liệu cho dashboard HR
💰 Kế toán
- Tổng hợp:
- Doanh thu
- Chi phí
- Số lượng chứng từ
- Giảm lệ thuộc Pivot thủ công
📦 Quản lý kho
- Tổng hợp:
- Nhập – xuất theo sản phẩm
- Tồn kho theo kỳ
- Dữ liệu sạch cho cảnh báo tồn kho