Công thức Excel: Ngày là ngày làm việc -

Mục lục

Công thức chung

=WORKDAY(date-1,1,holidays)=date

Tóm lược

Để xác định xem ngày có phải là ngày làm việc hay không, bạn có thể sử dụng công thức dựa trên hàm WORKDAY. Trong ví dụ được hiển thị, công thức trong C5 là:

=WORKDAY(B5-1,1,holidays)=B5

trong đó "ngày lễ" là phạm vi được đặt tên E5: E6.

Công thức trên trả về TRUE, vì Thứ Hai, ngày 21 tháng 12 năm 2015 là ngày làm việc.

Giải trình

Hàm WORKDAY tính toán các ngày trong tương lai hoặc quá khứ là "ngày làm việc" (theo định nghĩa). Nói cách khác, WORKDAY tự động loại trừ các ngày cuối tuần và (tùy chọn) ngày lễ. WORKDAY chấp nhận 3 đối số: ngày bắt đầu, ngày và ngày lễ (tùy chọn).

Vì chúng tôi muốn kiểm tra một ngày duy nhất và nhận được kết quả TRUE hoặc FALSE, nên lý tưởng nhất là chúng tôi sử dụng WORKDAY với công thức đơn giản bên dưới:

=WORKDAY(date,0)

Tuy nhiên, điều này không hoạt động, vì WORKDAY dường như không đánh giá một ngày khi không có điểm bù.

Giải pháp là cung cấp (ngày-1) cho ngày bắt đầu, 1 cho ngày và phạm vi được đặt tên là "ngày lễ" (E5: E6) cho ngày lễ.

Điều này khiến WORKDAY lùi lại một ngày, sau đó thêm 1 ngày vào kết quả, có tính đến các ngày cuối tuần và ngày lễ. Thực tế, chúng tôi đang "lừa" WORKDAY đánh giá ngày bắt đầu .

Khi ngày rơi vào cuối tuần hoặc ngày lễ, WEEKDAY sẽ tự động điều chỉnh ngày chuyển sang ngày làm việc tiếp theo.

Cuối cùng, chúng tôi so sánh start_date ban đầu với kết quả của hàm WORKDAY. Nếu ngày tháng giống nhau (tức là kết quả của WORKDAY bằng ngày bắt đầu, công thức trả về TRUE. Nếu không, công thức trả về FALSE.

Đảm bảo ngày được tính toán rơi vào ngày làm việc

Để đảm bảo bất kỳ ngày được tính toán nào cũng đến vào ngày làm việc, bạn có thể sử dụng công thức sau:

=WORKDAY(calc_date-1,1,holidays)

Lưu ý - nếu bạn cần các ngày cuối tuần tùy chỉnh, hãy sử dụng hàm WORKDAY.INTL.

thú vị bài viết...