Excel常用日期和时间函数用法

1.    DATE 函数

DATE 函数返回表示特定日期的连续序列号。例如,公式

=DATE(2008,7,8)

返回 39637,该序列号表示 2008-7-8

 注释    如果在输入该函数之前单元格格式为“常规”,则结果将使用日期格式,而不是数字格式。若要显示序列号或要更改日期格式,请在“开始”选项卡的“数字”组中选择其他数字格式。

在通过公式或单元格引用提供年月日时,DATE 函数最为有用。例如,可能有一个工作表所包含的日期使用了 Excel 无法识别的格式(如 YYYYMMDD)。通过将 DATE 函数与其他函数结合使用,可以将这些日期转换为 Excel 可识别的序列号。有关详细信息,请参阅本文示例一节中的表。

  语法

DATE(year,month,day)

DATE 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Year  必需。year 参数的值可以包含一到四位数字。Excel 将根据计算机所使用的日期系统来解释 year 参数。默认情况下,Microsoft Excel for Windows 将使用 1900 日期系统,而 Microsoft Excel for Macintosh 将使用 1904 日期系统。

提示  为避免出现意外结果,建议对 year 参数使用四位数字。例如,使用“07”将返回“1907”作为年值。

clip_image002   如果 year 介于 0(零)到 1899 之间(包含这两个值),则 Excel 会将该值与 1900 相加来计算年份。例如,DATE(108,1,2) 将返回 2008 1 2 (1900+108)

clip_image002   如果 year 介于 1900 9999 之间(包含这两个值),则 Excel 将使用该数值作为年份。例如,DATE(2008,1,2) 将返回 2008 1 2 日。

clip_image002   如果 year 小于 0 或大于等于 10000,则 Excel 将返回错误值 #NUM!

  Month  必需。一个正整数或负整数,表示一年中从 1 月至 12 月(一月到十二月)的各个月。

clip_image002   如果 month 大于 12,则 month 从指定年份的一月份开始累加该月份数。例如,DATE(2008,14,2) 返回表示 2009 2 2 日的序列号。

clip_image002   如果 month 小于 1month 则从指定年份的一月份开始递减该月份数,然后再加上 1 个月。例如,DATE(2008,-3,2) 返回表示 2007 9 2 日的序列号。

  Day  必需。一个正整数或负整数,表示一月中从 1 日到 31 日的各天。

clip_image002   如果 day 大于指定月份的天数,则 day 从指定月份的第一天开始累加该天数。例如,DATE(2008,1,35) 返回表示 2008 2 4 日的序列号。

clip_image002   如果 day 小于 1,则 day 从指定月份的第一天开始递减该天数,然后再加上 1 天。例如,DATE(2008,1,-15) 返回表示 2007 12 16 日的序列号。

 注释    Excel 将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39447 天。Microsoft Excel for the Macintosh 使用另外一个日期系统作为其默认日期系统。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image004如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

5

6

7

8

9

A

B

C

月份

2008

1

1

数据

   

20081125

   

公式

说明

结果

=DATE(A2,B2,C2)

通过使用单元格 A2B2 C2 作为 DATE 函数的参数并使用 1900 日期系统而得到的日期的序列日期。

2008-1-1 39448

=DATE(YEAR(TODAY()),12,31)

当前年份的最后一天的序列日期。

nnnn-12-31 或等效的序列号(实际值取决于当前年份)

=DATE(LEFT(A4,4),MID(A4,5,2), RIGHT(A4,2))

一个将日期从 YYYYMMDD 格式转换为序列日期的公式。

2008-11-25 39777

 注释    若要将数字显示为序列号,请选择相应的单元格,然后在“开始”选项卡的“数字”组中,单击“数字格式”旁边的箭头,然后单击“数字”。

 

2.    DATEVALUE 函数

DATEVALUE 函数可将存储为文本的日期转换为 Excel 识别为日期的序列号。例如,公式 =DATEVALUE("2008-1-1") 返回日期 2008-1-1 的序列号 39448

 注释    DATEVALUE 函数所返回的序列号可能与上述示例不同,具体取决于计算机的系统日期设置。

如果工作表包含采用文本格式的日期并且要对这些日期进行筛选、排序、设置日期格式或执行日期计算,则 DATEVALUE 函数将十分有用。

