excel表格_excel函数公式大全_execl从入门到精通
EXCEL日期和时间函数的使用方法2024-02-21 13:11:37
● 函数分类
▼表 1-1 返回当前的日期和时间以及指定的日期和时间
函数名称 功能
DATE 返回指定的日期的序列号
NOW 返回日期时间格式的当前日期和时间
TODAY 返回当前日期
TIME 将制定内容显示为一个时间
▼表 1-2 返回日期和时间的某个部分
函数名称 功能
DAY 返回日期中具体的某一天
HOUR 返回小时数
MONTH 返回月份
MINUTE 返回分钟数
SECOND 返回秒数
YEAR 返回年份
WEEKDAY 返回当前日期是星期几
01 日期和时间函数 日期和时间函数是用来计算日期和时间,或设置日期和时
间的格式的函数,例如"计算员工工龄"。Excel 2013提供了 24
个日期和时间函数,本章将详细介绍日期和时间函数的基本用
法及函数的实际工作中的应用。
▼表 1-3 文本与日期、时间格式间的转换
函数名称 功能
DATEVALUE 将文本格式的日期转换为序列号
TIMEVALUE 将指定日期的序列号转换为文本日期
▼表 1-4 其他日期函数
函数名称 功能
DAYS 计算两个日期之间的天数
DAY360 以 360天为准计算两个日期间天数
EDATE 计算从起始日期向前或向后几个月的日期
的序列号
EOMONTH 计算从起始日期向前或向后几个月的月份
的最后一天的序列号
ISOWEEKNUM 返回给定日期在全年中的 ISO 周数
NETWORKDAYS 计算日期间的所有工作数
NETWORKDAYS.INTL 计算日期间的所有工作日数,使用参数指明
周末的日期和天数
WORKDAY 计算与指定日期相隔数个工作日的日期
WORKDAY.INTL 计算与制定日期相隔数个工作日的日期,使
用参数指明周末的日期和天数
WEEKNUM 返回日期在一年中是第几周
YEARFRAC 计算从起始日期到终止日期所经历的天数
占全年天数的百分比
使用 YEAR和MONTH函数提取当前日期的年份和月份,并
将月份加 1,日部分设置为 0,表示下个月的第 0天,即当前月份
的最后一天。最后使用 TEXT 函数将结果设置为以阿拉伯数字表
示的本月的天数。
DATE
返回指定日期的序列号
特定日期
的序列号
函数格式: DATE(year,month,day)
参数说明: year(必选):指定年份或者年份所在的单元格。
month(必选):指定月份或者月份所在的单元格。
day (必选):指定日或者日所在的单元格。
注意事项: (1)所有参数可以是直接输入的数字或单元格引用。
(2)所有参数都必须为数值类型,即数字、文本格式的数
字或表达式。如果是文本,则返回错误值#VALUE!。
(3)参数 year的值必须在 1900~9999之间,如果大于 9999,
则返回错误值#VALUE!。参数 month和 day不同,month的正
常范围是 1~12,day的正常范围是 1~31。
(4)DATE函数对月和日有自动更正功能。如果月大于 12,
那么 Excel会自动转换到下一年;如果日大于 31,Excel会将其
转换到下一个月。同理,如果月和日都小于 1,则 Excel会将其
转换到上一年或上一个月。
案例 计算本月的天数
使用 DATE 函数时还可以把公式作为函数的参数。例如:利
用DATE函数来求 1个月后的日期,此时需要在month参数上加 1。
在 单 元 格 B1 中 输 入 公 式 =TEXT
(DATE(YEAR(TODAY()),MONTH(TODAY())+1,0)
,"d"),并按下【Enter】键。
案例 显示 1 个月后的日期
①在单元格 B4 中输入公式
=DATE($A$1,$A$2+1,A4),并按
下【Enter】键。
②向下复制公式,计算其他
单元格的值。
NOW
返回日期时间格式的当前日期和时间
当前
日期
函数格式: NOW()
参数说明: 不需要参数,但必须有()。如果括号中输入参数,则会返
回错误值。
使用 NOW 函数返回当前日期,然后使用 TEXT 函数将当前
日期设为"月-日"格式。再使用 10月 1日减去当前日期,然后使用
TEXT函数将差值设置为数字格式,即日期序列号。最后加 1即可
得到当前日期距离 10月 1日的天数。
输入 NOW 函数,显示当前日期和时间。如果函数所在的单
元格格式为"常规",则 Excel显示如"2014/8/4 14:00"的日期格式。
用户也可以根据需要重新设置单元格格式。
注意事项: (1)NOW函数返回的是 Windows系统中设置的日期和时
间。
(2)NOW 函数返回的日期和时间不会实时更新,除非工
作表被重新计算。
(3)在格式为"常规"的单元格中使用 NOW函数时,返回
以正常的日期格式显示的当前日期和时间。如果需要显示当前
日期对应的序列号,需将单元格格式设置为"常规"。也可以使
用 TEXT函数强制单元格中的日期显示为序列号。
案例 十一倒计时
在 单 元 格 B1 中 输 入 公 式
=TEXT("10-1"-TEXT(NOW(),"mm-dd"),"0")+1
,并按下【Enter】键。
案例 显示当前日期和时间
如果员工的"离职日期"对应列的单元格为空,说明员工未
离职,则计算该员工从入职日期到当前日期的天数;如果不为空,
说明员工已经离职,则使用离职日期减去入职日期。
在单元格 B1 中输入公式 NOW()
并按下【Enter】键。
案例 计算员工在职时间
在 单 元 格 G2 中 输 入 公 式
=ROUND(IF(F2<>"",F2-E2,NOW(
)-B2),0)并按下【Enter】键。
TODAY
返回当前日期
当前
日期
函数格式: TODAY()
参数说明: 不需要参数。
注意事项: (1)TODAY函数返回的是Windows系统中设置的日期。
(2)TODAY 函数返回的日期不会实时更新,除非工作表
被重新计算。
如果已知某人的身份证号,则可以使用MID函数提取其出生
年份,然后使用 TODAY 函数计算其年龄,使用 YEAR函数返回
年数。
新员工入职后,一般都要先进行试用。本案例以试用期为 1
个月即 30天为例,统计新入职的员工试用期到期的人数。首先试
用 TOADY 函数获得当前日期,然后减去 30,再与员工的入职时
间进行比较。如果入职时间大,则说明该员工试用期已经到期,
然后使用 COUNTIF函数统计符合条件的个数即可。
(3)在格式为"常规"的单元格中使用 TODAY 函数时,返
回以正常的日期格式显示的当前日期。如果需要显示当前日期
对应的序列号,需将单元格格式设置为"常规"。
案例 计算年龄
在单元格 F2 中输入公式
=YEAR(TODAY())-MID(C2,
7,4),并按下【Enter】键。
案例 统计试用期到期的人数
在单元格 C2 中输入公式
=COUNTIF(C3:C12,"<"&TOD
AY()-90),并按下【Enter】
键。
本案例以安排会议时间为例,首先使用 TEXT(NOW())获
得格式化后的当前时间,然后加上时间间隔,例如 1 个半小时,
此时间间隔可由 TIME函数得到,最后计算出准确的会议时间。
TIME
返回指定时间的序列号
特定日期
的序列号
函数格式: TIME(hour,minute,second)
参数说明: hour(必选):表示小时。0(零)到 32767 之间的数值。
任何大于 23 的数值将除以 24,其余数将视为小时。
minute(必选):表示分钟。0 到 32767 之间的数值。任
何大于 59 的数值将被转换为小时和分钟。
second(必选):表示秒。0 到 32767 之间的数值。任何
大于 59 的数值将被转换为小时、分钟和秒。
注意事项: (1)所有参数可以是直接输入的数字或单元格引用。
(2)所有参数都必须为数值类型,即数字、文本格式的数
字或表达式。如果是文本,则返回错误值#VALUE!。
(3)如果在输入函数前,单元格的格式为"常规",则结果
将设为日期格式。
案例 安排会议时间
使用 TIME 函数,将输入在各个单元格内的时、分、秒合为
一个数值。
效果如下图所示。
在 单 元 格 B1 中 输 入 公 式 =TEXT
(NOW(),"hh:mm")+TIME(1,30,0) , 并 按 下
【Enter】键。
案例 返回指定时间的序列号
①在单元格 D2 中插入
TIME函数。
②单击要输入函数的
单元格。
③指定参数,然后单击
"确定"按钮。
10
使用 DAY函数提取"日"。
DAY
返回日期中具体的某一天
用序列号
表示日期
函数格式: DAY(serial_number)
参数说明: serial_number:表示要查找的天数日期。日期有多种输入
方式:带引号的文本串(例如 "1988/01/30")、系列数(例如,
如果使用 1900 日期系统则 35825 表示 1998 年 1 月 30
日 ) 或 其 他 公 式 或 函 数 的 结 果 ( 例 如
DATEVALUE("1998/1/30"))。
注意事项: (1)使用 DAY 函数,只显示日期值或表示日期文本的天
数,返回值为 1~31间的整数。
(2)serial_number表示的日期应该以标准的日期格式输入,
或者使用 DATE、NOW、TODAY 等函数输入。如果日期以非
标准日期格式的文本形式输入,DAY 函数将返回错误值
#VALUE!。
案例 提取"日"
①单击"插入函数"按钮。
11
提取结果如下。
公司每天都有其销售记录,并需定期对销售情况进行分析。
本案例以统计本月上旬销售总额为例,首先使用 DAY 函数提取
"日",然后判断是否小于 11。如果小于 11,则该日期为本月上旬,
然后返回该日期的销售额,最后使用 SUM 函数对返回的数组求
和。
②在弹出的"插入函
数"对话框中选择 DAY
函数,然后单击"确
定"按钮。
③指定参数,然后单击
"确定"按钮。
案例 计算本月上旬销售总额
12
使用 HOUR函数提取"小时"。
在单元格 C1中输入公式
"=SUM(IF(DAY(A3:A27
)<11,B3:B27)),然后按
下【Ctrl+Shift+Enter】
组合键。
HOUR
返回小时数
用序列号
表示日期
函数格式: HOUR(serial_number)
参数说明: serial_number:表示要提取小时数的时间,可以是表示时
间的序列号、时间文本或单元格引用。
注意事项: (1)使用 HOUR函数只显示日期值或表示日期的文本的小
时数。返回值是 0~23间的整数。
(2)serial_number 参数必须为数值类型,即数字、文本格
式的数字或表达式。如果是文本,则返回错误值#VALUE!。
(3)如果小时超过 24,则 HOUR 函数将提取实际小时与
24 的差值。例如,如果时间的小时部分为 29,那么 HOUR 函
数提取小时的返回值为 5。
案例 提取"小时"
13
提取结果如下。
有些公司使用的是 24小时工作制,假设从早上 8点到晚上 20
点为白班时间,其他为夜班时间。本案例首先使用 HOUR函数返
回时间中的小时数;然后使用 AND函数来判断 HOUR函数返回
①单击"插入函数"按钮。
②在弹出的"插入函
数"对话框中选择 HOUR
函数,然后单击"确
定"按钮。
③指定参数,然后单击
"确定"按钮。
案例 工作排班
14
的数值是否符合条件,如果两个条件均符合,则 AND函数返回值
为 TRUE,否则返回 FALSE;最后通过 IF函数判断,如果时间段在
8点到 20点,则条件为真,输出"白班",否则输出"夜班"。
①在单元格 C2中输入公
式 " =IF(AND(HOUR
(B2)>=8.5,HOUR(B2)<=
20.5)," 白 班 "," 夜 班
")",然后按下 Enter
键。
②使用填充柄向下填充。
MONTH
返回月份
用序列号
表示日期
函数格式: MONTH(serial_number)
参数说明: serial_number:表示要提取月份的日期,可以是表示日期
的序列号、日期文本或单元格引用。
注意事项: (1)使用MONTH函数只显示日期值或表示日期的文本的
月份。返回值是 1~12间的整数。
(2)参数 serial_number表示的日期应该以标准的日期格式
输入,或者用 DATE、NOW、TODAY 等函数输入。如果日期
以非标准日期格式的文本形式输入,MONTH 函数将返回错误
值#VALUE!。
15
使用MONTH函数提取"月"。
提取结果如下。
案例 提取"月"
①单击"插入函数"按钮。
②在弹出的"插入函
数 " 对 话 框 中 选 择
MONTH 函数,然后单击
"确定"按钮。
③指定参数,然后单击
"确定"按钮。
16
使用MONTH函数返回日期中的小时数,然后通过 IF函数判
断,如果条件为真,输出"√",否则输出空白。
首先使用 YEAR 函数提取单元格 A2 中的年份,然后使用
DATE 函数将该年份和 2、29 组合为一个日期,即今年的 2 月 29
日。闰年 2月有 29天,非闰年 2月只有 28天,利用 DATE函数
的自动更正日期错误功能,并使用 MONTH 函数提取 DATE 函数
产生的日期中的月份。如果是闰年,提取出的月份就等于 2;如果
不是,DATE函数会将 2月 29日自动进位到 3月 1日。最后通过
IF函数判断,如果条件为真,输出"是",否则输出"不是"。
案例 标记 7 月份入职员工
①在单元格 C2中输入公
式"=IF(AND(HOUR(B2)
>=8.5,HOUR(B2)<=20.5
),"白班","夜班")",
然后按下 Enter 键。
②使用填充柄向下填充。
案例 判断今年是否是闰年
在单元格 B2中输入公式
" =IF(MONTH(DATE(YEA
R(A2),2,29))=2,"是",
"不是")",然后按下
Enter键。
17
首先使用HOUR函数和MINUTE函数分别提取起始时间和结
束时间中的小时数和分钟数,并将小时数乘以 60,转换为分钟数
后加上提取出的分钟数。然后用结束时间的总分钟数减去起始时
间的总分钟数,最终得到精确时间。
MINUTE
返回分钟数
用序列号
表示日期
函数格式: MINUTE(serial_number)
参数说明: serial_number:表示要提取分钟数的时间,可以是表示时
间的序列号、时间文本或单元格引用。
注意事项: (1)使用MINUTE函数只显示时间值或表示时间的文本的
分钟数。返回值是 0~59间的整数。
(2)参数必须为数值类型,即数字、文本格式的数字或表达式。
如果是文本,则返回错误值#VALUE!。
(3)如果分钟超过 60,则 MINUTE 函数将提取实际分钟
与 60的差值。
案例 计算精确时间
在单元格 C2中输入公式
" =(HOUR(B2)*60+MINU
TE(B2))-(HOUR(A2)*60
+MINUTE(A2))",然后
按下 Enter键。
18
使用MINUTE函数提取"分"。
提取结果如下。
案例 提取"分"
①单击"插入函数"按钮。
②在弹出的"插入函
数 " 对 话 框 中 选 择
MINUTE 函数,然后单击
"确定"按钮。
③指定参数,然后单击
"确定"按钮。
SECOND
返回秒数
用序列号
表示日期
19
使用 SECOND函数提取"秒"。
函数格式: SECOND (serial_number)
参数说明: serial_number:表示要提取秒数的时间,可以是表示时间
的序列号、时间文本或单元格引用。
注意事项: (1)使用 SECOND函数只显示时间值或表示时间的文本的
秒数。返回值是 0~59间的整数。
(2)参数必须为数值类型,即数字、文本格式的数字或表
达式。如果是文本,则返回错误值#VALUE!。
(3)如果秒数超过 60,则 SECOND 函数将提取实际秒数
与 60的差值。
案例 提取"秒"
①单击"插入函数"按钮。
②在弹出的"插入函
数 " 对 话 框 中 选 择
SECOND 函数,然后单击
"确定"按钮。
20
提取结果如下。
使用 SECOND函数计算时间间隔。
③指定参数,然后单击
"确定"按钮。
案例 计算时间间隔
在单元格 C2中输入公式
" =SECOND(B2-A2)",
然后按下 Enter 键。
YEAR
返回某日期对应的年份
用序列号
表示日期
函数格式: YEAR (serial_number)
参数说明: serial_number:表示要提取秒数的时间,可以是表示时间
的序列号、时间文本或单元格引用。
注意事项: (1)YEAR 函数只显示日期值或表示日期文本的年份。返
回值是 1900~9999间的整数。
21
首先使用 YEAR函数提取 A列日期中的年,然后将其与 2013
比较,如果等于 2013,则返回对应于 A列日期的 B列的收入。然
后使用 AVERAGE函数对所有 2013年的收入求平均值。最后使用
ROUND函数对结果进行取整。
首先使用 YEAR函数提取"年"。
(2)参数表示的日期应该以标准的日期格式输入,或者用
DATE、NOW、TODAY等函数输入。如果是文本,则返回错误
值#VALUE!。
案例 提取"年"
在单元格 B9中输入公式
" =ROUND(AVERAGE(IF(
YEAR(A2:A8)=2013,B2:
B8)),0)",然后按下
【 Ctrl+Shift+Enter】
组合键。
案例 提取"年"
①单击"插入函数"按钮。
22
提取结果如下。
②在弹出的"插入函
数 " 对 话 框 中 选 择
SECOND 函数,然后单击
"确定"按钮。
③指定参数,然后单击
"确定"按钮。
WEEKDAY
返回当前日期是星期几
用序列号
表示日期
函数格式: WEEKDAY (serial_number,return_type)
参数说明: serial_number:表示返回值类型的数字,返回代表一周中
的第几天的数值,是一个 1到 7之间的整数。
return_type:返回代表一周中的第几天的数值,是一个 1
23
首先使用 WEEKDAY 函数提取 A 列日期中的星期,将
WEEKDAY函数的第 2参数设置为 2,表示WEEKDAY函数如果
返回 1,则相当于星期一。然后判断 WEEKDAY 返回值是否等于
1,如果等于 1,则说明该日期为星期一,然后返回 B列中该日期
的销量。最后使用 SUM函数对星期一的数组进行求和。
使用WEEKDAY函数提取星期数。
案例 统计周一销量
到 7之间的整数。从星期日=1到星期六=7,用 1;从星期一=1
到星期日=7,用 2;从星期一=0到星期日=6时,用 3。
注意事项: serial_number 参数如果以非标准日期格式的文本形式输
入,则返回错误值#VALUE!。如果输入负数,则返回错误值
#NUM!。
在单元格 B9中输入公式
" =SUM(IF(WEEKDAY(A2
:A9,2)=1,B2:B9))" ,
然后按下【Ctrl+Shift+
Enter】组合键。
案例 提取星期数
①单击"插入函数"按钮。
24
提取结果如下。
②在弹出的"插入函
数 " 对 话 框 中 选 择
WEEKDAY函数,然后单击
"确定"按钮。
③指定参数,然后单击
"确定"按钮。
DATEVALUE
返回当前日期是星期几
特定日期
的序列号
函数格式: DATEVALUE (date_text)
参数说明: date_text:表示要转换为编号方式显示的日期的文本字符
串。
25
使用 DATEVALUE函数可以计算两个日期之间的间隔天数。
使用 DATEVALUE 函数将以文本显示的日期值转换为序列
号。
注意事项: (1)date-text参数只能是对表示日期的文本字符串的引用,
而不能以引用单元格的方式进行引用,使用时只能手动输入或
复制,而不能引用;日期必须要加双引号。
(2)输入文本格式日期的年份范围在 1900~9999之间,超
出范围将返回错误值#VALUE!。
(3)如果省略参数中的年份,则函数默认为当前年份。
案例 计算两个日期之间的间隔天数
在单元格 C2中输入公式
"=DATEVALUE("2014-9
-11")-DATEVALUE("201
4-8-14")",然后按下
Enter键。
案例 将以文本显示的日期值转换为序列号
在单元格 C2中输入公式
"=DATEVALUE("2014-8
-14")" , 然 后 按 下
Enter键。
TIMEVALUE
将文本格式的时间转换为日期时间格式的时间
特定日期
的序列号
26
使用 TIMEVALUE 函数将以文本显示的时间转换为序列号,
此案例 B2单元格格式为"常规"。
首先使用 SUBSTITUTE函数将"分钟"替换为空,然后再使用
SUBSTITUTE 函数将"小时"替换为":"。再使用 TIMEVALUE 函
数将文本格式的时间转换为可以计算的时间,再乘以 24,将其转
换为小数,最后乘以 80。最后使用 ROUND函数进行取整即可。
函数格式: TIMEVALUE(time_text)
参数说明: time_text(必选):表示某一时间的文本字符串。将忽略在
time_text参数中包括的任何日期信息。
注意事项: 参数必须以文本格式输入,并加双引号,否则将返回错误
值 #VALUE!。
案例 将以文本显示的时间转换为序列号
在单元格 C2 中输入公式
"=TIMEVALUE("13:40")",
然后按下 Enter键。
案例 计算钟点工工资
27
①在单元格 C2 中输入公式"=ROUND(TIMEVALUE(SUBSTITUTE
(SUBSTITUTE(B2,"分钟",""),"小时",":"))*24*50,0)",然
后按下 Enter键。
②向下填充公式。
DAYS
计算两个日期之间的天数
特定日期
的序列号
函数格式: DAYS (end_date, start_date)
参数说明: End_date(必选):表示起始日期。
Start_date(必选):表示终止日期。
注意事项: (1)如果任何一个日期参数为文本,该参数将被视为
DATEVALUE(date_text) 并返回整型日期,而不是时间组件。
(2)如果日期参数是超出有效日期范围的数值,DAYS 返
回 #NUM! 错误值。
(3)如果日期参数是无法解析为字符串的有效日期,DAYS
返回 #VALUE! 错误值。
28
使用 DAYS函数计算两个日期之间的天数。
提取结果如下。
案例 计算两个日期之间的天数
①单击"插入函数"按钮。
②在弹出的"插入函
数"对话框中选择 DAYS
函数,然后单击"确
定"按钮。
③指定参数,然后单击
"确定"按钮。
29
使用 DAYS函数计算两个日期之间的天数。本案例中 C2单元
格格式为"日期"。
EDATE
返回一串日期,指示起始日期之前/之后的月数
计算时间
的序列号
函数格式: EDATE(start_date,months)
参数说明: start_date(必选):表示起始日期。
months(必选):表示起始日期之前或之后的月数。正数代
表未来几个月,负数代表过去几个月,如果不是整数,则取整。
注意事项: (1)如果 start_date 不是有效日期,则 EDATE 返回错误
值 #VALUE!。
(2)start_date参数表示的日期应该以标准的日期格式输入,
或者用 DATE、NOW、TODAY 等函数输入。如果以非标准日
期格式的文本形式输入,EDATE函数将返回错误值#VALUE!。
案例 计算项目完成日期
①单击"插入函数"按钮。
30
提取结果如下。
②在弹出的"插入函
数 " 对 话 框 中 选 择
EDATE 函数,然后单击
"确定"按钮。
③指定参数,然后单击
"确定"按钮。
EOMONTH
返回指定月份几个月之前或之后的最后一天的日期
计算时间
的序列号
函数格式: EOMONTH(start_date,months)
参数说明:
31
公司每年都会有员工离职,公司规定工资结算日为每个月的
第一天。本案例首先使用 EOMONTH函数返回 B列日期包含的月
份的最后一天;然后将其结果加 1,得到下个月的第一天;最后使
用 TEXT函数设置日期格式。
start_date(必选):表示起始日期。
months(必选):表示起始日期之前或之后的月数。正数代
表未来几个月,负数代表过去几个月,如果输入的数字不是整
数,则将该数字向上或向下舍入到最接近的整数。
注意事项: (1)如果 start_date 不是有效的日期,EOMONTH 将返回
错误。
(2)如果 start_date 与月份数的计算生成无效的日期,
EOMONTH将返回错误。1900年 3月 1日之前的日期以及 9999
年 12月 31日之后的日期无效。
(3)当日期参数是日期的文本表示形式时,EDATE函数使
用客户端计算机的区域设置和日期时间设置来理解文本值,以
便执行转换。如果当前日期时间设置以月/日/年的格式表示日
期,则以下字符串"1/8/2009"将解释为与 2009年 1月 8日等
效的日期时间值。但是,如果当前日期时间设置以日/月/年的格
式表示日期,则相同字符串将解释为与 2009年 8月 1日等效的
日期时间值。
案例 计算离职人员工资结算日
32
使用 ISOWEEKNUM函数计算两个日期之间的间隔天数。
①在单元格 C2 中输入公式
"=ROUND(TIMEVALUE(SUBSTI
TUTE(SUBSTITUTE(B2," 分 钟
","")," 小 时 ",":"))
*24*50,0)" , 然 后 按 下
Enter键。
②向下填充公式。
ISOWEEKNUM
返回给定日期在全年中的 ISO周数
特定日期
的序列号
函数格式: ISOWEEKNUM (date)
参数说明: date(必选):表示 Excel用于日期和时间计算的日期-时间
代码。
注意事项: (1)如果日期参数为无效日期类型,则 ISOWEEKNUM将
返回错误值 #VALUE!。
(2)如果日期参数为无效数值,则 ISOWEEKNUM将返回
错误值 #NUM!。
案例 统计全年中的 ISO 周数
33
提取结果如下。
①单击"插入函数"按钮。
②在弹出的"插入函
数 " 对 话 框 中 选 择
ISOWEEKDAY 函数,然后
单击"确定"按钮。
③指定参数,然后单击
"确定"按钮。
NETWORKDAYS
返回起始日和结束日之间完整的工作日数值
期间差
函数格式: NETWORKDAYS(start_date, end_date, holidays)
参数说明:
34
假设公司采用双休制,使用 NETWORKDAYS函数计算 2014
年 9月份的有效工作日。
Start_date:表示一个代表开始日期的日期
End_date:表示一个代表终止日期的日期
Holidays:表示不在工作日历中的一个或多个日期所构成
的可选区域,例如:省/市/自治区和国家/地区的法定假日以及
其他非法定假日。 该列表可以是包含日期的单元格区域,或是
表示日期的序列号的数组常量。
注意事项: (1)如果任一参数不是有效日期,则 NETWORKDAYS返
回错误值 #VALUE!。
(2)如果省略参数 holidays,则表示除了固定的双休日外,
没有其他任何节假日。
案例 计算有效工作日
在单元格 B2 中输入公式
"=NETWORKDAYS(A2,D2,
C2:C4)" , 然 后 按 下
Enter键。
NETWORKDAYS.INTL
返回起始日和结束日之间完整的工作日数值
期间差
函数格式: NETWORKDAYS.INTL(start_date,end_date,weekend,
holidays)
35
假设公司采用双休制,使用 NETWORKDAYS.INTL函数计算
2014年 9月份的有效工作日。
参数说明: Start_date:表示一个代表开始日期的日期。
End_date:表示一个代表终止日期的日期。
Weekend:表示介于 start_date 和 end_date 之间但又不包
括在所有工作日数中的周末日。weekend 是周末数值或字符串,
用于指定周末时间,例如 1或省略代表周末日是周六周日。
Holidays:一个包含一个或多个日期的可选集合,这些日
期将从工作日日历中排除。假期应该是包含日期的单元格区域,
也可以是代表这些日期的序列值的数组常量。假期中的日期或
序列值的顺序可以是任意的。
注意事项: 如果 start_date晚于 end_date,则返回值将为负数,数量将
是所有工作日的数量;如果 start_date在当前日期基准值的范围
之外,则 NETWORKDAYS.INT 返回错误值 #NUM!;如果
end_date 在 当 前 日 期 基 准 值 的 范 围 之 外 , 则
NETWORKDAYS.INTL返回错误值#NUM!;如果 weekend字符
串的长度无效或包含无效字符,则 NETWORKDAYS.INTL 返
回错误值 #VALUE!。
案例 计算有效工作日
在单元格 B2 中输入公式
"=NETWORKDAYS.INTL(A
2,D2,,C2:C4)",然后按
下 Enter键。
36
假设公司采用双休制,使用WORKDAY函数计算公司项目完
工日期。
WORKDAY
返回指定工作日后的日期
计算时间
的序列号
函数格式: WORKDAY(start_date,days, holidays)
参数说明: start_date:表示开始日期。
days:为 Start_date 之前 /之后不含周末及节假日的天
数;Days是正值将产生未来日期、负值产生过去日期。
Holidays:为可选的数据清单,表示需要从工作日历中排
除的日期值(如法定假日/非法定假日)。
注意事项: (1)参数 start_date 表示的日期应该以标准的日期格式输
入。如果以非标准的日期格式的文本形式输入,则函数将返回
错误值#VALUE!
(2)如果参数 days为小数,则截尾取整。
(3)如果参数 holidays 省略,则表示除了固定的双休日之
外无其他任何节日。
案例 计算完工日期
37
在单元格 C2 中输入公式
"=TEXT(WORKDAY(A2,B2,
D2:D11),"yyyy年 m月 d日
")",然后按下 Enter键。
WORKDAY.INTL
计算与指定日期相隔数个工作日的日期
特定日期
的序列号
函数格式: WORKDAY.INTL(start_date,days, weekend,holidays)
参数说明: start_date:表示开始日期。
days:表示在参数 start_date之前或之后不包含周末及节假
日的天数。正数表示产生未来的日期,负数表示产生过去的日
期。
注意事项: (1)参数 start_date 表示的日期应该以标准的日期格式输
入。如果以非标准的日期格式的文本形式输入,则函数将返回
错误值#VALUE!。
(2)如果参数 days为小数,则截尾取整。
(3)如果参数 weekend中的字符串长度无效或包含无效字
符,则 NETWORDDAYS.INTL函数都将返回错误值#VALUE!。
(4)如果参数 holidays 省略,则表示除了固定的双休日之
外无其他任何节日。
38
假设公司采用双休制,使用 WORKDAY.INTL 函数计算计算
公司项目完工日期。
案例 计算完工日期
在单元格 C2 中输入公式
"=TEXT(WORKDAY.INTL(A2,
B2,,D2:D11),"yyyy年 m月 d
日")",然后按下 Enter键。
WEEKNUM
返回给定日期在一年中的周数
周数
函数格式: WEEKNUM(serial_number,return_type)
参数说明: serial_number:表示要计算周数的日期,利用是输入的表
示日期的序列号、日期文本或单元格引用。
return_type:表示确定星期从哪一天开始计算的数字,如
果省略,默认值为 1。如果指定 1,则从星期日开始计算;如果
指定 2,则从星期一开始计算。
注意事项: 参数 serial_number 表示的日期应该以标准的日期格式输
入。如果以非标准的日期格式的文本形式输入,则函数将返回
错误值#VALUE!。
39
使用WEEKNUM函数计算当前日期是本年的第几周。
提取结果如下。
案例 计算当前日期是本年的第几周
①单击"插入函数"按钮。
②在弹出的"插入函
数 " 对 话 框 中 选 择
WEEKNUM函数,然后单击
"确定"按钮。
③指定参数,然后单击
"确定"按钮。
YEARFRAC
计算两个日期之间的完整天数占全年天数的比例 期间差
40
使用 YEARFRAC函数计算两日期间天数所占全年比例。
函数格式: yearfrac(start_date,end_date,basis)
参数说明: start_date:表示开始日期。
end_date:表示结束日期。
basis:要使用的日计数基准类型。所有参数都截断为整数。
省略时为 0。为 1时表示实际天数/实际天数,为 2时表示实际
天数/360,为 3时表示实际天数/365。
注意事项: ( 1)如果 start_date 或 end_date 是无效的日期,
YEARFRAC 将返回错误值#VALUE!。
(2)如果 basis < 0 或 basis > 4,YEARFRAC 将返回错误
值#VALUE!。
案例 计算两日期间天数所占全年比例
在单元格 C2 中输入公式
"=YEARFRAC("2014-5-23
","2014-8-18",3)",然
后按下 Enter键。
标签: excel计算28天后日期