Hướng dẫn cực chi tiết – cầm tay chỉ việc – giúp bạn xử lý dữ liệu nhanh gấp 10 lần Excel

1. Giới Thiệu: Vì Sao Cần Tự Động Hóa Lọc & Sắp Xếp Excel Bằng Python?
Trong công việc hằng ngày, đặc biệt là:
- Kế toán – tổng hợp doanh thu, lọc theo tháng
- Nhân sự – lọc danh sách nhân viên nghỉ việc, mới vào
- Sale – lọc khách hàng theo khu vực, theo hạng
- Trợ lý văn phòng – sắp xếp danh sách theo ngày tạo, theo số tiền
… bạn phải lọc – sort – lọc – sort liên tục.
Nhưng làm bằng tay trong Excel có nhược điểm:
❌ Mất thời gian
❌ Dễ sai sót
❌ Mỗi lần cập nhật file phải lọc lại từ đầu
❌ Không thể chạy lặp theo lịch (cron job)
👉 Python giải quyết toàn bộ:
✔ Lọc tự động
✔ Sắp xếp theo nhiều tiêu chí
✔ Xuất ra file Excel sạch đẹp
✔ Chạy lại bao nhiêu lần cũng được
✔ Tích hợp vào quy trình báo cáo tuần/tháng
2. Chuẩn Bị Môi Trường
Bạn cài thư viện cần thiết:
pip install pandas openpyxl
- pandas → xử lý dữ liệu nhanh hơn Excel rất nhiều
- openpyxl → ghi kết quả ra file Excel
3. Dữ Liệu Mẫu Sử Dụng Trong Bài
Giả sử bạn có file Excel:
NhanSu.xlsx
| MaNV | HoTen | PhongBan | NgayVao | Luong | TrangThai |
|---|---|---|---|---|---|
| NV01 | Trần Văn A | HR | 2023-01-10 | 12000000 | Đang làm |
| NV02 | Nguyễn Thị B | Sales | 2022-11-01 | 15000000 | Nghỉ việc |
| NV03 | Lê Quốc C | IT | 2023-02-18 | 18000000 | Đang làm |
4. Cầm Tay Chỉ Việc: Lọc Dữ Liệu Trong Excel Bằng Python
📌 Ví dụ 1 – Lọc nhân viên đang làm việc
import pandas as pd
df = pd.read_excel("NhanSu.xlsx")
df_danglam = df[df["TrangThai"] == "Đang làm"]
df_danglam.to_excel("NhanVien_DangLam.xlsx", index=False)
Giải thích:
df[df["TrangThai"] == "Đang làm"]→ chỉ lấy những dòng có trạng thái Đang Làmto_excel()→ xuất ra file mới
📌 Ví dụ 2 – Lọc nhân viên lương > 15 triệu
df_luongcao = df[df["Luong"] > 15000000]
df_luongcao.to_excel("NhanVien_LuongCao.xlsx", index=False)
📌 Ví dụ 3 – Lọc theo nhiều điều kiện cùng lúc
Lấy nhân viên phòng Sales & đang làm:
df_sales_active = df[
(df["PhongBan"] == "Sales") &
(df["TrangThai"] == "Đang làm")
]
df_sales_active.to_excel("NhanVien_Sales_DangLam.xlsx", index=False)
Giải thích:
Dùng & (AND) và | (OR) để kết hợp điều kiện như Excel nâng cao.
5. Cầm Tay Chỉ Việc: Sắp Xếp Dữ Liệu (Sort) Bằng Python
📌 Ví dụ 1 – Sắp xếp theo lương giảm dần
df_sorted = df.sort_values(by="Luong", ascending=False)
df_sorted.to_excel("NhanVien_SortLuong.xlsx", index=False)
📌 Ví dụ 2 – Sort theo 2 tiêu chí: Phòng ban → Lương giảm dần
df_sort_multi = df.sort_values(
by=["PhongBan", "Luong"],
ascending=[True, False]
)
df_sort_multi.to_excel("NhanVien_SortPhongBan_Luong.xlsx", index=False)
Ý nghĩa:
- Sort theo PhòngBan từ A → Z
- Trong mỗi phòng ban → sort lương cao xuống thấp
📌 Ví dụ 3 – Sort theo ngày vào làm (date)
df["NgayVao"] = pd.to_datetime(df["NgayVao"])
df_sort_date = df.sort_values(by="NgayVao")
df_sort_date.to_excel("NhanVien_SortNgayVao.xlsx", index=False)
6. Tự Động Hóa Toàn Bộ Quy Trình (Script Hoàn Chỉnh)
Đây là script đầy đủ: lọc + sort + xuất file.
Bạn chỉ cần chạy 1 lần → 5 file Excel tự tạo.
import pandas as pd
df = pd.read_excel("NhanSu.xlsx")
# Lọc nhân viên đang làm
df1 = df[df["TrangThai"] == "Đang làm"]
# Lọc lương cao
df2 = df[df["Luong"] > 15000000]
# Lọc Sales đang làm
df3 = df[(df["PhongBan"] == "Sales") & (df["TrangThai"] == "Đang làm")]
# Sắp xếp theo lương giảm
df4 = df.sort_values(by="Luong", ascending=False)
# Sắp xếp 2 điều kiện
df5 = df.sort_values(by=["PhongBan", "Luong"], ascending=[True, False])
# Xuất file
df1.to_excel("1_NhanVien_DangLam.xlsx", index=False)
df2.to_excel("2_NhanVien_LuongCao.xlsx", index=False)
df3.to_excel("3_NhanVien_Sales.xlsx", index=False)
df4.to_excel("4_Sort_Luong.xlsx", index=False)
df5.to_excel("5_Sort_PhongBan_Luong.xlsx", index=False)
7. Ứng Dụng Thực Tế Cho Dân Văn Phòng
✔ Nhân sự (HR)
- Lọc nhân viên mới vào trong tháng
- Lọc nhân viên nghỉ việc
- Sort theo thâm niên, theo phòng ban
✔ Kế toán
- Lọc giao dịch > 10 triệu
- Sort theo doanh thu giảm dần
- Tự động hóa báo cáo tháng
✔ Sale – Marketing
- Lọc khách hàng theo khu vực
- Lọc khách VIP
- Sắp xếp theo doanh số
✔ Trợ lý – Văn phòng
- Lọc danh sách theo ngày tạo
- Sort theo mức độ ưu tiên
- Tạo bảng tổng hợp nhanh
8. Kết Luận
Việc lọc và sắp xếp dữ liệu bằng Python không chỉ giúp bạn:
- Tiết kiệm hàng giờ mỗi tuần
- Giảm sai sót
- Tự động hóa báo cáo định kỳ
- Làm chủ dữ liệu thay vì bị Excel “hành”
… mà còn giúp bạn nâng cấp kỹ năng văn phòng lên tầm chuyên nghiệp.