Menu

Hàm NETWORKDAYS và WORKDAY trong Excel: tính ngày làm việc

=NETWORKDAYS(A2,B2) đếm số ngày làm việc (Thứ Hai đến Thứ Sáu) từ A2 đến B2, tính cả hai ngày đầu và cuối. =WORKDAY(A2,10) trả về ngày cách A2 10 ngày làm việc. Cả hai hàm đều bỏ qua được một danh sách ngày nghỉ lễ.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=NETWORKDAYS(A2,B2) đếm số ngày làm việc từ ngày ở A2 đến ngày ở B2, tính cả hai đầu, với ngày làm việc là Thứ Hai đến Thứ Sáu. =WORKDAY(A2,10) làm theo chiều ngược lại: hàm trả về ngày cách A2 10 ngày làm việc.

Số ngày làm việc của từng dự án
C2
ABCD
1StartEndWorking daysCalendar days
22026-03-022026-03-131012
32026-03-022026-03-312230
42026-03-062026-03-0924
52026-03-072026-03-0802
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Dự án đầu tiên chạy từ một ngày Thứ Hai đến Thứ Sáu của tuần sau: 12 ngày lịch, 10 ngày làm việc. Cả tháng 3 năm 2026 tính từ ngày 2 có 22 ngày làm việc. Từ Thứ Sáu đến Thứ Hai tuần sau là 2, còn riêng hai ngày cuối tuần là 0. Đổi một ngày kết thúc để xem số đếm thay đổi. (Để đếm số ngày thông thường, xem số ngày giữa hai ngày.)

NETWORKDAYS có tính ngày nghỉ lễ

Đối số thứ ba là một vùng chứa các ngày cần bỏ qua ngoài ngày cuối tuần. Hãy để các ngày lễ trong một cột riêng (hoặc trên một trang tính khác) và khóa vùng bằng $ để nó đứng yên khi kéo công thức xuống.

Ngày làm việc trừ ngày lễ
C2
ABCDE
1StartEndNo holidaysWith holidaysHolidays
22026-03-302026-04-101082026-04-03
32026-04-012026-04-3022202026-04-06
42026-04-272026-05-081092026-05-01
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Từ ngày 30 tháng 3 đến ngày 10 tháng 4 có 10 ngày trong tuần, trong đó có hai ngày lễ (Thứ Sáu Tuần Thánh và Thứ Hai Phục Sinh năm 2026), nên còn 8 ngày làm việc. Chỉ những ngày lễ nằm trong từng khoảng thời gian mới bị trừ: hàng cuối chỉ mất ngày 1 tháng 5 và không gì khác. Xóa một ngày lễ ở cột E thì số đếm lại tăng lên.

WORKDAY: hạn chót tính theo ngày làm việc

WORKDAY(start_date, days, [holidays]) trả về ngày cách ngày bắt đầu một số ngày làm việc nhất định. Bản thân ngày bắt đầu không được tính, và kết quả không bao giờ rơi vào cuối tuần hay ngày lễ.

Hạn chót tính theo ngày làm việc
C2
ABCDE
1ReceivedDaysDueDue (holidays)Holidays
22026-03-27102026-04-102026-04-142026-04-03
32026-04-0232026-04-072026-04-092026-04-06
42026-04-2452026-05-012026-05-042026-05-01
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Một yêu cầu nhận vào Thứ Sáu 2026-03-27 với thời hạn 10 ngày làm việc sẽ đến hạn vào 2026-04-10, hoặc 2026-04-14 khi bỏ qua Thứ Sáu Tuần Thánh và Thứ Hai Phục Sinh. Với số ngày âm, WORKDAY đếm lùi: =WORKDAY(A2,-5) là ngày làm việc trước đó một tuần. Để tìm "ngày làm việc kế tiếp", dùng 1; còn để giữ nguyên một ngày vốn đã là ngày làm việc, dùng =WORKDAY(A2-1,1).

Cuối tuần khác: NETWORKDAYS.INTL

Ở những nơi cuối tuần không phải Thứ Bảy và Chủ Nhật, NETWORKDAYS.INTL nhận mã cuối tuần làm đối số thứ ba và danh sách ngày lễ làm đối số thứ tư.

