Khi
hợp đồng Excel thay đổi mỗi ngày: tôi muốn xây một ứng dụng “so sánh sai khác”
để cứu dự án thiết kế điện
Tôi là một kỹ sư thiết kế điện. Công
việc hằng ngày của tôi gắn với sơ đồ nguyên lý, lựa chọn thiết bị, tính toán
bảo vệ, bố trí tủ… Nghe thì có vẻ “kỹ thuật thuần túy”, nhưng phần khiến tôi
mệt nhất lại không nằm ở công thức hay tiêu chuẩn.
Nó nằm ở… file hợp đồng Excel.
Vấn
đề: quá nhiều thay đổi trong hợp đồng – và sai sót xảy ra dù đã kiểm soát rất
tốt
Trong một dự án thực tế, hợp
đồng/BOQ/BOM/thiết bị thường được quản lý bằng Excel. Và Excel thì cực tiện: dễ
sửa, dễ gửi, dễ copy. Nhưng cũng chính vì “dễ” nên thay đổi xảy ra như cơm bữa:
- Chủng loại thiết bị đổi: từ MCCB sang ACB, từ model này sang model tương
đương, thay hãng, thay series.
- Mã hàng đổi:
chỉ khác 1–2 ký tự nhưng là thiết bị khác hoàn toàn (đặc biệt với mã phụ
kiện).
- Số lượng thiết bị thay đổi: tăng giảm theo sơ đồ nguyên lý, theo layout,…
Tất cả điều này khiến một chuyện rất
mệt mỏi.
Nhiều dự án tôi thiết kế bị sai mã đơn hàng, sai số lượng, dù tôi đã
kiểm soát rất kỹ, checklist rất chặt, rà lại BOM nhiều lần.
Và điều khó chịu nhất là: mình
không hề làm ẩu.
Nhưng khi thay đổi xảy ra liên tục, file bị chỉnh bởi nhiều người, đi qua nhiều
kênh (mail, drive, zalo, nội bộ…), thì sai sót vẫn có thể lọt.
Sai
một ô Excel có thể trả giá bằng cả tiến độ dự án
Nếu bạn làm kỹ thuật dự án, chắc bạn
hiểu kiểu “sai” này không chỉ là sai trên giấy:
- Sai mã hàng
→ đặt nhầm thiết bị → không đúng spec → nghiệm thu khó → phát sinh đổi
trả.
- Sai số lượng
→ thiếu thiết bị ngay lúc lắp → dừng công trường chờ hàng → trễ tiến độ.
- Sai chủng loại
→ kéo theo thay đổi dây dẫn, bảo vệ, kích thước tủ, đấu nối, thậm chí cả
layout phòng điện.
Chỉ cần một revision hợp đồng cập
nhật mà đội thiết kế không note lại ra rất mệt mỏi.
Tôi
đã làm mọi cách “thủ công” để kiểm soát… nhưng vẫn thua xác suất
Tôi tin nhiều kỹ sư cũng đang dùng
những cách rất quen:
- Đặt tên file kiểu v1, v2, final, final_new, final_ok…
- Tô màu ô thay đổi, ghi chú comment, gửi mail xác nhận
“đã update”.
- Copy BOM sang file thiết kế, soát lại trước khi phát
hành, dùng checklist nội bộ.
Những cách đó không sai,
nhưng có một điểm chung: tất cả đều phụ thuộc vào mắt người và thời gian.
Và khi tần suất thay đổi tăng cao,
mắt người sẽ thua. Không phải vì ai kém, mà vì bản chất bài toán:
- Thay đổi phân tán
Một file Excel có thể bị sửa bởi nhiều người, mỗi người sửa một phần, không ai “nhìn toàn cảnh”. - Excel thiếu cơ chế diff rõ ràng
Bạn không có một công cụ kiểu “dòng nào đổi, ô nào đổi, đổi từ gì sang gì”. Mọi thứ đều phải tự tìm. - Thay đổi nhỏ nhưng ảnh hưởng lớn
Một ký tự trong part number, một số lượng tăng từ 12 lên 14… đủ để kéo theo sai BOM.
Và thế là tôi tự hỏi:
Tại sao lập trình viên có diff để so code, còn kỹ sư dự án thì không có “diff” cho Excel
hợp đồng?
Ý
tưởng: xây một ứng dụng chọn 2 file Excel, chọn sheet cần so sánh và để app tự
làm việc
Trong đầu tôi bắt đầu hình dung rất
rõ một công cụ đúng nhu cầu kỹ thuật:
- Bước 1:
Chọn 2 file Excel
- File cũ (Old / Baseline)
- File mới (New / Revision)
- Bước 2:
Chọn sheet cần so sánh
Vì hợp đồng có thể có nhiều sheet: BOQ, BOM, điều khoản, phụ kiện, lịch giao hàng… - Bước 3:
Nhấn “Compare” và… app tự làm việc
Tự tìm sai khác, tự tạo báo cáo, tự highlight.
Nghe đơn giản, nhưng nếu làm đúng
thì đây là thứ có thể giảm sai sót cực mạnh trong đời sống dự án.
Ứng
dụng này phải trả lời được những câu hỏi “thực dụng”
Một báo cáo so sánh tốt không cần
màu mè. Nó cần trả lời rõ ràng:
- Ô nào thay đổi?
(Sheet nào, dòng/cột nào, địa chỉ ô nào)
- Đổi từ gì sang gì?
(giá trị cũ → giá trị mới)
- Thay đổi là giá trị hay công thức?
Đây là điểm nhiều người bỏ qua: có những trường hợp người ta vô tình biến công thức thành số “cứng”. - Có thêm/bớt dòng, chèn cột không?
Vì chỉ cần chèn dòng là mọi thứ lệch vị trí, so bằng mắt rất dễ sai. - Thay đổi nào “nguy hiểm”?
Không phải thay đổi nào cũng đáng báo động. Nhưng mã hàng, số lượng, chủng loại thì chắc chắn cần ưu tiên.
Nếu tôi build bản đầu tiên, tôi sẽ
tập trung vào 6 thứ:
- Chọn 2 file + chọn sheet
- Tùy chọn vùng so sánh
(toàn sheet hoặc vùng người dùng quét)
- Danh sách sai khác dạng bảng
- Sheet
- Dòng / cột
- Giá trị cũ
- Giá trị mới
- Loại thay đổi (Value / Formula / Added / Removed)
- Tô màu trực tiếp trong file kết quả
- Changed: vàng
- Added: xanh
- Removed: đỏ (thể hiện trong report)
- Xuất report ra Excel/PDF để làm bằng chứng lưu hồ sơ dự án
Chỉ cần có MVP như vậy, đội thiết kế
đã không phải “so file bằng niềm tin” nữa.
Kết:
tôi muốn giảm sai sót không phải vì “cẩn thận hơn”, mà vì “hệ thống tốt hơn”
Tôi không kỳ vọng hợp đồng sẽ hết
thay đổi. Thay đổi là bản chất của dự án: ngân sách đổi, thiết bị đổi theo tồn
kho, theo phê duyệt, theo yêu cầu khách hàng.
Nhưng tôi tin sai mã hàng, sai số
lượng, sai BOM là thứ có thể giảm mạnh nếu chúng ta có công cụ đúng.
Tôi muốn đến một ngày, trước khi
phát hành thiết kế hay chốt BOM, tôi chỉ cần:
- chọn 2 file,
- chọn sheet,
- nhấn Check,
- và nhìn một report rõ ràng: đã đổi gì, đổi ở đâu,
mức độ ảnh hưởng thế nào.
Excel vẫn là Excel. Nhưng cách chúng
ta kiểm soát thay đổi có thể nâng cấp lên một level khác.
Đăng nhận xét