要将序列号显示为日期,必须对单元格应用日期格式。在“请参阅”部分中可找到一些链接,这些链接指向有关将数字显示为日期的详细信息。

  语法

DATEVALUE(date_text)

DATEVALUE 函数语法具有以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Date_text  必需。表示 Excel 日期格式的日期的文本,或者是对表示 Excel 日期格式的日期的文本所在单元格的单元格引用 (单元格引用:用于表示单元格在工作表上所处位置的坐标集。例如,显示在第 B 列和第 3 行交叉处的单元格,其引用形式为“B3”。)。例如,"2008-1-30" "30-Jan-2008" 是用引号引起的文本字符串,用于表示日期。

在使用 Microsoft Excel for Windows 中的默认日期系统时,参数 date_text 必须表示 1900 1 1 日到 9999 12 31 日之间的某个日期;而在使用 Excel for Macintosh 中的默认日期系统时,参数 date_text 必须表示 1904 1 1 日到 9999 12 31 日之间的某个日期。如果参数 date_text 的值超出上述范围,则函数 DATEVALUE 将返回 错误值 #VALUE!。

如果省略参数 date_text 中的年份部分,则函数 DATEVALUE 会使用计算机内置时钟的当前年份。参数 date_text 中的时间信息将被忽略。

  注解

  Excel 将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39,447 天。Microsoft Excel for Macintosh 使用其他日期系统作为默认系统。

  大部分函数都会自动将日期值转换成序列号。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4

5


6


7


8

9

10

A

B

C

数据

   

11

   

3

   

2008

   

公式

说明

结果

=DATEVALUE("8/22/2008")

使用 1900 日期系统时的文本日期序列号。

39682

=DATEVALUE("22-AUG-2008")

使用 1900 日期系统时的文本日期序列号。

39682

=DATEVALUE("2008/02/23")

使用 1900 日期系统时的文本日期序列号。

39501

=DATEVALUE("5-JUL")

使用 1900 日期系统时的文本日期序列号,此时假定计算机内置时钟返回 2008 年作为当前年份。

39634

=DATEVALUE(A2 & "/" & A3 & "/" & A4)

通过连接单元格 A2A3 A4 中的数据而创建的日期序列号。

39755

 注释    若要将序列号显示为日期,请选择单元格,然后在“开始”选项卡上的“数字”组中,单击“数字格式”旁边的箭头,再单击“短日期”或“长日期”。

 

 

3.    DAY 函数

返回以序列号表示的某日期的天数,用整数 1 31 表示。

  语法

DAY(serial_number)

DAY 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Serial_number  必需。要查找的那一天的日期。应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 5 23 日。如果日期以文本形式输入,则会出现问题。

  说明

Microsoft Excel 可将日期存储为可用于计算的序列数。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统

不论提供的日期值以何种格式显示,YEARMONTH DAY 函数返回的值都是 Gregorian 值。例如,如果提供日期的显示格式是回历 (回历:伊斯兰教国家/地区使用的农历。),则 YEARMONTH DAY 函数返回的值将是与等价的 Gregorian 日期相关联的值。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4

A

B

日期

 

2008-4-15

 

公式

说明(结果)

=DAY(A2)

上述日期的天数 (15)

 

 

4.    DAYS360 函数

DAYS360 按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),返回两日期间相差的天数,这在一些会计计算中将会用到。如果会计系统是基于一年 12 个月,每月 30 天,则可用此函数帮助计算支付款项。

  语法

DAYS360(start_date,end_date,[method])

DAYS360 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Start_date, end_date  必需。要计算期间天数的起止日期。如果 start_date end_date 之后,则 DAYS360 将返回一个负数。应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 可返回 2008-5-23。如果日期以文本形式输入,则会出现问题。

  Method  可选。一个逻辑值,它指定在计算中是采用欧洲方法还是美国方法。

Method

定义

FALSE 或省略

美国方法 (NASD)。如果起始日期为某月的最后一天,则等于当月的 30 号。如果终止日期为某月的最后一天,并且起始日期早于某月的 30 号,则终止日期等于下个月的 1 号,否则,终止日期等于当月的 30 号。

TRUE

