如何在Excel中添加包括或不包括周末和假期的日期天数

如何在Excel中添加包括或不包括周末和假期的日期天数

在Excel中,日期天数的计算经常会和周末以及假期有关。对于需要计算工作日或者排除假期的情况,我们需要掌握以下函数:

工作日函数

在Excel中,用于计算工作日的函数是 WORKDAY(start_date, days, [holidays])。其中,“start_date”是起始日期,“days”是天数,“holidays”是可选的假期列表。

例如,我们要计算从2019年1月1日开始30个工作日后的日期,忽略元旦及春节假期,可以这样写:

=WORKDAY("2019-01-01", 30, {"2019-01-01","2019-02-04","2019-02-05","2019-02-06","2019-02-07","2019-02-08"})

以上公式中的假期列表需要用英文半角逗号分隔,日期需要用英文半角双引号括起来。

默认情况下,“WORKDAY”函数把周六周日算作非工作日,如果我们想要把周末也算作工作日,可以在公式中添加一个参数“2”,如下所示:

=WORKDAY("2019-01-01", 30, {"2019-01-01","2019-02-04","2019-02-05","2019-02-06","2019-02-07","2019-02-08"},2)

网络日函数

在Excel中,用于计算网络日(即去掉周末和假期后的工作日)的函数是 NETWORKDAYS(start_date, end_date, [holidays])。其中,“start_date”是起始日期,“end_date”是结束日期,“holidays”是可选的假期列表。

例如,我们要计算2019年春节假期(2月4日至2月10日)和周末共计7天的日期范围内的网络日数,可以这样写:

=NETWORKDAYS("2019-02-01","2019-02-11",{"2019-02-04","2019-02-05","2019-02-06","2019-02-07","2019-02-08"})

以上公式中,“start_date”是2019年2月1日(离春节假期最近的工作日),“end_date”是2019年2月11日(离春节假期最远的工作日)。

如果我们要计算包括起始日期和结束日期的网络日数,可以把公式改为 NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])。其中,“weekend”是周末的类型,可以用数字表示,如1表示周六和周日是非工作日,2表示周六和周日是工作日,3表示只有周日是非工作日,11表示周日至周四是工作日,5表示周五和周六是非工作日等,具体可以根据需要自行定义。例如,我们要计算2019年4月1日至4月7日的网络日数,包括周末,可以这样写:

=NETWORKDAYS.INTL("2019-04-01","2019-04-07",7)

以上公式中,“start_date”是2019年4月1日(周一),“end_date”是2019年4月7日(周日),数字7表示周六和周日是工作日。

以上示例仅供参考,具体根据实际情况进行调整。

结论

在Excel中,我们可以使用“工作日函数”和“网络日函数”来计算包括或不包括周末和假期的日期天数。对于需要排除一些特定日期(如假期)的情况,可以在这些函数的参数列表中添加一个假期列表。需要注意的是,假期列表需要用英文半角逗号分隔,日期需要用英文半角双引号括起来。

如果需要计算包括起始日期和结束日期的日期天数,可以使用“网络日函数”的“NETWORKDAYS.INTL”版本,并指定周末类型。

这些函数可以帮助我们快速轻松地计算日期天数,提高工作效率,减少错误。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Excel 教程