Explanation
The WORKDAY function returns a date in the future or past, based on a start date, workdays, and optional holidays. WORKDAY automatically excludes weekends, and counts only Monday through Friday as workdays.
In the example shown, WORKDAY is configured to get a project midpoint date by adding half of the days value to the start date:
=WORKDAY(C5,E5/2,holidays)
Project A is 5 workdays, so E5/2 = 2.5 days. The WORKDAY function ignores fractional values and uses only the integer portion of days, so it uses the value 2 to return a date of May 8.
Note the WORKDAY function does not count the start date as a workday.
Custom schedule
The WORKDAY function always treats Saturday and Sunday as non-working days. To get a midpoint for a project where working days are not Monday-Friday, substitute the WORKDAY.INTL function for WORKDAY. For example, to calculate a midpoint in a project where workdays are Monday-Saturday you can use a formula like this:
=WORKDAY.INTL(start,days/2,11,holidays)
There are many other ways to configure WORKDAY.INTL. This page provides details .
Explanation
This formula is uses the WORKDAY function, which returns a date in the future or past, based on start date and required work days. WORKDAY automatically excludes weekends, and can also exclude holidays if provided as a range of dates.
In the example shown, the project end date is in column C, and days is in column D. The end date represents a due date or target date, and days represents duration in work days. In column E, the WORKDAY function calculates a date by which the project must start in order to finish by the end date.
In this case, we need to count backwards from the end date, so we supply days as a negative number. For holidays, we provide the named range “holidays”, which includes the dates in G5:G9. The dates will not be included as workdays.
With a negative value for days, WORKDAY moves in time from the end date, taking into account weekends and holidays, and returns December 19, 2018 as the start date. If holidays are not provided, the same formula returns a start date of December 24.
Note the WORKDAY function does not count the start date as a workday.
Custom workdays
If your schedule requires custom workdays (i.e. weekdays are not Monday-Friday) you can substitute the WORKDAY.INTL function for WORKDAY. For example, to calculate a start date for a project where workdays include Saturday, you could use:
=WORKDAY.INTL(C5,-D5,11,holidays)
WORKDAY.INTL can be configured in many ways. This page provides details .