欧洲方法。如果起始日期和终止日期为某月的 31 号,则等于当月的 30 号。

 注释    Excel 将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39447 天。Microsoft Excel for the Macintosh 使用另外一个日期系统作为其默认日期系统。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4

5

6


7


8


9

A

B

C

日期

   

2008-1-1

   

2008-1-30

   

2008-2-1

   

2008-12-31

   

公式

说明

结果

=DAYS360(A3,A4)

按照一年 360 天的算法,返回 2008-1-30 2008-2-1 之间的天数。

1

=DAYS360(A2,A5)

按照一年 360 天的算法,返回 2008-1-1 2008-12-31 之间的天数。

360

=DAYS360(A2,A4)

按照一年 360 天的算法,返回 2008-1-1 2008-2-1 之间的天数。

30

 

 

5.    NETWORKDAYS 函数

返回参数 start_date end_date 之间完整的工作日数值。工作日不包括周末和专门指定的假期。可以使用函数 NETWORKDAYS,根据某一特定时期内雇员的工作天数,计算其应计的报酬。

提示  若要使用参数来指明周末的日期和天数,从而计算两个日期间的全部工作日数,请使用 NETWORKDAYS.INTL 函数

  语法

NETWORKDAYS(start_date, end_date, [holidays])

NETWORKDAYS 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Start_date  必需。一个代表开始日期的日期。

  End_date  必需。一个代表终止日期的日期。

  Holidays  可选。不在工作日历中的一个或多个日期所构成的可选区域,例如:省//自治区和国家/地区的法定假日以及其他非法定假日。该列表可以是包含日期的单元格区域,或是表示日期的序列号的数组常 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)

要点  应使用 DATE 函数输入日期,或者将函数作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 5 23 日。如果日期以文本形式输入,则会出现问题。

  说明

  Microsoft Excel 可将日期存储为可用于计算的序列数。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统

  如果任何参数为无效的日期值,则函数 NETWORKDAYS 将返回错误值 #VALUE!

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4

5

6

7


8


9


10

A

B

日期

说明

2008-10-1

项目的开始日期

2009-3-1

项目的终止日期

2008-11-26

假日

2008-12-4

假日

2009-1-21

假日

公式

说明(结果)

=NETWORKDAYS(A2,A3)

上面的开始日期和终止日期之间工作日的数值 (108)

=NETWORKDAYS(A2,A3,A4)

上面的开始日期和终止日期之间工作日的数值,不包括第一个假日 (107)

=NETWORKDAYS(A2,A3,A4:A6)

上面的开始日期和终止日期之间工作日的数量,不包括上面所列出的假日 (105)

 注释    若要将最后一个示例中用于假日的单元格区域转换为数组常量,请在公式中选中引用的区域 A4:A6,再按 F9

 

6.    NETWORKDAYS.INTL 函数

返回两个日期之间的所有工作日数,使用参数指示哪些天是周末,以及有多少天是周末。周末和任何指定为假期的日期不被视为工作日。

  语法

NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

NETWORKDAYS.INTL 函数语法具有以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  start_date end_date  必需。要计算其差值的日期。start_date 可以早于或晚于 end_date,也可以与它相同。

  weekend  可选。表示介于 start_date end_date 之间但又不包括在所有工作日数中的周末日。weekend 是周末数值或字符串,用于指定周末时间。

weekend 数值表示以下周末日:

周末数

周末日

1 或省略

星期六、星期日

2

星期日、星期一

3

星期一、星期二

4

星期二、星期三

5

星期三、星期四

6

星期四、星期五

7

星期五、星期六

11

仅星期日

12

仅星期一

13

仅星期二

14

仅星期三

15

仅星期四

16

仅星期五

17

仅星期六

weekend 字符串值为 7 个字符长,该字符串中的每个字符代表一周中的一天,从星期一开始。1 代表非工作日,0 代表工作日。该字符串中只允许使用字符 1 0。使用 1111111 将始终返回 0