Cuối tuầnMã
Thứ Bảy, Chủ Nhật1 (mặc định)
Chủ Nhật, Thứ Hai2
Thứ Sáu, Thứ Bảy7
Chỉ Chủ Nhật11
Chỉ Thứ Bảy17
Kiểu bất kỳ7 ký tự, bắt đầu từ Thứ Hai, 1 = ngày nghỉ: "0000011"
Số ngày làm việc trong tháng 3 năm 2026 theo kiểu cuối tuần
C2
ABCDEF
1WeekendCodeWorking daysStartEnd
2Saturday and Sunday1222026-03-012026-03-31
3Friday and Saturday723
4Sunday only1126
5Mon, Wed, Fri only010101113
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Tháng 3 năm 2026 có 22 ngày làm việc nếu nghỉ Thứ Bảy và Chủ Nhật, 23 ngày nếu nghỉ Thứ Sáu và Thứ Bảy, và 26 ngày nếu chỉ nghỉ Chủ Nhật. Hàng cuối là lịch làm bán thời gian: 0101011 cho nghỉ thêm Thứ Ba và Thứ Năm ngoài cuối tuần, còn lại 13 ngày. Trong một ô, mã như 0101011 phải là văn bản (gõ kèm dấu nháy đơn ở đầu, '0101011), nếu không Excel sẽ bỏ số 0 ở đầu.

WORKDAY.INTL làm điều tương tự cho hạn chót. Đây là kết quả Excel trả về cho 10 ngày làm việc sau Thứ Hai, ngày 2 tháng 3 năm 2026:

=WORKDAY.INTL(DATE(2026,3,2), 10)              2026-03-16   (Saturday and Sunday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, 7)           2026-03-16   (Friday and Saturday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, 11)          2026-03-13   (Sunday off)
=WORKDAY.INTL(DATE(2026,3,2), 10, "0000011")   2026-03-16   (same as code 1)

Luyện tập: ngày làm việc và hạn chót

Đến lượt bạn: ngày làm việc
C2
ABCDE
1StartEndWorking daysHolidays
22026-04-012026-04-302026-04-03
32026-04-06
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Trong C2, đếm số ngày làm việc từ A2 đến B2, tính cả hai đầu, bỏ qua các ngày lễ ở E2:E3.

Đến lượt bạn: hạn chót
C2
ABC
1ReceivedDaysDue
22026-05-148
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Trong C2, trả về ngày cách ngày ở A2 số ngày làm việc ghi ở B2 (bỏ qua cuối tuần, không có ngày lễ).

NETWORKDAYS tính cả hai đầu, WORKDAY thì không

Hai hàm này lệch nhau một ngày ở cách tính ngày bắt đầu, điều khiến nhiều người bất ngờ khi dùng chung. NETWORKDAYS từ Thứ Hai đến Thứ Sáu cùng tuần cho ra 5: cả hai ngày đều được tính. WORKDAY từ Thứ Hai đó với 5 ngày lại rơi vào Thứ Hai tuần sau, vì hàm bắt đầu đếm từ ngày hôm sau.

Độ lệch một ngày giữa hai hàm
C2
ABC
1StartWORKDAY(A2,5)NETWORKDAYS back
22026-03-022026-03-096
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

WORKDAY trả về 2026-03-09, và NETWORKDAYS từ 2026-03-02 đến ngày đó cho ra 6 chứ không phải 5. Với hạn chót "trong vòng 5 ngày làm việc, tính cả hôm nay", dùng =WORKDAY(A2,4) khi A2 là ngày làm việc. Hãy thống nhất một lần quy ước mà nhóm bạn dùng và ghi chú ngay cạnh công thức.

Câu hỏi thường gặp

Làm sao đếm số ngày làm việc giữa hai ngày trong Excel?

=NETWORKDAYS(A2,B2) đếm các ngày từ Thứ Hai đến Thứ Sáu trong khoảng từ A2 đến B2, tính cả hai ngày đầu và cuối. Thêm một vùng chứa các ngày nghỉ lễ làm đối số thứ ba để bỏ qua cả những ngày đó: =NETWORKDAYS(A2,B2,$E$2:$E$4).

Làm sao cộng thêm ngày làm việc vào một ngày trong Excel?

=WORKDAY(A2,10) trả về ngày cách A2 10 ngày làm việc, bỏ qua Thứ Bảy và Chủ Nhật. Số âm thì đếm lùi: =WORKDAY(A2,-5). Thêm vùng ngày nghỉ lễ làm đối số thứ ba.

NETWORKDAYS và NETWORKDAYS.INTL khác nhau thế nào?

NETWORKDAYS luôn coi Thứ Bảy và Chủ Nhật là cuối tuần. NETWORKDAYS.INTL nhận thêm một đối số cuối tuần: 7 cho Thứ Sáu và Thứ Bảy, 11 cho riêng Chủ Nhật, hoặc một chuỗi bảy ký tự như "0000011" trong đó 1 đánh dấu ngày nghỉ, bắt đầu từ Thứ Hai.

NETWORKDAYS có tính cả ngày bắt đầu không?

Có. NETWORKDAYS tính cả ngày bắt đầu lẫn ngày kết thúc nếu đó là ngày làm việc, nên từ Thứ Hai đến Thứ Sáu tuần sau là 5. WORKDAY thì không tính ngày bắt đầu: =WORKDAY(A2,1) là ngày làm việc kế tiếp.

Điều gì xảy ra nếu ngày lễ rơi vào cuối tuần?

Không có gì thêm: NETWORKDAYS và WORKDAY vốn đã bỏ qua các ngày cuối tuần, nên ngày lễ rơi vào Thứ Bảy không bị trừ hai lần.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu