Kiến Thức Excel Hàm đếm số ngày làm việc trong tháng Excel

Hàm đếm số ngày làm việc trong tháng Excel [hướng dẫn chi tiết]

Để tính số ngày làm việc trong 1 tháng với các trường hợp không tính thứ 7/chủ nhật hoặc trừ những ngày lễ,… ta sẽ vận dụng hàm NETWORKDAYS kết hợp với các hàm khác trong Excel để thực hiện:

  • NETWORKDAYS(start_date, end_date, [holidays]): đếm ngày làm việc với cuối tuần mặc định là thứ 7 và chủ nhật.
  • NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays]): đếm ngày làm việc với cuối tuần có thể tùy chỉnh lựa chọn (ví dụ nghỉ Chủ nhật thôi, hay nghỉ Thứ 6–Thứ 7…).

1. Tính số ngày làm việc của 1 tháng bất kỳ

eyeXem thêm file tính số ngày làm việc trong tháng

1.1. Tính ngày làm việc trong tháng (trừ T7/CN)

Giả sử ta có thể dữ liệu về năm (ở ô B3) và tháng (ở ô B4) như dưới đây:

dữ liệu tháng năm để tính ngày làm việc trong tháng
Ở trong ví dụ trên ta có giá trị năm ở ô B3 là 2025, giá trị tháng ở ô B4 là 10.
  • Để tính ngày đầu tháng ta sử dụng công thức: =DATE(B3, B4, 1) => ở đây hàm sẽ trả về kết quả: 1/10/2025
  • Để tính ngày cuối tháng ta sử dụng công thức: =EOMONTH(DATE(B3,B4,1), 0) => ở đây hàm sẽ trả về kết quả: 31/10/2025
  • Để tính số ngày làm việc trong tháng (mặc định không tính T7/CN) ta dùng công thức: =NETWORKDAYS(DATE(B3,B4,1), EOMONTH(DATE(B3,B4,1),0)) => ở đây hàm sẽ trả về kết quả 23.

công thức tính ngày làm việc trong tháng cơ bản

1.2. Tính ngày làm việc trong tháng trừ ngày lễ

Trong trường hợp muốn tính số ngày làm việc trừ ngày lễ, ta sẽ tạo 1 danh sách ngày lễ (ví dụ: B8:B20) như dưới đây:

tạo danh sách ngày nghỉ để tính số ngày làm việc trong tháng

Sau đó, để tính số ngày làm việc trong tháng trừ đi các ngày nghỉ lễ, ta sử dụng công thức sau:

=NETWORKDAYS(DATE(B3,B4,1), EOMONTH(DATE(B3,B4,1),0), B8:B20)

Kết quả hàm trên sẽ trả về kết quả là 23 như dưới đây:

tính ngày làm việc trong tháng trừ ngày lễ

1.3. Tính số ngày làm việc trong tháng với cuối tuần tùy chỉnh

Không phải công ty nào cũng quy định ngày làm việc là từ thứ 2 đến thứ 6 mà có thể từ thứ 2 đến thứ 7. Ta cũng có thể sử dụng hàm để tính ngày làm việc cuối tuần với hàm NETWORKDAYS.INTL với cú pháp sau:

=NETWORKDAYS.INTL(start, end, weekend_code, [holidays])

Trong đó weekend_code là số thể hiện mẫu ngày nghỉ, mặc định giá trị 1 tương ứng với nghỉ T7/CN. Dưới đây là bảng mã để tùy chỉnh với hàm NETWORKDAYS.INTL:

Mã weekend_code cho hàm NETWORKDAYS.INTL Y nghĩa
1 Mặc định: Thứ 7 & Chủ nhật
2 Chủ nhật & Thứ 2
3 Thứ 2 & Thứ 3
4 Thứ 3 & Thứ 4
5 Thứ 4 & Thứ 5
6 Thứ 5 & Thứ 6
7 Thứ 6 & Thứ 7
11 Chỉ nghỉ Chủ nhật
12 Chỉ nghỉ Thứ 2
13 Chỉ nghỉ Thứ 3
14 Chỉ nghỉ Thứ 4
15 Chỉ nghỉ Thứ 5
16 Chỉ nghỉ Thứ 6
17 Chỉ nghỉ Thứ 7

Ví dụ với bảng dữ liệu trên, ta có thể tính số ngày làm việc trong tháng với trường hợp:

  • Chỉ nghỉ chủ nhật: =NETWORKDAYS.INTL(DATE(B3,B4,1), EOMONTH(DATE(B3,B4,1),0), 11)
  • Nghỉ T6 và T7: =NETWORKDAYS.INTL(DATE(B3,B4,1), EOMONTH(DATE(B3,B4,1),0), 7)

công thức tính ngày làm việc trong tháng tùy chỉnh

2. Tính số ngày làm việc của tháng hiện tại

Với trường hợp ta muốn tính số ngày làm việc của tháng hiện tại thì ta có thể sử dụng công thức sau:

=NETWORKDAYS(EOMONTH(TODAY(),-1)+1, EOMONTH(TODAY(),0))

Công thức trên sẽ tính số ngày làm việc dựa trên ngày hiện tại. Ví dụ hiện tại là 09/10/2025 thì nó sẽ tính số ngày làm việc của tháng 10/2025 và trả về kết quả là 23.

Nếu muốn trừ đi ngày lễ (B8:B20) thì ta sử dụng công thức sau:

=NETWORKDAYS(EOMONTH(TODAY(),-1)+1, EOMONTH(TODAY(),0),B8:B20)

công thức tính số ngày làm việc của tháng hiện tại.

Trên đây là các hàm sử dụng để đếm số ngày làm việc trong tháng. Chúc các bạn áp dụng thành công!