例如,0000011 得到的结果是星期六和星期日为周末。

  holidays  可选。一个包含一个或多个日期的可选集合,这些日期将从工作日日历中排除。假期应该是包含日期的单元格区域,也可以是代表这些日期的序列值的数组常量。假期中的日期或序列值的顺序可以是任意的。

  注解

  如果 start_date 晚于 end_date,则返回值将为负数,数量将是所有工作日的数量。

  如果 start_date 在当前日期基准值的范围之外,则 NETWORKDAYS.INTL 返回错误值 #NUM!

  如果 end_date 在当前日期基准值的范围之外,则 NETWORKDAYS.INTL 返回错误值 #NUM!

  如果 weekend 字符串的长度无效或包含无效字符,则 NETWORKDAYS.INTL 返回错误值 #VALUE!

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1


2


3

4


5

A

B

公式

说明

=NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,1,31))

结果为 2231 天;5 个星期六,4 个星期日)

=NETWORKDAYS.INTL(DATE(2006,1,31),DATE(2006,1,1))

结果为 -22

=NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,2,1),7,{"2006/1/2","2006/1/16"})

结果为 2232 天;4 个星期五,4 个星期六,2 个假日)

=NETWORKDAYS.INTL(DATE(2006,1,1),DATE(2006,2,1),"0000110",{"2006/1/2","2006/1/16"})

结果为 22

 

 

7.    NOW 函数

返回当前日期和时间的序列号。如果在输入该函数前,单元格格式为“常规”,Excel 会将单元格格式更改为与“控制面板”的区域日期和时间设置中指定的日期和时间格式相同的格式。可以在功能区“开始”选项卡上的“数字”组中使用命令来更改日期和时间格式。

当需要在工作表上显示当前日期和时间或者需要根据当前日期和时间计算一个值并在每次打开工作表时更新该值时,使用 NOW 函数很有用。

 注释    如果 NOW 函数并未按预期更新单元格值,则可能需要更改控制工作簿或工作表何时重新计算的设置。

语法

NOW()

NOW 函数语法没有参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

说明

  Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39,447 天。Microsoft Excel for Macintosh 使用其他日期系统作为默认系统。

  序列号中小数点右边的数字表示时间,左边的数字表示日期。例如,序列号 0.5 表示时间为中午 12:00

  NOW 函数的结果仅在计算工作表或运行含有该函数的宏时才改变。它并不会持续更新。

 

 

8.    TIME 函数

返回某一特定时间的小数值。如果在输入函数前,单元格的格式为“常规”,则结果将设为日期格式。

函数 TIME 返回的小数值为 0(零)到 0.99999999 之间的数值,代表从 0:00:00 (12:00:00 AM) 23:59:59 (11:59:59 P.M.) 之间的时间。

  语法

TIME(hour, minute, second)

TIME 函数语法具有以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Hour  必需。0(零)到 32767 之间的数值,代表小时。任何大于 23 的数值将除以 24,其余数将视为小时。例如,TIME(27,0,0) = TIME(3,0,0) = .125 3:00 AM

  Minute  必需。0 32767 之间的数值,代表分钟。任何大于 59 的数值将被转换为小时和分钟。例如,TIME(0,750,0) = TIME(12,30,0) = .520833 12:30 PM

  Second  必需。0 32767 之间的数值,代表秒。任何大于 59 的数值将被转换为小时、分钟和秒。例如,TIME(0,0,2000) = TIME(0,33,22) = .023148 12:33:20 AM

  注解

Microsoft Excel for Windows Microsoft Excel for the Macintosh 使用不同的默认日期系统。时间值为日期值的一部分,并用小数来表示(例如 12:00 PM 可表示为 0.5,因为此时是一天的一半)。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4


5


6

A

B

C

小时

分钟

12

0

0

16

48

10

公式

说明(结果)

 

=TIME(A2,B2,C2)

一天的小数部分(上面的第一个时间)(0.5)

 

=TIME(A3,B3,C3)

一天的小数部分(上面的第二个时间)(0.700115741)

 

 注释    若要将数字显示为时间,请选择单元格,然后在“开始”选项卡上的“数字”组中,单击“数字格式”旁边的箭头,然后单击“时间”。

 

9.    ODAY 函数

返回当前日期的序列号。序列号是 Excel 日期和时间计算使用的日期-时间代码。如果在输入函数前,单元格的格式为“常规”,Excel 会将单元格格式更改为“日期”。如果要查看序列号,则必须将单元格格式更改为“常规”或“数值”。

