excel数据透视表怎么计算工作日天数?
本文提供了一个公式,能够计算多种情形下某个月的工作日天数,如下所示。
单元格C2中的公式为:
=MAX(0,NETWORKDAYS(MAX($A2,C$1),MIN($B2,EOMONTH(C$1,0))))
向右拖至F列,向下拖至第8行。
NETWORKDAYS函数的语法为:
NETWORKDAYS(start_date,end_date, [holidays])
其中,参数start_date必需,指定开始日期;参数end_date必需,指定结束日期;参数holidays,可选,指定要排除的日期。
因此,参数start_date是公式中的:
MAX($A2,C$1)
获得开始日期和当前月首日中较大的值。
参数end_date是公式中的:
MIN($B2,EOMONTH(C$1,0))
其中的EOMONTH(C$1,0)获取当前月最后一天的日期值,因此获取结束日期和当前月最后一天日期值中的较小值。
这样,将本月中的开始和结束日期就确定了,传递给NETWORKDAYS函数得到当月工作日天数。
在第9行中,我们将假期排除在外,单元格C9中的公式为:
=MAX(0,NETWORKDAYS(MAX($A9,C$1),MIN($B9,EOMONTH(C$1,0)),$B$13:$B$15))
向右拖至F列。
公式中添加了NETWORKDAYS函数的可选参数holidays,将指定的日期排除。
在Excel 2010中,Microsoft引入了一个新函数NETWORKDAYS.INTL,增加了能够自定义周末日期的功能。其语法为:
NETWORKDAYS.INTL(start_date,end_date, [weekend], [holidays])
其中,参数weekend可指定下表中的值:
参数weekend也可以指定由0和1组成的7个字符长的字符串,其每个字符代表一周中的某一天,从周一开始。1代表该天是非工作日,0代表工作日。例如,0000011表示周末是周六和周日。注意,在字符串中只能有1和0,且使用1111111将总是返回0。
对于我们所举的示例来说,如果在单元格C9中输入公式:
=MAX(0,NETWORKDAYS.INTL(MAX($A9,C$1),MIN($B9,EOMONTH(C$1,0)),6, $B$13:$B$15))
Excel将会认为周四和周五是周末。
使用公式:
=MAX(0,NETWORKDAYS.INTL(MAX($A9,C$1),MIN($B9,EOMONTH(C$1,0)),”1010100″, $B$13:$B$15))
Excel将认为周一、周三、周五是周末。
最新推荐
-
Win11定位服务怎么关闭 win11关闭定位服务
Win11定位服务怎么关闭?在使用win11系统的过程中,通过定位服务,用户可以获得更精准的位置信息,可以 […]
-
printspooler服务怎么开启win11 如何启动print spooler服务
printspooler服务怎么开启win11?print spooler服务是关联打印机的系统服务项,实 […]
-
win11定位服务怎么打开 win11定位服务被禁用了
win11定位服务怎么打开?在使用win11系统的过程中,通过定位服务,可以获得更精准的位置信息,可以方便 […]
-
mac磁盘分区怎么分 mac给硬盘分区
mac磁盘分区怎么分?在日常使用电脑的过程中,通过对电脑进行分区规划,可以方便用户查找储存对应的文件数据, […]
-
win7打印机服务怎么开启 开启printspooler服务的步骤
win7打印机服务怎么开启?Print Spooler是打印后台处理服务,如果此服务被禁用,任何依赖于它的 […]
-
windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
windows7怎样设置禁止随便安装软件?很多用户都会在电脑上进行第三方软件应用的安装,但是也带来了不安全 […]
热门文章
Win11定位服务怎么关闭 win11关闭定位服务
2printspooler服务怎么开启win11 如何启动print spooler服务
3win11定位服务怎么打开 win11定位服务被禁用了
4mac磁盘分区怎么分 mac给硬盘分区
5win7打印机服务怎么开启 开启printspooler服务的步骤
6windows7怎样设置禁止随便安装软件 win7设置禁止安装软件
7win7如何设置局域网工作机组 win7局域网共享设置工作组
8win7如何添加自带游戏 win7自带游戏怎么恢复
9win11用户账户控制怎么取消 win11关闭uac方法
10win10怎么查看网口是百兆千兆还是千兆 电脑网口是百兆还是千兆
随机推荐
专题工具排名 更多+