An International Standard must take a broader view and provide wide cultural and linguistic interoperability.
The spreadsheet function NETWORKDAYS(). This function is defined by OOXML to return the number of working days between two dates, exclusive of any weekends in that interval. For some cultures, the weekend is Saturday and Sunday. For others, the days of rest are either Thursday/Friday or Friday/Saturday. OOXML does not define "weekend" and does not provide a way for the user to define it either. As implemented in Excel the function assumes the weekend is always Saturday/Sunday. This spreadsheet function is defined in a way which renders an incorrect answer for potentially billions of people across the globe. OOXML lacks cultural adaptability.

Suggest to include optional parameters for describing non-working days which are not holidays.

Part 4
3.17.7.224

Ed

Proposed Disposition of DIS 29500 Comment DK-0138 (Modified: 2008-01-02) Agreed; clarification is needed in Part 4, §3.17.7.224, page 2,722, lines 12­13 to clarify the meaning of "weekend" in NETWORKDAYS. A new NETWORKDAYS.INTL function will be added that addresses the shortcomings of NETWORKDAYS. Although the existing NETWORKDAYS function will be kept in order to maintain compatibility with existing binary documents, it will be deprecated with the suggestion that implementations promote the use of NETWORKDAYS.INTL. The following changes will be made: 1. Change Part 4, §3.17.7.224, page 2,722, lines 12­13 as follows: Description: Computes the number of whole working days between start-date and end-date. Weekend days (Saturday, Sunday) and any holidays specified by holidays are not considered as working days. 2. The following new subclause, Part 4, §3.17.7.xx, page 2,723, will be added: NETWORKDAYS.INTL Syntax: Number form: NETWORKDAYS.INTL ( start-date , end-date [ , [ weekend-number ][ , holidays ]] ) String form: NETWORKDAYS.INTL ( start-date , end-date [ , [ weekend-string][ , holidays ]] ) Description: Computes the number of whole working days between start-date and end-date. Weekend days and any holidays specified by holidays are not considered as working days. Arguments: Name Type Description start-date Number The dates for which the difference is to be computed. start-date can be earlier than, the same as, or later than end-date. end-date Number weekend-number Number Indicates the days of the week that are weekend days and are not included in the number of whole working days between start-date and end-date. 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 included in the number of whole working days between start-date and end-date. 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 number of whole working days between start-date and end-date, excluding the specified weekend days and holidays. If start-date is later than end-date, the return value shall be negative, and the magnitude shall be the number of whole working days. However, if start-date is out of range for the current date base value, #NUM! is returned. end-date is out of range for the current date base value, #NUM! is returned. [Example: NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,1,31)) results in 23 NETWORKDAYS.INTL(DATE(2006,1,31),DATE(2006,1,1)) results in -23 NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,2,1),7,{"2006/1/2","2006/1/16"}) results in 21 NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,2,1),"0000110",{"2006/1/2","2006/1/16"}) results in 21 end example] Similar Comments: FR-0521 , IL-0022 , IN-0023

Tag and Go

No Comments

Sorry, the comment form is closed at this time.

  • Argentina (1)
  • Australia (30)
  • Austria (1)
  • Belgium (1)
  • Brazil (64)
  • Bulgaria (3)
  • Canada (79)
  • Chile (217)
  • China (1)
  • Colombia (237)
  • Czech Republic (75)
  • Denmark (168)
  • Ecma (76)
  • Ecuador (1)
  • Finland (15)
  • France (592)
  • Germany (162)
  • Ghana (12)
  • Greece (113)
  • India (82)
  • Iran (58)
  • Ireland (12)
  • Israel (33)
  • Italy (2)
  • Japan (82)
  • Jordan (1)
  • Kenya (81)
  • Malaysia (23)
  • Malta (5)
  • Mexico (7)
  • New Zealand (54)
  • Norway (12)
  • Peru (10)
  • Philippines (7)
  • Poland (4)
  • Portugal (118)
  • Singapore (2)
  • South Africa (17)
  • South Korea (25)
  • Spain (1)
  • Switzerland (19)
  • Thailand (1)
  • Tunisia (3)
  • Turkey (1)
  • UK (635)
  • Uruguay (18)
  • USA (288)
  • Venezuela (73)