如果需要无论何时打开工作簿时工作表上都能显示当前日期,可以使用 TODAY 函数实现这一目的。此函数也可以用于计算时间间隔。例如,如果知道某人出生于 1963 年,可以使用以下公式计算出对方到目前为止的年龄:

=YEAR(TODAY())-1963

此公式使用 TODAY 函数作为 YEAR 函数的参数来获取当前年份,然后减去 1963,最终返回对方的年龄。

 注释    如果 TODAY 函数并未按预期更新日期,则可能需要更改控制工作簿或工作表重新计算时间的设置。在“文件”选项卡上,单击“选项”,然后确保在“计算选项”下的“公式”类别中选中了“自动”。

  语法

TODAY()

TODAY 函数语法没有参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

 注释    Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39,447 天。Microsoft Excel for Macintosh 使用其他日期系统作为默认系统。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.     选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4

5

6

A

B

公式

说明

=TODAY()

返回当前日期。

=TODAY()+5

返回当前日期加 5 天。例如,如果当前日期为 1/1/2008,此公式会返回 1/6/2008

=DATEVALUE("1/1/2030")-TODAY()

返回当前日期和 1/1/2030 之间的天数。请注意,单元格 A4 必须为“常规”或“数值”格式才能正确显示结果。

=DAY(TODAY())

返回一月中的当前日期 (1 - 31)

=MONTH(TODAY())

返回一年中的当前月份 (1 - 12)。例如,如果当前月份为五月,此公式会返回 5

 

 

10.         WEEKDAY 函数

返回某日期为星期几。默认情况下,其值为 1(星期天)到 7(星期六)之间的整数。

  语法

WEEKDAY(serial_number,[return_type])

WEEKDAY 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Serial_number  必需。一个序列号,代表尝试查找的那一天的日期。应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 5 23 日。如果日期以文本形式输入,则会出现问题。

  Return_type  可选。用于确定返回值类型的数字。

Return_type

返回的数字

1 或省略

数字 1(星期日)到数字 7(星期六),同 Microsoft Excel 早期版本。

2

数字 1(星期一)到数字 7(星期日)。

3

数字 0(星期一)到数字 6(星期日)。

11

数字 1(星期一)到数字 7(星期日)。

12

数字 1(星期二)到数字 7(星期一)。

13

数字 1(星期三)到数字 7(星期二)。

14

数字 1(星期四)到数字 7(星期三)。

15

数字 1(星期五)到数字 7(星期四)。

16

数字 1(星期六)到数字 7(星期五)。

17

数字 1(星期日)到 7(星期六)。

  说明

  Microsoft Excel 可将日期存储为可用于计算的序列数。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39448 天。

  如果 serial_number 不在当前日期基数值范围内,则返回 #NUM! 错误。

  如果 return_type 不在上述表格中指定的范围内,则返回 #NUM! 错误。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3


4


5


6

A

B

数据

 

2008-2-14

 

公式

说明(结果)

=WEEKDAY(A2)

具有数字 1(星期日)到数字 7(星期六)的星期号 (5)

=WEEKDAY(A2, 2)

具有数字 1(星期一)到数字 7(星期日)的星期号 (4)

=WEEKDAY(A2, 3)

具有数字 0(星期一)到数字 6(星期日)的星期号 (3)

 注释    2008-2-14 为星期四。

 

11.         WEEKNUM 函数

返回特定日期的周数。例如,包含 1 1 日的周为该年的第 1 周,其编号为第 1 周。

此函数可采用两种机制:

  机制 1  包含 1 1 日的周为该年的第 1 周,其编号为第 1 周。

  机制 2  包含该年的第一个星期四的周为该年的第 1 周,其编号为第 1 周。

  语法

WEEKNUM(serial_number,[return_type])

WEEKNUM 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Serial_number   必需。代表一周中的日期。应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 5 23 日。如果日期以文本形式输入,则会出现问题。

  Return_type   可选。一数字,确定星期从哪一天开始。默认值为 1

Return_type

一周的第一天为

机制

1 或省略

星期日

1

2

星期一

1

11

星期一

1

12

星期二

1

13

星期三

1

14

星期四

1

15

星期五

1

16

星期六

1

17

星期日

1

21

星期一

