Tính ngày làm việc đầu tiên trong tháng (Microsoft Excel)
Dan đang thiết lập một trang tính để sử dụng trong công ty của mình và cần một cách để tính ngày làm việc đầu tiên của calendar tháng. Anh ta biết cách tính ngày đầu tiên của một tháng, nhưng ngày đó có thể rơi vào cuối tuần hoặc ngày lễ.
Cách dễ nhất để tính ngày trong tuần đầu tiên của một tháng nhất định là sử dụng hàm WORKDAY, theo cách này:
=WORKDAY(EOMONTH(A1,-1), 1)
Công thức này tìm ngày trong tuần đầu tiên của tháng của bất kỳ ngày nào trong ô A1. Hàm EOMONTH trả về ngày cuối cùng của tháng trước ngày trong ô A1, sau đó hàm WORKDAY trả về ngày trong tuần đầu tiên trong tháng tiếp theo.
Hàm được đặt cùng nhau như thế này (sử dụng EOMONTH) vì hàm WORKDAY hơi kỳ quặc; nó giả định rằng tham số đầu tiên là một ngày làm việc hợp lệ.
Điều này có nghĩa là nó không kiểm tra xem ngày được sử dụng trong tham số có rơi vào tuần làm việc từ thứ Hai đến thứ Sáu hay không. Bằng cách buộc tham số phải là một ngày trước tháng mà bạn muốn xác định ngày làm việc đầu tiên và đặt tham số thứ hai thành 1, hàm trả về ngày trong tuần thực tế đầu tiên cho tháng mong muốn.
Hàm WORKDAY cũng cho phép bạn tùy chọn chỉ định rằng các ngày lễ nên được tính đến. Cách dễ nhất để làm điều này là thiết lập danh sách các ngày lễ, trong một phạm vi ô, sau đó đặt tên cho phạm vi đó. (Cách bạn đặt tên cho một dải ô sẽ được thảo luận trong các vấn đề khác của ExcelTips.) Nếu bạn đặt tên cho dải ô như MyHolidays, thì bạn có thể sử dụng phiên bản sau của công thức:
=WORKDAY(EOMONTH(A1,-1), 1, MyHolidays)
Đây là một mẹo nhỏ nếu bạn muốn tính ngày làm việc bắt đầu cho bất kỳ tháng nhất định nào trong năm. Giả sử rằng ô A1 chứa một năm, chẳng hạn như 2020 và ô A2 chứa một số tháng, từ 1 đến 12, đại diện cho tháng mà bạn muốn bắt đầu ngày làm việc. Sau đó, bạn có thể sử dụng công thức này để có được ngày mong muốn:
=WORKDAY(DATE(A1,A2,0), 1, MyHolidays)
Cách hàm DATE được sử dụng trong công thức này trả về ngày cuối cùng của tháng trước tháng và năm được chỉ định trong ô A2 và A1.
Sau đó tham số thứ hai cho WORKDAY (1) sẽ chuyển sang ngày làm việc tiếp theo. MyHolidays (như trước đây) tính cho bất kỳ ngày lễ nào có thể xảy ra trong tháng đó.
Hàm WORKDAY chỉ hoạt động tốt cho các ngày ở Hoa Kỳ, nhưng nó sẽ phức tạp hơn một chút nếu bạn cần ngày làm việc ở các quốc gia khác. Trong trường hợp đó, hãy thử sử dụng hàm WORKDAY.INTL (được giới thiệu bắt đầu từ Excel 2010) để xem nó có thực hiện được thủ thuật cho bạn hay không. Nó linh hoạt hơn nhiều trong cách nó cho phép chỉ định các ngày cuối tuần và ngày lễ.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (10201) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: