Information technology - Document description and processing languages - Office Open XML File Formats - Part 1: Fundamentals and Markup Language Reference - Amendment 1

Technologies de l'information — Description des documents et langages de traitement — Formats de fichier "Office Open XML" — Partie 1: Principes essentiels et référence de langage de balisage — Amendement 1

General Information

Status
Withdrawn
Current Stage
5098 - Project deleted
Start Date
22-Aug-2012
Completion Date
30-Oct-2025
Ref Project

Relations

Draft
ISO/IEC 29500-1:2011/PRF Amd 1
English language
31 pages
sale 15% off
sale 15% off

Frequently Asked Questions

ISO/IEC 29500-1:2011/PRF Amd 1 is a draft published by the International Organization for Standardization (ISO). Its full title is "Information technology - Document description and processing languages - Office Open XML File Formats - Part 1: Fundamentals and Markup Language Reference - Amendment 1". This standard covers: Information technology - Document description and processing languages - Office Open XML File Formats - Part 1: Fundamentals and Markup Language Reference - Amendment 1

Information technology - Document description and processing languages - Office Open XML File Formats - Part 1: Fundamentals and Markup Language Reference - Amendment 1

ISO/IEC 29500-1:2011/PRF Amd 1 is classified under the following ICS (International Classification for Standards) categories: 35.060 - Languages used in information technology; 35.240.30 - IT applications in information, documentation and publishing. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO/IEC 29500-1:2011/PRF Amd 1 has the following relationships with other standards: It is inter standard links to ISO/IEC 29500-1:2011, ISO/IEC 29500-1:2012. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO/IEC 29500-1:2011/PRF Amd 1 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 29500-1
Second edition
2011-08-15
AMENDMENT 1
2012-##-##
Information technology — Document
description and processing languages —
Office Open XML File Formats —
Part 1:
Fundamentals and Markup Language
Reference
AMENDMENT 1
Technologies de l'information — Description des documents et
langages de traitement — Formats de fichier “Office Open XML” —
Partie 1: Principes essentiels et référence de langage de balisage
AMENDEMENT 1
PROOF/ÉPREUVE
Reference number
ISO/IEC 29500-1:2011/Amd.1:2012(E)
©
ISO/IEC 2012
ISO/IEC 29500-1:2011/Amd.1:2012(E)

©  ISO/IEC 2012
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56  CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii PROOF/ÉPREUVE © ISO/IEC 2012 – All rights reserved

ISO/IEC 29500-1:2011/Amd.1:2012
Contents
Foreword . v
Introduction . vi
Notational conventions . vii
1. §18.2.27, “workbook (Workbook)”, p. 1740 . 1
2. §18.2.28, “workbookPr (Workbook Properties)”, p. 1742 . 1
3. §18.2.28, “workbookPr (Workbook Properties)”, p. 1744, attribute various. 1
4. §18.3.1.96, “v (Cell Value)”, pp. 1889–1890 . 2
5. §18.8.31, “numFmts (Number Formats)”, p. 1986 . 3
6. §18.17.4, “Dates and Times”, p. 2300 . 3
7. §18.17.4.1, “Date Conversion for Serial ValuesSerial Date-Times”, pp. 2300–2302 . 5
8. §18.17.4.2, “Time Conversion for Serial ValuesSerial Date-Times”, p. 2302 . 6
9. §18.17.4.3, “Combined Date and Time Conversion for Serial ValuesSerial date-times”, p. 2302 . 7
10. §18.17.6.7, “Dates and Times”, p. 2308 . 8
11. §18.17.7.2, “ACCRINT”, p. 2314 . 8
12. §18.17.7.3, “ACCRINTM”, p. 2317 . 8
13. §18.17.7.7, “AMORDEGRC”, p. 2322 . 9
14. §18.17.7.8, “AMORLINC”, p. 2325 . 9
15. §18.17.7.57, “COUPDAYBS”, p. 2376 . 9
16. §18.17.7.58, “COUPDAYS”, p. 2378 . 9
17. §18.17.7.59, “COUPDAYSNC”, p. 2381 . 9
18. §18.17.7.60, “COUPNCD”, p. 2383 . 9
19. §18.17.7.61, “COUPNUM”, p. 2386 . 10
20. §18.17.7.62, “COUPPCD”, p. 2388 . 10
21. §18.17.7.74, “DATE”, pp. 2400–2402 . 10
22. §18.17.7.75, “DATEDIF”, p. 2403 . 12
23. §18.17.7.76, “DATEVALUE”, pp. 2403–2404 . 12
24. §18.17.7.78, “DAY”, pp. 2406–2407 . 13
25. §18.17.7.79, “DAYS360”, p. 2408 . 13
26. §18.17.7.91, “DISC”, p. 2420 . 14
27. §18.17.7.101, “DURATION”, p. 2430 . 14
28. §18.17.7.105, “EDATE”, p. 2432–2433 . 14
29. §18.17.7.107, “EOMONTH”, pp. 2434–2435 . 15
30. §18.17.7.144, “HOUR”, pp. 2465–2466. 16
31. §18.17.7.171, “INTRATE”, p. 2492 . 17
32. §18.17.7.208, “MDURATION”, p. 2522 . 17
33. §18.17.7.214, “MINUTE”, p. 2527 . 17
34. §18.17.7.220, “MONTH”, p. 2532 . 18
35. §18.17.7.226, “NETWORKDAYS”, pp. 2536–2537 . 19
36. §18.17.7.227, “NETWORKDAYS.INTL”, pp. 2537–2538 . 20
37. §18.17.7.234, “NOW”, p. 2543 . 20
38. §18.17.7.241, “ODDFPRICE”, pp. 2552–2553 . 21
39. §18.17.7.242, “ODDFYIELD”, p. 2555 . 21
Copyright © ISO/IEC 2012 – All rights reserved  iii
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

40. §18.17.7.243, “ODDLPRICE”, p. 2558 . 21
41. §18.17.7.244, “ODDLYIELD”, p. 2561 . 21
42. §18.17.7.257, “PRICE”, p. 2574 . 21
43. §18.17.7.258, “PRICEDISC”, p. 2577 . 22
44. §18.17.7.259, “PRICEMAT”, p. 2580. 22
45. §18.17.7.271, “RECEIVED”, p. 2591 . 22
46. §18.17.7.287, “SECOND”, pp. 2603–2604 . 22
47. §18.17.7.318, “TBILLEQ”, p. 2629 . 23
48. §18.17.7.319, “TBILLPRICE”, p. 2630 . 23
49. §18.17.7.320, “TBILLYIELD”, p. 2631 . 23
50. §18.17.7.322, “TEXT”, p. 2632 . 23
51. §18.17.7.323, “TIME”, p. 2633 . 24
52. §18.17.7.324, “TIMEVALUE”, pp. 2633–2634 . 24
53. §18.17.7.326, “TODAY”, p. 2635 . 25
54. §18.17.7.337, “VALUE”, pp. 2642–2643 . 25
55. §18.17.7.344, “WEEKDAY”, pp. 2649–2650 . 26
56. §18.17.7.345, “WEEKNUM”, p. 2651 . 26
57. §18.17.7.347, “WORKDAY”, pp. 2653–2654 . 26
58. §18.17.7.348, “WORKDAY.INTL”, pp. 2654–2656 . 27
59. §18.17.7.349, “XIRR”, p. 2657 . 28
60. §18.17.7.350, “XNPV”, p. 2658. 29
61. §18.17.7.351, “YEAR”, pp. 2658–2659 . 29
62. §18.17.7.353, “YIELD”, p. 2664 . 30
63. §18.17.7.354, “YIELDDISC”, p. 2667 . 30
64. §18.17.7.355, “YIELDMAT”, p. 2670 . 30
65. §21.2.2.34, “crossesAt (Crossing Value)”, p. 3785 . 30
66. §A.2, “SpreadsheetML”, p. 4505, lines 4246–4269 . 31
67. §B.2, “SpreadsheetML”, p. 4812, lines 4411–4417 . 31
68. §M.2, “SpreadsheetML”, p. 5573 . 31

