Hàm NETWORKDAYS trong Excel hoạt động tốt cho lịch làm việc chuẩn với cuối tuần là thứ Bảy và Chủ Nhật. Vấn đề xuất hiện khi công ty có lịch khác – thứ Sáu và thứ Bảy nghỉ, hoặc chỉ Chủ Nhật nghỉ. Tôi từng tính sai ngày công cho nhân viên chi nhánh Dubai vì điều này.
NETWORKDAYS.INTL giải quyết vấn đề bằng tham số thứ ba cho phép chỉ định bất kỳ ngày nào là cuối tuần. Không còn phải tính thủ công hoặc tạo công thức phức tạp.

Tại Sao NETWORKDAYS Thường Không Đủ
NETWORKDAYS chỉ biết một kiểu cuối tuần: thứ Bảy và Chủ Nhật. Cú pháp của nó là =NETWORKDAYS(ngày_bắt_đầu, ngày_kết_thúc, [ngày_nghỉ_lễ]) – không có tham số nào cho cuối tuần.
Các công ty hoạt động ở Trung Đông thường nghỉ thứ Sáu và thứ Bảy. Nhân viên làm việc Chủ Nhật đến thứ Năm. NETWORKDAYS tính sai vì coi Chủ Nhật là nghỉ.
Một số tổ chức chỉ nghỉ Chủ Nhật, làm việc 6 ngày mỗi tuần. NETWORKDAYS lại trừ cả thứ Bảy – làm sai lệch số ngày công thực tế.
Cú Pháp NETWORKDAYS.INTL
Hàm sử dụng bốn tham số:
=NETWORKDAYS.INTL(ngày_bắt_đầu, ngày_kết_thúc, [cuối_tuần], [ngày_nghỉ_lễ])
Ngày_bắt_đầu và ngày_kết_thúc: Bắt buộc. Khoảng thời gian cần tính. Ngày_bắt_đầu có thể sớm hơn, trùng, hoặc muộn hơn ngày_kết_thúc.
Cuối_tuần: Tùy chọn. Số hoặc chuỗi chỉ định ngày nào là cuối tuần. Mặc định là 1 (thứ Bảy và Chủ Nhật).
Ngày_nghỉ_lễ: Tùy chọn. Danh sách các ngày lễ cần loại trừ.
Tham số cuối_tuần là điểm khác biệt lớn nhất. Hai cách để sử dụng: số từ 1 đến 17, hoặc chuỗi 7 ký tự nhị phân.
Dùng Số Để Chỉ Định Cuối Tuần
Cách đơn giản nhất là dùng số từ 1 đến 17. Mỗi số đại diện cho một tổ hợp cuối tuần khác nhau:
Các giá trị phổ biến:
- 1: Thứ Bảy và Chủ Nhật (mặc định)
- 2: Chủ Nhật và thứ Hai
- 3: Thứ Hai và thứ Ba
- 7: Thứ Sáu và thứ Bảy
- 11: Chỉ Chủ Nhật
- 12: Chỉ thứ Hai
- 17: Chỉ thứ Bảy
Ví dụ tính ngày công cho nhân viên ở Dubai (cuối tuần thứ Sáu và thứ Bảy):
=NETWORKDAYS.INTL("01/01/2025", "31/01/2025", 7)
Kết quả: 22 ngày làm việc trong tháng 1 năm 2025, không tính thứ Sáu và thứ Bảy.
So sánh với NETWORKDAYS thường:
=NETWORKDAYS("01/01/2025", "31/01/2025")
Kết quả: 23 ngày – sai vì tính thứ Sáu là ngày làm việc.
Dùng Chuỗi Nhị Phân Cho Kiểm Soát Tối Đa
Chuỗi 7 ký tự với 0 và 1 cho phép chỉ định chính xác từng ngày. Mỗi ký tự đại diện cho một ngày trong tuần, bắt đầu từ thứ Hai:
Vị trí trong chuỗi:
- Ký tự 1: Thứ Hai
- Ký tự 2: Thứ Ba
- Ký tự 3: Thứ Tư
- Ký tự 4: Thứ Năm
- Ký tự 5: Thứ Sáu
- Ký tự 6: Thứ Bảy
- Ký tự 7: Chủ Nhật
Quy tắc:
- 0 = Ngày làm việc
- 1 = Ngày nghỉ cuối tuần
Ví dụ cuối tuần thứ Sáu và thứ Bảy:
=NETWORKDAYS.INTL("01/01/2025", "31/01/2025", "0000011")
Chuỗi “0000011” có nghĩa: thứ Hai đến thứ Năm là 0 (làm việc), thứ Sáu và thứ Bảy là 1 (nghỉ).
Trường hợp đặc biệt – nghỉ thứ Tư và Chủ Nhật:
=NETWORKDAYS.INTL("01/01/2025", "31/01/2025", "0010001")
Phương pháp này hữu ích cho lịch làm việc không theo chuẩn quốc tế. Tôi dùng chuỗi nhị phân khi tính ngày công cho dự án có ca làm việc luân phiên.
Kết Hợp Cuối Tuần và Ngày Lễ
Tham số thứ tư cho phép loại trừ thêm các ngày lễ. Nhập danh sách ngày lễ vào một vùng ô, sau đó tham chiếu trong công thức.
Giả sử tháng 1 năm 2025 có ngày Tết Dương lịch (01/01) và Tết Âm lịch (29/01 đến 02/02). Nhập các ngày này vào ô A1:A5:
A1: 01/01/2025
A2: 29/01/2025
A3: 30/01/2025
A4: 31/01/2025
A5: 01/02/2025
Công thức tính ngày công:
=NETWORKDAYS.INTL("01/01/2025", "31/01/2025", 1, A1:A5)
Kết quả: 17 ngày làm việc sau khi trừ 4 ngày cuối tuần và 5 ngày lễ.
Lưu ý quan trọng: Excel tự động loại bỏ ngày lễ trùng với cuối tuần. Nếu 01/01/2025 rơi vào thứ Bảy, hàm chỉ trừ một lần, không trừ hai lần.
Tính Lương Chính Xác Với NETWORKDAYS.INTL
Ứng dụng thực tế phổ biến nhất là tính lương theo ngày công. Công ty trả lương theo số ngày làm việc thực tế cần hàm này để đảm bảo chính xác.
Bảng tính lương cơ bản:
| Nhân viên | Ngày vào | Ngày ra | Lương/ngày | Tổng lương |
|---|---|---|---|---|
| Nguyễn A | 01/01 | 31/01 | 500.000 | =500000*NETWORKDAYS.INTL(B2,C2,1,F2:F6) |
Công thức trong ô E2: =D2*NETWORKDAYS.INTL(B2,C2,1,F2:F6)
Giải thích:
- D2: Lương mỗi ngày (500.000)
- B2: Ngày bắt đầu làm việc
- C2: Ngày kết thúc
- 1: Cuối tuần mặc định (thứ Bảy và Chủ Nhật)
- F2:F6: Danh sách ngày lễ
Với chi nhánh quốc tế, thay số 1 bằng số tương ứng với lịch địa phương. Chi nhánh Dubai dùng 7, chi nhánh Singapore dùng 11.
Quản Lý Tiến Độ Dự Án
Hàm giúp tính chính xác thời gian hoàn thành dự án khi có nhiều múi giờ và lịch làm việc khác nhau.
Dự án phát triển phần mềm với ba đội:
- Đội Việt Nam: Nghỉ thứ Bảy và Chủ Nhật
- Đội Dubai: Nghỉ thứ Sáu và thứ Bảy
- Đội Singapore: Nghỉ Chủ Nhật
Tính số ngày làm việc chung (tất cả đội đều làm):
=MIN(
NETWORKDAYS.INTL(A1,B1,1),
NETWORKDAYS.INTL(A1,B1,7),
NETWORKDAYS.INTL(A1,B1,11)
)
Hàm MIN chọn số ngày nhỏ nhất – đảm bảo chỉ đếm ngày mà cả ba đội đều làm việc.
Phương pháp này giúp lập kế hoạch họp và thời hạn hợp lý cho dự án đa quốc gia.
Xử Lý Lỗi Thường Gặp
Lỗi #VALUE! xuất hiện khi:
- Ngày không hợp lệ (nhập văn bản thay vì ngày tháng)
- Chuỗi cuối tuần không đúng 7 ký tự
- Chuỗi cuối tuần chứa ký tự khác 0 và 1
Giải pháp: Dùng hàm DATE để nhập ngày, ví dụ DATE(2025,1,1) thay vì “01/01/2025”.
Lỗi #NUM! xảy ra khi:
- Ngày nằm ngoài phạm vi Excel hỗ trợ (trước 01/01/1900)
Kết quả âm không phải lỗi – có nghĩa ngày_bắt_đầu lớn hơn ngày_kết_thúc. Hữu ích khi tính ngược thời gian hoặc kiểm tra thời hạn đã qua.
Tương Thích và Yêu Cầu
NETWORKDAYS.INTL có sẵn trong:
- Excel 2010 trở lên (Windows và Mac)
- Excel 365
- Excel Online
- Google Sheets (tên giống nhau)
Không có trong Excel 2007 hoặc cũ hơn. Nếu chia sẻ tệp cho người dùng Excel 2007, công thức sẽ hiện lỗi #NAME!
Giải pháp tương thích: Tạo cột phụ tính bằng NETWORKDAYS.INTL, sau đó sao chép và dán đặc biệt (chỉ giá trị) để chuyển thành số cố định. Tệp mở được trên Excel cũ nhưng mất tính tự động cập nhật.
Khi Nào Nên Nâng Cấp Từ NETWORKDAYS
Chuyển sang NETWORKDAYS.INTL khi:
- Làm việc với lịch quốc tế khác nhau
- Tính lương cho nhân viên nhiều quốc gia
- Quản lý dự án đa múi giờ
- Cần linh hoạt chỉ định cuối tuần tùy chỉnh
Giữ NETWORKDAYS nếu:
- Chỉ làm việc với lịch Việt Nam chuẩn
- Tệp cần tương thích Excel 2007
- Công thức đơn giản đủ đáp ứng nhu cầu
Hàm NETWORKDAYS.INTL tương thích ngược – làm việc giống NETWORKDAYS khi bỏ qua tham số cuối_tuần. Việc chuyển đổi không gây rủi ro cho tệp hiện tại.
