🧠 Quản Lý Các Công Thức và Định Dạng Ô Excel Với Python

Tự động hóa công việc văn phòng bằng Python – Kiểm soát công thức, giá trị và liên kết Excel hiệu quả hơn bao giờ hết!

Excel là công cụ mạnh mẽ để xử lý dữ liệu, nhưng khi bạn phải làm việc với file lớn, nhiều công thức, nhiều liên kết, hoặc cần tự động cập nhật dữ liệu, thì việc quản lý thủ công nhanh chóng trở thành “ác mộng”.
🎯 Đây là lúc Python phát huy sức mạnh.

Với các thư viện như openpyxl, pandas, hoặc xlwings, bạn có thể:

  • Kiểm tra, chỉnh sửa và tối ưu công thức Excel
  • Quản lý giá trị ô, dạng dữ liệu, liên kết ngoài
  • Tự động cập nhật dữ liệu trong workbook
  • Tạo báo cáo tự động, giảm sai sót từ thao tác thủ công

Hãy cùng đi vào bài thực hành chi tiết, bám sát thực tế, dễ áp dụng ngay.


📂 1. Dữ liệu mẫu dùng trong bài thực hành

Giả sử bạn có file Excel: BaoCaoDoanhThu.xlsx
Trong đó sheet DoanhThu có cấu trúc:

ThángSản_PhẩmDoanh_ThuTăng_TrưởngCông_ThứcLiên_Kết_Ngoài
JanChuột Logitech12,500,0000.12=C2/C1https://example.com/a
FebBàn phím Razer15,200,0000.09=C3/C2https://example.com/b
MarMàn hình LG17,800,0000.17=C4/C3https://example.com/c
AprLaptop Dell22,400,0000.21=C5/C4https://example.com/d
MayTai nghe Sony19,300,000-0.07=C6/C5https://example.com/e

👉 File gồm:

  • Cột Công_Thức: chứa công thức Excel
  • Cột Liên_Kết_Ngoài: mô phỏng hyperlink hoặc link dữ liệu ngoài
  • Các ô doanh thu/tháng cần cập nhật tự động

🧰 2. Các tác vụ bạn có thể tự động hóa với Python

✔️ Kiểm tra toàn bộ công thức trong sheet

✔️ Tự động thay đổi công thức (ví dụ: đổi C thành D)

✔️ Đọc giá trị thực tính từ công thức

✔️ Kiểm tra liên kết ngoài và thay đổi link

✔️ Đổi định dạng ô (currency, date, percent…)

✔️ Lọc dữ liệu và ghi vào file mới

✔️ Tạo báo cáo tự động từ nhiều file Excel


🛠️ 3. Thực hành 1 – Đọc toàn bộ công thức Excel bằng Python

📌 Code Python bằng thư viện openpyxl

from openpyxl import load_workbook

wb = load_workbook("BaoCaoDoanhThu.xlsx", data_only=False)
ws = wb["DoanhThu"]

for row in ws.iter_rows(min_row=2, values_only=False):
    print("Công thức:", row[4].value)

🔍 Kết quả:

Python sẽ hiển thị toàn bộ công thức ở cột E (Công_Thức) như:

=C2/C1
=C3/C2
=C4/C3
...

👉 Rất hữu ích để rà soát lỗi công thức khi file Excel lớn hàng nghìn dòng.


🛠️ 4. Thực hành 2 – Lấy giá trị thực từ công thức

Muốn lấy kết quả tính toán, dùng:

wb = load_workbook("BaoCaoDoanhThu.xlsx", data_only=True)
ws = wb["DoanhThu"]

for row in ws.iter_rows(min_row=2, values_only=True):
    print("Tăng trưởng thực tế:", row[3])

📌 data_only=True giúp lấy value, không phải công thức.


🛠️ 5. Thực hành 3 – Tự động cập nhật công thức Excel

Ví dụ: đổi tất cả công thức C2/C1D2/D1

from openpyxl import load_workbook

wb = load_workbook("BaoCaoDoanhThu.xlsx")
ws = wb["DoanhThu"]

for row in ws.iter_rows(min_row=2):
    formula = row[4].value
    if isinstance(formula, str):
        row[4].value = formula.replace("C", "D")

wb.save("BaoCaoDoanhThu_Update.xlsx")

🎯 Kết quả:

➡️ Tất cả công thức trong cột “Công_Thức” được cập nhật tự động
➡️ Không cần chỉnh tay từng ô trong Excel


🛠️ 6. Thực hành 4 – Kiểm tra và cập nhật link ngoài

for row in ws.iter_rows(min_row=2):
    link = row[5].value
    if "example.com" in link:
        row[5].value = link.replace("example.com", "data.mycompany.vn")

👍 Rất hữu ích khi bạn cần đồng bộ lại link dữ liệu trong các file báo cáo.


🎨 7. Thực hành 5 – Định dạng ô Excel bằng Python

from openpyxl.styles import numbers

for row in ws.iter_rows(min_row=2):
    doanh_thu_cell = row[2]  # Cột Doanh_Thu
    doanh_thu_cell.number_format = numbers.FORMAT_CURRENCY_VND

📌 Bạn có thể định dạng:

  • Tiền tệ
  • Phần trăm
  • Ngày giờ
  • Decimal…

🎯 8. Lợi ích của việc quản lý Excel bằng Python

Lợi íchGiải thích
⚡ Tăng tốcThay đổi hàng trăm công thức chỉ bằng 1 dòng code
🧹 Giảm lỗiLoại bỏ sai sót khi chỉnh sửa thủ công
🔁 Tự động hóaTạo báo cáo lặp lại theo tuần/tháng
📊 Dễ mở rộngKết hợp với Power BI, SQL, API nội bộ
📦 Chạy trên serverTự động cập nhật file excel hằng ngày

Kết luận

Việc dùng Python để quản lý công thức và giá trị trong Excel giúp bạn:

  • Tự động hóa công việc
  • Giảm 80% thao tác thủ công
  • Tăng độ chính xác
  • Dễ dàng tạo pipeline dữ liệu chuyên nghiệp

Nếu bạn đang muốn đưa Excel lên một tầm cao mới, Python chính là công cụ bạn nên bắt đầu ngay hôm nay! 🚀


Scroll to Top