SỬ DỤNG PYTHON ĐỂ XỬ LÝ DỮ LIỆU THỜI GIAN (DATETIME) TRONG EXCEL

Chuẩn hóa – làm sạch – phân tích ngày tháng cho báo cáo văn phòng & Power BI


🎯 MỤC TIÊU BÀI HỌC

Sau bài này, bạn sẽ làm được những việc mà Excel thuần rất khó hoặc rất rủi ro:

  • Chuẩn hóa dữ liệu ngày tháng lộn xộn trong Excel bằng Python
  • Xử lý các tình huống:
    • Sai định dạng ngày
    • Trộn text – date – datetime
    • So sánh, tính toán theo tháng/quý/năm
  • Tạo dữ liệu sạch, sẵn sàng cho Power BI & automation
  • Áp dụng trực tiếp cho:
    • Nhân sự (chấm công, hợp đồng)
    • Kế toán (ngày chứng từ, kỳ báo cáo)
    • Quản lý kho (ngày nhập – xuất – tồn)

⚠️ VẤN ĐỀ THỰC TẾ TRONG DOANH NGHIỆP

Trong Excel văn phòng, dữ liệu ngày tháng thường gặp:

  • 01/02/2025 → là 1/2 hay 2/1?
  • Cột ngày bị hiểu là text
  • Trộn:
    • 2025-01-15
    • 15/01/2025
    • 01-15-2025
  • Không thể:
    • Lọc đúng theo tháng
    • Tính số ngày
    • So sánh thời gian chính xác

👉 Excel xử lý được, nhưng rất dễ sai và khó tự động hóa lâu dài.


🧠 GIẢI PHÁP TỔNG QUAN

Excel = nơi nhập/xuất dữ liệu
Python = nơi xử lý DateTime một cách chuẩn xác

Luồng tư duy:

Excel (raw date) 
→ Python (chuẩn hóa datetime) 
→ Excel sạch / Power BI / Automation

🧪 DỮ LIỆU MẪU THỰC TẾ (≥ 15 DÒNG)

Giả sử bạn có file Excel: attendance_raw.xlsx

employee_idemployee_namedepartmentcheck_in_datecontract_startreport_month
E001Nguyễn Văn ANhân sự01/02/20252023-05-1501-2025
E002Trần Thị BKế toán2025/02/0115-06-20222025-01
E003Lê Văn CKho02-01-20252021/03/20Jan-2025
E004Phạm Thị DNhân sự2025.01.312020-12-0101/2025
E005Hoàng Văn EKế toán31/01/20252019-11-112025/01
E006Đặng Thị FKho01-31-20252018-07-012025-1
E007Vũ Văn GNhân sự2025-02-012024-01-012025-02
E008Bùi Thị HKế toán02/01/20252022-09-15Feb-2025
E009Đỗ Văn IKho2025/01/022021-04-202025-01
E010Nguyễn Thị KNhân sự1/2/252023-03-0101-25
E011Trần Văn LKế toán2025-1-22019-08-182025-Jan
E012Lý Thị MKho02.01.20252020-02-022025/1
E013Phan Văn NNhân sự2025/01/312017-06-062025-01
E014Hồ Thị OKế toán31-01-20252016-10-10Jan/2025
E015Võ Văn PKho2025 Jan 312015-12-122025.01

👉 Excel gần như bó tay nếu xử lý hàng loạt kiểu này.


🛠️ STEP BY STEP: XỬ LÝ DATETIME BẰNG PYTHON

🔹 STEP 1: Đọc dữ liệu Excel vào Python

Mục tiêu: Đưa dữ liệu thô vào môi trường xử lý an toàn.

import pandas as pd

df = pd.read_excel("attendance_raw.xlsx")

👉 Python không tự động hiểu date, ta phải chủ động kiểm soát.


🔹 STEP 2: Chuẩn hóa cột ngày tháng về datetime

Tư duy quan trọng:

Không tin dữ liệu → luôn ép kiểu & kiểm soát lỗi

date_columns = ["check_in_date", "contract_start"]

for col in date_columns:
    df[col] = pd.to_datetime(df[col], errors="coerce", dayfirst=True)

Giải thích:

  • errors="coerce" → dữ liệu sai sẽ thành NaT (không làm sập hệ thống)
  • dayfirst=True → phù hợp dữ liệu Việt Nam

🔹 STEP 3: Chuẩn hóa kỳ báo cáo (report_month)

df["report_month"] = pd.to_datetime(
    df["report_month"],
    errors="coerce",
    infer_datetime_format=True
).dt.to_period("M")

👉 Giờ đây:

  • Lọc theo tháng
  • Gộp dữ liệu
  • Đẩy Power BI không lỗi

🔹 STEP 4: Tạo các cột thời gian phục vụ phân tích

df["check_in_year"] = df["check_in_date"].dt.year
df["check_in_month"] = df["check_in_date"].dt.month
df["contract_years"] = (
    (pd.Timestamp.today() - df["contract_start"])
    .dt.days // 365
)

👉 Đây là những cột Excel làm rất mệt, Python làm rất sạch.


🔹 STEP 5: Xuất dữ liệu sạch về Excel

df.to_excel("attendance_clean.xlsx", index=False)

File này:

  • Dùng trực tiếp cho Power BI
  • Dùng cho Make.com automation
  • Không sợ lỗi date nữa

📊 PHÂN TÍCH KẾT QUẢ

Sau xử lý:

  • 100% cột ngày tháng → datetime chuẩn
  • Loại bỏ dữ liệu lỗi không làm hỏng báo cáo
  • Lọc – group – so sánh thời gian chính xác tuyệt đối

So với Excel thuần:

  • ❌ Excel: dễ sai, khó mở rộng
  • ✅ Python: chuẩn hóa một lần, dùng lâu dài

🧾 KẾT LUẬN & ĐÁNH GIÁ

Python không thay thế Excel – Python cứu Excel.

  • DateTime là điểm chết của rất nhiều báo cáo
  • Một khi chuẩn hóa bằng Python:
    • Báo cáo chạy ổn định
    • Automation không sập
    • Power BI không lỗi ngầm

👉 Đây là bước nền tảng bắt buộc nếu muốn tự động hóa văn phòng nghiêm túc.


🚀 GỢI Ý ÁP DỤNG THỰC TẾ

👥 Nhân sự

  • Chuẩn hóa:
    • Ngày vào làm
    • Hợp đồng
    • Chấm công
  • Tính:
    • Thâm niên
    • Cảnh báo hết hạn hợp đồng

💰 Kế toán

  • Chuẩn hóa:
    • Ngày chứng từ
    • Kỳ báo cáo
  • Tránh:
    • Lệch tháng
    • Sai kỳ quyết toán

📦 Quản lý kho

  • Theo dõi:
    • Ngày nhập – xuất
    • Tuổi tồn kho
  • Cảnh báo hàng tồn lâu ngày

Scroll to Top