iv  Copyright © ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)
form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC
participate in the development of International Standards through technical committees established by the
respective organization to deal with particular fields of technical activity. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental,
in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have
established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75% of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
Amendment 1 to ISO/IEC 29500-1 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information
technology, Subcommittee SC 34, Document description and processing languages.
Copyright © ISO/IEC 2012 – All rights reserved  v
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

Introduction
ISO/IEC 29500-1 incorporates several features designed to allow the use of ISO 8601 lexical date formats for
spreadsheet cell values. Typically, standards will profile ISO 8601 to explain the subset of formats and entities
covered (see, for example, SQL or XML) but this was not done in ISO/IEC 29500-1. Subsequently, several issues
exist with those features, primarily:
1. No guidance is provided on representations covered. ISO 8601 covers many aspects in addition to
straightforward date/time representations, and ISO/IEC 29500-1 gives no guidance as to which of those
is permitted in spreadsheet cells.
2. No guidance is given on date/time precision or restrictions on range.
3. ISO/IEC 29500-1 states that all dates and times are in UTC, but does not describe how to treat non-UTC
or local dates. This makes time zone treatment implementation-defined, and does not reflect the
expectation of users.
4. The leap-year bug is not removed from the Strict variant of ISO/IEC 29500-1. This Strict variant retains a
date base that erroneously treats 1900 as a leap year.
This amendment addresses the issues identified above by making the following changes:
1. Representations from ISO 8601 are limited in ISO/IEC 29500 to include only date, time, and dateTime,
with specific lexical formats defined. [Issues #1, 2]
2. The dateCompatibility attribute (used to determine whether 1900 is treated erroneously as a leap year)
has been removed.) [Issue #4]
3. Dates and times in SpreadsheetML cell values and formulas are specified in local time, with no UTC or
UTC-offset designation permitted. [Issue #3]
4. The range of possible dates in SpreadsheetML cell values and formulas is changed from years [-9999,
9999] to years [0001, 9999]. [Issue #2]
5. The term date system is now used consistently to describe epochs, and the term serial date-times is now
used to describe numeric values in SpreadsheetML cell values and formulas that are used to specify
dates and/or times. [editorial change for consistency]
6. The 1904 date base was renamed 1904 backward-compatibility when compared to ECMA-376, edition 1;
this has been reverted to 1904, as there is no known reason as to why the 1904 date base should be
seen as a legacy construct. [clean-up change]
vi ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
Notational conventions
The title of each change is the complete reference to the clause or subclause being modified. In all cases, the
title begins with the clause or subclause number, the clause or subclause name, and the page number. In those
cases containing changes to a particular row of a table, the value in that row’s first column is appended to the
title. As the lines in each XML schema subclause are numbered starting at 1 and going to the end of a schema,
modifications to schemas also contain the numbers of the lines being modified.
A change can contain any one or more of the following kinds of edits:
1. Addition of text: New text is displayed in blue and is underlined, as demonstrated here.
2. Deletion of text: Deleted text is displayed in red and is struck-through, as demonstrated here.
3. Change of format of text: Text whose format (but not its content) has changed is displayed in green and
is double-underlined, as demonstrated here.
Some changes involve edits to large paragraphs, tables, and/or XML fragments. In such cases, the changes
contain only as much unchanged content as is necessary to establish the correct context of each change.
Unchanged content that is not necessary to establish the correct context of a change is represented by an
ellipsis (…).
Within a change, intent that cannot be represented visually as an edit is written as an instruction in italic and
delimited by curly brackets; for example: {In paragraph 2, item 4, and in paragraph 4, make the numbers in the
text “17–23” hyperlinked forward references to Clauses 17 and 23.}
Except for whole clauses or annexes that are identified as being informative, informative text that is contained
within normative text is indicated in the following ways:
1. [Example: code fragment, possibly with some narrative … end example]
2. [Note: narrative … end note]
3. [Rationale: narrative … end rationale]
4. [Guidance: narrative … end guidance]

Copyright © ISO/IEC 2012 – All rights reserved  vii
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
Information technology — Document description and
processing languages — Office Open XML File Formats —

Part 1:
Fundamentals and Markup Language Reference

AMENDMENT 1
1. §18.2.27, “workbook (Workbook)”, p. 1740

[Example:

defaultThemeVersion="123820"/>

end example]
2. §18.2.28, “workbookPr (Workbook Properties)”, p. 1742

[Example:
saveExternalLinkValues="0"
defaultThemeVersion="123820"/>
end example]
3. §18.2.28, “workbookPr (Workbook Properties)”, p. 1744, attribute
various

date1904 (Date Value that indicates whether to use a 1900 or 1904 date base system when converting
1904) serial valueserial date-times in the workbook to dates. [Note: If the dateCompatibility
attribute is 0 or false, this attribute is ignored. end note]

A value of 1 or true indicates the workbook uses the 1904 backward compatibility date
system.
Copyright © ISO/IEC 2012 – All rights reserved  1
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

A value of 0 or false indicates the workbook uses a date system based inthe 1900 date
system, as specified by the value of the dateCompatibility attribute.

(See §18.17.4.1 for the definition of the date basessystems.)

The default value for this attribute is false.

The possible values for this attribute are defined by the W3C XML Schema boolean
datatype.
dateCompatibility Specifies whether the date base should be treated as a compatibility date base or should
(Date Compatibility)
support the full ISO 8601 date range.

A value of 1 or true indicates that the date system in use is either the 1900 backward
compatibility date base or the 1904 backward compatibility date base, as specified by the
value of the date1904 attribute.

A value of 0 or false indicates that the date system is the 1900 date base, based on the
ISO 8601 date range.
(See §18.17.4.1 for the definition of the date bases.)

The default value for this attribute is true.

The possible values for this attribute are defined by the W3C XML Schema boolean
datatype.
4. §18.3.1.96, “v (Cell Value)”, pp. 1889–1890

[Example: In this example, cell B4 contains the number "360" and, cell C4 contains the UTC local date and time
22 November 1976, 08:30, and cell C5 contains the 1900 date system serial date-time for the date-time in
cell C4.

360


1976-11-22T08:30Z


C4
28086.3541666667

2 ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
end example]
5. §18.8.31, “numFmts (Number Formats)”, p. 1986

See §18.17.4.1 for details on possible date basessystems.
6. §18.17.4, “Dates and Times”, p. 2300
Each unique instantDates and times in cells in SpreadsheetML time is are stored as an ISO 8601-formatted
strings, which is made up of a date component, a time component, and a timezone componentusing the ISO
8601 lexical formats defined below.
The earliest date permitted is 0001-01-01, 00:00. The latest date permitted is 9999-12-31, 23:59:59.999. The
time midnight shall be expressed always with hour component 0 and not with hour component 24. Leap seconds
are not permitted – the maximum number of seconds expressed in a minute shall be 60.
Values with only a date component shall be expressed using the Complete, Extended Format Calendar Date
representation, as defined in ISO 8601, §B.1.1 and §B2.1.
[Example: The date 5 October 1975 is expressed in SpreadsheetML as
1975-10-05
end example]
Values with only a time-of-day component shall be expressed using the Complete, Extended Format Time Of Day
representation, as defined in ISO 8601, §B.1.2 and §B2.2. The decimal separator shall be a full stop (period), and
fractional seconds shall be expressed with no more than three decimal places.
[Example: The time-of-day 08:30 can be expressed in the following ways within SpreadsheetML:
08:30
08:30:00
08:30:00.000
end example]
Values with both date and time-of-day components shall be expressed using the Complete, Extended Format
Calendar Date and Time Of Day representation, as defined in ISO 8601, §B.1.3 and §B2.3. For the time
component, only seconds may use a decimal separator, the decimal separator shall be a full stop (period) and
fractional seconds shall be expressed with no more than three decimal places.
[Example: The date 22 November 1976 at local time 08:30 can be expressed in the following ways within
SpreadsheetML:
Copyright © ISO/IEC 2012 – All rights reserved  3
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

1976-11-22T08:30
1976-11-22T08:30:00
1976-11-22T08:30:00.000
The date 15 October 1582—the day the Gregorian calendar went into effect for some countries—can be
expressed in the following ways:
1582-10-15
1582-10-15T00:00
1582-10-15T00:00:00
1582-10-15T00:00:00.000
end example]
[Note: SpreadsheetML relates all dates to the proleptic Gregorian calendar of ISO 8601, treating time periods
extending into the past and into the distant future as if the Gregorian calendar is in effect for all of those days.
January 1 is always the first day of each year, ignoring historical changes to the period of the calendar year. The
gaps and shifts introduced as part of calendar reforms and for introduction of leap seconds are ignored under
the proleptic Gregorian calendar system. end note]
Numerous functions take dates and/or times as arguments. Functions that care only about the date shall ignore
any time information that is provided. Functions that care only about the time shall ignore any date information
that is provided.
[Example: The date 22 November 1976 at exactly 08:30 Pacific Standard Time (+08:00 UTC) could be
represented in the following (non-exhaustive list of) ways within SpreadsheetML:
1976-11-22T08:30:00,000+08:00
1976-11-22T16:30Z
end example]
Wherever a calculation in a formula is specified to apply to number values and a date or time is provided, the
effect shall be the same as if the date and/or time value is converted to the corresponding serial date-time.
Wherever a calculation in a formula is specified to apply to or to deliver a date and/or time value, and a number
value is supplied, the number value is interpreted as a serial date-time for the date and/or time. The
relationships between serial date-times and dates and times are specified in §18.17.4.1, §18.17.4.2, and
§18.17.4.3.
For compatibility with existing spreadsheet applications, a consuming application should allow certain numeric
serial values to be interpreted as dates and times for display or for use in calculations. These values should
behave as defined in §18.17.4.1, §18.17.4.2, and §18.17.4.3.
4 ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
7. §18.17.4.1, “Date Conversion for Serial ValuesSerial Date-Times”,
pp. 2300–2302
All date values stored in cells within a SpreadsheetML file are stored in the ISO 8601 format.
For compatibility, a SpreadsheetML application can interpret serial-number values in cells or in formulas as
dates. This subclause describes how serial number values can be converted to date values depending on the
compatibility mode.
A date that can be interpreted as a numeric value is a serial valueA serial date-time is a number that represents
a date and time. This is made up of a signed value is in units of days relative to the base date for the selected
date system. integer date component and an unsigned fractional time component. Going forward in time, the
date component of a serial valueSerial date-times increases by 1 each dayinto each successive day and decrease
by 1 into each preceding day. Fractional portions of serial date-times represent fractions of a single day.
th
[Example: When using the 1900 date system, which has a base date of 30 December 1899, a serial date-time
st
of 1.5 represents midday on the 31 December 1899 (serial date-time day 1), or 1899-12-31T12:00. A serial
th
date-time of -4.25 represents 6 pm on the 25 December 1899, or 1899-12-25T18:00. end example] The base
dates and the related serial date-times represent local date and time. A serial value represents a UTC date and
time, and, as such, has no timezone information.
ThreeTwo different bases arecan be used for converting dates intoto and from serial valuesserial date-times:
st
 In the 1900 date base system, the lower limit is January 1 , -99990001 00:00:00, which has a serial
st
valueserial date-time of -6935934346018. The upper-limit is December 31 , 9999, 23:59:59.999, which
has a serial valueserial date-time of 2,958,465.9999884. The base date for this date base system is
th
00:00:00 on December 30 , 1899, which has a serial valueserial date-time of 0.
 In the 1900 backward compatibility date-base system, the lower limit is January 1, 1900, 00:00:00, which
has serial value 1. The upper limit is December 31, 9999, 23:59:59, which has serial value
2,958,465.9999884. The base date for this date base system is December 31, 1899, which has a serial
value of 0.
st
 In the 1904 backward compatibility date-base system, the lower limit is January 1 , 19040001, 00:00:00,
st
which has a serial valueserial date-time of 0-695055. The upper limit is December 31 , 9999,
23:59:59.999, which has a serial valueserial date-time of 2,957,003.9999884. The base date for this date
st
base system is 00:00:00 on January 1 , 1904, which has a serial valueserial date-time of 0.
A serial valueserial date-time outside of the temporal range for its date base the selected date system is
invalidill-formed.
[Note: The 1900 date-base system is the preferred system to be used by applications when converting serial
values to dates. The use of the 1900 backward compatibility or 1904 backward compatibility date-base system
should be avoided. end note]
The date-base system is specified recorded in the Workbook part's XML by the presence or absence of the
dateCompatibility and value of the date1904 attributes of the workbookPr element. [Example:
Copyright © ISO/IEC 2012 – All rights reserved  5
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

1900 date-base system:
1900 backward compatibility date-base system: showObjects="all"/>
1904 backward compatibility date-base system: showObjects="all"/>
end example]
For legacy reasons, an implementation using the 1900 backward compatibility date base system shall treat 1900
as though it was a leap year. [Note: That is, serial value 59 corresponds to February 28, and serial value 61
corresponds to March 1, the next day, allowing the (non-existent) date February 29 to have the serial value 60.
end note] A consequence of this is that for dates between January 1 and February 28, WEEKDAY shall return a
value for the day immediately prior to the correct day, so that the (non-existent) date February 29, 1900, has a
day-of-the-week that immediately follows that of February 28, and immediately precedes that of March 1, 1900.
[Example: For the 1900 date base system:

The serial value -2338.0000000… represents 1893-08-05
The serial value 2.0000000… represents 1900-01-01
The serial value 3687.0000000… represents 1910-02-03
The serial value 38749.0000000… represents 2006-02-01
The serial value 2958465.0000000… represents 9999-12-31
For the 1904 backward compatibility date base system:

The serial value -3800.0000000… represents 1893-08-05
The serial value 0.0000000… represents 1904-01-01
The serial value 2225.0000000… represents 1910-02-03
The serial value 37287.0000000… represents 2006-02-01
The serial value 2957003.0000000… represents 9999-12-31

end example]
8. §18.17.4.2, “Time Conversion for Serial ValuesSerial Date-Times”,
p. 2302
Time of day is represented by a serial date-time less than 1, but not less than 0. The time component of a serial
value ranges in vValues from 0–0.99999999, and represents times from the instant starting instant 0:00:00
(12:00:00 AM) to the last instant of 23:59:59 (11:59:59 P.M.), respectively.
For any serial date-time, the serial time-of-day is the serial date-time minus the serial date-time of the day in
which the time-of-day occurs. The serial date-time of the day in which a serial date-time occurs is the greatest
integer that does not exceed the serial date-time.
6 ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
[Example:
The serial date-time 4.66666667 is in serial day 4, and the time-of-day serial date-time is 4.66666667 – 4, which
is 0.66666667.
The serial date-time -2.00000001 is in serial day -3, and the time-of-day serial date-time is -2.00000001 – (-3),
which is 0.99999999.
end example]
Going forward in time, the time component of a serial valueserial date-time increases by 1/86,400 each second.
[Note: As such, the time 12:00 has a serial valueserial date-time time component of 0.5. end note]
[Example:
The serial valueserial date-time 0.0000000… represents 00:00:00
The serial valueserial date-time 0.0000115… represents 00:00:01
The serial valueserial date-time 0.4207639… represents 10:05:54
The serial valueserial date-time 0.5000000… represents 12:00:00
The serial valueserial date-time 0.9999884… represents 23:59:59

end example]
9. §18.17.4.3, “Combined Date and Time Conversion for Serial
ValuesSerial date-times”, p. 2302
The serial date-time corresponding to aAny date component can be added to any serial date-time for a time-of-
day component time component to produce adetermine the serial valueserial date-time for the at date/time
combinationcombined date-time. The resulting serial value encodes that date whose (positive or negative) time
span from base date in the respective date-base equals the serial value.
[Note: In the 1900 date base system, the serial valueserial date-time -1.25 represents December 28, 1899, 18:00.
end note]
[Example: For the 1900 date base system:

The serial valueserial date-time -2337.999989… represents 1893-08-05T00:00:01Z
The serial valueserial date-time 3687.4207639… represents 1910-02-03T10:05:54Z
The serial valueserial date-time 12.5000000… represents 1900-01-01T12:00:00Z
The serial valueserial date-time 2958465.9999884… represents 9999-12-31T23:59:59Z
For the 1904 backward compatibility date base system:

The serial valueserial date-time -3799.999989… represents 1893-08-05T00:00:01Z
The serial valueserial date-time 2225.4207639… represents 1910-02-03T10:05:54Z
Copyright © ISO/IEC 2012 – All rights reserved  7
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

The serial valueserial date-time 0.5000000… represents 1904-01-01T12:00:00Z
The serial valueserial date-time 2957003.9999884… represents 9999-12-31T23:59:59Z

end example]
10. §18.17.6.7, “Dates and Times”, p. 2308
A date and/or time is stored as an ISO 8601 string.When a SpreadsheetML cell contains a date-time, the value of
the cell is expressed as a string conforming to one of the ISO 8601 lexical formats specified in §18.17.4.
[Example:

DATE(1582,10,15)+0.5
1582-10-15T12:00

end example]
The date base system is recorded in the Workbook part's XML by the dateCompatibility and date1904
attributes of the workbookPr element. [Example:
1900 date-base:
1904 backward compatibility date-base: date1904="true" showObjects="all"/>
end example]
11. §18.17.7.2, “ACCRINT”, p. 2314

However, if
 issue, first-interest, or settlement is out of range for the current date base valuesystem, #NUM! is
returned
 …
12. §18.17.7.3, “ACCRINTM”, p. 2317

However, if
 issue or settlement is out of range for the current date base valuesystem, #NUM! is returned
 …
8 ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
13. §18.17.7.7, “AMORDEGRC”, p. 2322

However, if
 …
 date-purchased or first-period is out of range for the current date base valuesystem, #NUM! is returned.
 …
14. §18.17.7.8, “AMORLINC”, p. 2325

However, if
 …
 date-purchased or first-period is out of range for the current date base valuesystem, #NUM! is returned.
 …
15. §18.17.7.57, “COUPDAYBS”, p. 2376

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
16. §18.17.7.58, “COUPDAYS”, p. 2378

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
17. §18.17.7.59, “COUPDAYSNC”, p. 2381

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
18. §18.17.7.60, “COUPNCD”, p. 2383

Copyright © ISO/IEC 2012 – All rights reserved  9
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
19. §18.17.7.61, “COUPNUM”, p. 2386

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
20. §18.17.7.62, “COUPPCD”, p. 2388

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
21. §18.17.7.74, “DATE”, pp. 2400–2402
Syntax:
DATE ( year , month , day )
Description: Computes the serial valueserial date-time for the given date.
10 ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
Arguments:
Name Type Description
year number A positive number, truncated to an integer representing
the year, that together with month and day specifies the
date whose serial valueserial date-time is to be
computed.
For the 1900 date base system:
 If year is in the range 0–99, inclusive, the year
shall be interpreted as year + 1900.
 If year is in the range -9999–-1, inclusive, or 100–
9999, inclusive, the year shall be interpreted as
year.
For the 1900 backward compatibility date-base and 1904
backward compatibility date base systems:
 If year is in the range 0–1899, inclusive, the year
shall be interpreted as year + 1900.
 If year is in the range 1900–9999, inclusive, the
year shall be interpreted as year.
month number A month, truncated to integer, that together with year
and day specifies the date whose serial valueserial date-
time is to be computed.
month shall be interpreted as the number of months
relative to the final month of the year prior to the
specified year.
day
number A day, truncated to integer, that together with month and
year specifies the date whose serial valueserial date-time
is to be computed.
day shall be interpreted as the number of days relative to
the last day of the month (and its associated year) prior
to the month (and its associated
year) as determined from month and year (see below).


Return Type and Value: number – The serial valueserial date-time for the given date.
However, if year is outside the acceptable range for the date base system currently in use, #NUM! is returned.
[Example: For the 1900 backward compatibility date-base date base system:

DATE(0,1,1) results in a serial valueserial date-time of 12
DATE(1899,1,1) results in a serial valueserial date-time of 693598-363
DATE(1900,1,1) results in a serial valueserial date-time of 12
DATE(9999,12,31) results in a serial valueserial date-time of 2958465
Copyright © ISO/IEC 2012 – All rights reserved  11
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

For the 1904 backward compatibility date-base date base system:

DATE(4,1,1) results in a serial valueserial date-time of 0
DATE(1899,1,1) results in a serial valueserial date-time of 692136
DATE(1904,1,1) results in a serial valueserial date-time of 0
DATE(9999,12,31) results in a serial valueserial date-time of 2957003

end example]
22. §18.17.7.75, “DATEDIF”, p. 2403

However, if
 start-date or end-date is out of range for the current date base valuesystem, #NUM! is returned.
 …
23. §18.17.7.76, “DATEVALUE”, pp. 2403–2404
Syntax:
DATEVALUE ( date-time-string )
Description: Computes the serial valueserial date-time of the date represented by the string date-time-string,
taking into account the current date base valuesystem.
Arguments:
Name Type Description
date-time- text The date and/or time whose date component serial
string
valueserial date-time is to be computed. …

Return Type and Value: number – The serial valueserial date-time of the date represented by the string date-
time-string.
However, if
 date-time-string is out of range for the current date base valuesystem, #VALUE! is returned.
 …
[Example: When the current year is 2006,
DATEVALUE("2/1/2006")
DATEVALUE("01-Feb-2006 10:06 AM")
DATEVALUE("2006/2/1")
12 ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
DATEVALUE("2006-2-1")
DATEVALUE("1-Feb")
all result in 38749 for the 1900 date base system, or 37287 for the 1904 date base system. end example]
24. §18.17.7.78, “DAY”, pp. 2406–2407
Syntax:
DAY ( date-value )
Description: Computes the numeric day of the month in the Gregorian calendar [ISO 8601 §3.2.1] for the date
and/or time having the given date-value, taking into account the current date base valuesystem.
Arguments:
Name Type Description
date-value number, text The date and/or time whose day is to be computed. That
date and/or time shall be expressed either as a serial
valueserial date-time, in which case, its fractional part is
ignored, or as a string-constant having any date and/or
time format, in which case, any time information shall be
ignored.
Return Type and Value: number – The day of the month in the Gregorian calendar [ISO 8601 §3.2.1] for the date
and/or time having the given date-value. The returned value shall be in the range 1–31.
However, if date-value is out of range for the current date base valuesystem, #NUM! is returned.
[Example:
DAY(DATE(2006,1,2)) results in 2
DAY(DATE(2006,0,2)) results in 31
DAY("2006/1/2 10:45 AM") results in 2
DAY(30000) results in 18 for the 1900 date base system, or 19 for the 1904 date base system

end example]
25. §18.17.7.79, “DAYS360”, p. 2408

However, if start-date or end-date is out of range for the current date base valuesystem, #NUM! is returned.
Copyright © ISO/IEC 2012 – All rights reserved  13
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012

26. §18.17.7.91, “DISC”, p. 2420

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
27. §18.17.7.101, “DURATION”, p. 2430

However, if
 settlement or maturity is out of range for the current date base valuesystem, #NUM! is returned.
 …
28. §18.17.7.105, “EDATE”, p. 2432–2433
Syntax:
EDATE ( start-date , month-offset )
Description: Computes the serial valueserial date-time of the date that is month-offset months from the date
specified by the date date-string, taking into account the current date base valuesystem.
Arguments:
Name Type Description
start-date number The start date.
month-offset number The number of months before or after start-date,
truncated to integer. A positive value yields a future date;
a negative value yields a past date; a zero value yields the
date start-date.
Return Type and Value: number – The serial valueserial date-time of the date that is month-offset months from
the date specified by the date date-string, as a whole number.
However, if
 start-value is out of range for the current date base valuesystem, #NUM! is returned.
 start-value plus month-offset is out of range for the current date base valuesystem, #NUM! is returned.
[Example: For the 1900 date base system:

EDATE(DATE(2006,1,31),5) results in a serial valueserial date-time of 38898
14 ©ISO/IEC 2012 – All rights reserved
PROOF/ÉPREUVE
ISO/IEC 29500-1:2011/Amd.1:2012
EDATE(DATE(2004,2,29),12) results in a serial valueserial date-time of 38411
EDATE(DATE(2004,2,28),12) results in a serial valueserial date-time of 38411
EDATE(DATE(2004,1,15),-23) results in a serial valueserial date-time of 37302
For the 1904 date base system:

EDATE(DATE(2006,1,31),5) results in a serial valueserial date-time of 37436
EDATE(DATE(2004,2,29),12) results in a serial valueserial date-time of 36949
ED
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...