2

  说明

  Microsoft Excel 可将日期存储为可用于计算的序列数。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39448 天。

  如果 serial_number 不在当前日期基数值范围内,则返回 #NUM! 错误。

  如果 return_type 不在上述表格中指定的范围内,则返回 #NUM! 错误。

  示例 1

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3


4


5

A

B

数据

 

2008 3 9

 

公式

说明(结果)

=WEEKNUM(A2,1)

一年中的周数,一周开始于星期日 (11)

=WEEKNUM(A2,2)

一年中的周数,一周开始于星期一 (10)

 注释    2008 3 9 日是星期日。

  示例 2

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1


2


3


4


5


6


7

A

B

公式

说明(结果)

=WEEKNUM(DATE(2006,1,1))

一年中的周数,一周开始于星期日 (1)

=WEEKNUM(DATE(2006,1,1),1)

一年中的周数,一周开始于星期日 (1)

=WEEKNUM(DATE(2006,1,1),17)

一年中的周数,一周开始于星期日 (1)

=WEEKNUM(DATE(2006,2,1),1)

一年中的周数,一周开始于星期日 (5)

=WEEKNUM(DATE(2006,2,1),2)

一年中的周数,一周开始于星期一 (6)

=WEEKNUM(DATE(2006,2,1),11)

一年中的周数,一周开始于星期一 (6)

 

 

12.         WORKDAY 函数

返回在某日期(起始日期)之前或之后、与该日期相隔指定工作日的某一日期的日期值。工作日不包括周末和专门指定的假日。在计算发票到期日、预期交货时间或工作天数时,可以使用函数 WORKDAY 来扣除周末或假日。

提示  若要通过使用参数来指示哪些天是周末以及有多少天是周末来计算指定工作日天数之前或之后日期的序列号,请使用 WORKDAY.INTL 函数

  语法

WORKDAY(start_date, days, [holidays])

WORKDAY 函数语法具有以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Start_date  必需。一个代表开始日期的日期。

  Days  必需。start_date 之前或之后不含周末及节假日的天数。Days 为正值将生成未来日期;为负值生成过去日期。

  Holidays  可选。一个可选列表,其中包含需要从工作日历中排除的一个或多个日期,例如各种省自治区和国家地区的法定假日及非法定假日。该列表可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)

要点  应使用 DATE 函数输入日期,或者作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 5 23 日。如果日期以文本形式输入,则会出现问题。

  说明

  Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统

  如果任何参数为非法日期值,则函数 WORKDAY 将返回错误值 #VALUE!

  如果 start_date days 产生非法日期值,函数 WORKDAY 返回错误值 #NUM!

  如果 days 不是整数,将截尾取整。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4

5

6

7

8


9

A

B

日期

说明

10/01/2008

起始日期

151

完成所需天数

11/26/2008

假日

12/4/2008

假日

1/21/2009

假日

公式

说明(结果)

=WORKDAY(A2,A3)

从起始日期开始 151 个工作日的日期 (2009-4-30)

=WORKDAY(A2,A3,A4:A6)

除去假日,从起始日期开始 151 个工作日的日期 (2009-5-5)

 注释    若要将上例中的假日所在单元格的区域转换为数组常量,请在公式中选择 A4:A6,再按 F9

提示  若要将返回的数字设置为日期格式,请选定它们,然后在“开始”选项卡上的“数字”组中,单击“对话框启动器” clip_image007。在“数字”选项卡上的“类别”列表中,单击“日期”,然后在“类型”列表中单击要使用的日期格式。

 

 

13.         WORKDAY.INTL 函数

clip_image006全部隐藏

返回指定的若干个工作日之前或之后的日期的序列号(使用自定义周末参数)。周末参数指明周末有几天以及是哪几天。周末和指定为节假日的任何日子将不会算作工作日。

  语法

WORKDAY.INTL(start_date, days, [weekend], [holidays])

WORKDAY.INTL 函数语法具有以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Start_date  必需。开始日期(将被截尾取整)。

  Days  必需。Start_date 之前或之后的工作日的天数。正值表示未来日期;负值表示过去日期;零值表示开始日期。Day-offset 将被截尾取整。

  Weekend  可选。指示一周中属于周末的日子和不作为工作日的日子。Weekend 是一个用于指定周末日子的周末数字或字符串。

