This function is defined to skip over weekends in its calculations, but weekend is not defined and has different definitions in different parts of the world.
Define this function unambiguously and preferably in a way which provides for cultural adaptability in the definition of a weekend.
page 2821, line 21 Part 4, Section 3.17.7.344 WORKDAY
te
Proposed Disposition of DIS 29500 Comment FR-0496 (Modified: 2008-01-02) We agree that the implementation of WORKDAY makes assumptions as to which days of the week are weekdays versus weekends. We will note the behaviour of WORKDAY, and also add a new function, WORKDAY.INTL, that supports arbitrary weekend days, in order to meet international scenarios. The following change will be made to Part 4, §3.17.7.344, page 2,821, line 21: 3.17.7.344 WORKDAY … Weekend days (Saturday and Sunday) and any holidays specified by holidays are not considered as working days. The following new sub clause, Part 4, §3.17.7.345, page 2,822, will be added: WORKDAY.INTL Syntax: Number form: WORKDAY ( start-date , day-offset [ ,[ weekend-number ] [ , holidays ]] ) String form: WORKDAY ( start-date , day-offset [ , [ weekend-string ] [ , holidays ]] ) Description: Computes the serial value of the date that is day-offset working days offset from start-date. Weekend days and any holidays specified by holidays are not considered as working days. Arguments: Name Type Description start-date number The start date, truncated to integer. day-offset number The number of working days before or after start-date. A positive value yields a future date; a negative value yields a past date; a zero value yields the date start-date. day-offset is truncated to an integer. weekend-number number Indicates the days of the week that are weekend days and are not considered working days. Values are shown in the table below Name Type Description weekend-string string Indicates the days of the week that are weekend days and are not considered working days. Values of weekend-string are seven characters long and each character in the string represents a day of the week, beginning with Monday. [Example: "0000011" would result in a weekend that is Saturday and Sunday. end example] holidays reference, array An optional set of one or more dates that are to be excluded from the working day calendar. holidays shall be a range of cells that contain the dates, or an array constant of the serial values that represent those dates. The ordering of dates or serial values in holidays can be arbitrary. weekend-number Weekend days 1 or omitted Saturday, Sunday 2 Sunday, Monday 3 Monday, Tuesday 4 Tuesday, Wednesday 5 Wednesday, Thursday 6 Thursday, Friday 7 Friday, Saturday 11 Sunday only 12 Monday only 13 Tuesday only 14 Wednesday only 15 Thursday only 16 Friday only 17 Saturday only Return Type and Value: number The serial value of the date that is day-offset working days offset from start-date, excluding the specified weekend days and holidays. However, if start-date is out of range for the current date base value, #NUM! is returned. Any date in holidays is out of range for the current date base value, #NUM! is returned. start-date plus day-offset yields an invalid date, #NUM! is returned. [Example: WORKDAY.INTL(DATE(2006,1,1),0) results in a serial value corresponding to 1-Jan-2006 WORKDAY.INTL(DATE(2006,1,1),10) results in a serial value corresponding to 13-Jan-2006 WORKDAY.INTL(DATE(2006,1,1),10,7) results in a serial value corresponding to 13-Jan-2006 WORKDAY.INTL(DATE(2006,1,1),-10) results in a serial value corresponding to 19-Dec-2005 WORKDAY.INTL(DATE(2006,1,1),20,1,{"2006/1/2","2006/1/16"}) results in a serial value corresponding to 31-Jan-2006 WORKDAY.INTL(DATE(2006,1,1),20,"0000011",{"2006/1/2","2006/1/16"}) results in a serial value corresponding to 31-Jan-2006 end example] Similar Comments: CL-0173 , CO-0203 , GB-0436 , GR-0113 , US-0232