周末数字值指示以下的周末日子:

周末数字

周末日子

1 或省略

星期六、星期日

2

星期日、星期一

3

星期一、星期二

4

星期二、星期三

5

星期三、星期四

6

星期四、星期五

7

星期五、星期六

11

仅星期日

12

仅星期一

13

仅星期二

14

仅星期三

15

仅星期四

16

仅星期五

17

仅星期六

周末字符串值的长度为七个字符,并且字符串中的每个字符表示一周中的一天(从星期一开始)。1 表示非工作日,0 表示工作日。在字符串中仅允许使用字符 1 01111111 是无效字符串。

例如,0000011 结果为星期六和星期日是周末。

  Holidays  可选。一组可选的日期,表示要从工作日日历中排除的一个或多个日期。holidays 应是一个包含相关日期的单元格区域,或者是一个由表示这些日期的序列值构成的数组常量。holidays 中的日期或序列值的顺序可以是任意的。

  说明

  如果 start_date 超出了当前日期基值的范围,则函数 WORKDAY.INTL 将返回错误值 #NUM!

  如果 holidays 中的任何日期超出了当前日期基值的范围,则函数 WORKDAY.INTL 将返回错误值 #NUM!

  如果 start_date 加上 day-offset 得到一个无效日期,则函数 WORKDAY.INTL 将返回错误值 #NUM!

  如果周末字符串的长度无效或包含无效字符,则函数 WORKDAY.INTL 将返回错误值 #VALUE!

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1


2

3

4

5

6

7

A

B

公式

说明

=WORKDAY.INTL(DATE(2006,1,1),0)

得到一个对应于日期 2006-1-1 的序列值

=WORKDAY.INTL(DATE(2006,1,1),10)

得到一个对应于日期 2006-1-13 的序列值

=WORKDAY.INTL(DATE(2006,1,1),10,7)

得到一个对应于日期 2006-1-13 的序列值

=WORKDAY.INTL(DATE(2006,1,1),-10)

得到一个对应于日期 2005-12-19 的序列值

=WORKDAY.INTL(DATE(2006,1,1),20,1,{"2006/1/2","2006/1/16"})

得到一个对应于日期 2006-1-31 的序列值

=WORKDAY.INTL(DATE(2006,1,1),20,"0000011",{"2006/1/2","2006/1/16"})

得到一个对应于日期 2006-1-31 的序列值

提示  若要将返回的数字设置为日期格式,请选定它们,然后在“开始”选项卡上的“数字”组中,单击“对话框启动器” clip_image007。在“数字”选项卡上的“类别”列表中,单击“日期”,然后在“类型”列表中单击要使用的日期格式。

 

14.         YEAR 函数

返回某日期对应的年份。返回值为 1900 9999 之间的整数。

  语法

YEAR(serial_number)

YEAR 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)

  Serial_number  必需。为一个日期值,其中包含要查找年份的日期。应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 5 23 日。如果日期以文本形式输入,则会出现问题。

  说明

Microsoft Excel 可将日期存储为可用于计算的序列数。默认情况下,1900 1 1 日的序列号是 1,而 2008 1 1 日的序列号是 39448,这是因为它距 1900 1 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统

不论提供的日期值以何种格式显示,YEARMONTH DAY 函数返回的值都是 Gregorian 值。例如,如果提供日期的显示格式是回历 (回历:伊斯兰教国家/地区使用的农历。),则 YEARMONTH DAY 函数返回的值将是与等价的 Gregorian 日期相关联的值。

  示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

clip_image006如何复制示例?

1.  选择本文中的示例。

要点  不要选择行或列标题。

clip_image005

从“帮助”中选择示例

2.  Ctrl+C

3.  Excel 中,创建一个空白工作簿或工作表。

4.  在工作表中,选择单元格 A1,然后按 Ctrl+V

要点  若要使该示例能够正常工作,必须将其粘贴到工作表的单元格 A1 中。

5.  要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

将示例复制到一个空白工作表中后,可以按照您的需要改编示例。

 

1

2

3

4

5

6

A

B

日期

 

2008-7-5

 

10-7-5

 

公式

说明(结果)

=YEAR(A2)

第一个日期的年份 (2008)

=YEAR(A3)

第二个日期的年份 (2010)

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据