分享

快速计算日期间隔,从此再也不用扳手指!

 EXCEL应用之家 2023-02-21 发布于上海


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

【置顶公众号】或者【设为星标】及时接收更新不迷路



小伙伴们好,今天给大家出道题目。给你两个日期,以及在这两个日期之间的某几个单独的日期。让你快速计算去除掉这几个单独日期后两个日期间的天数。



怎么样,朋友们能供快速算出吗?


01

有朋友会说了,这个还不简单!



在单元格C2中输入公式“=SUM(1-COUNTIF($E$2:$E$7,ROW(INDIRECT(A2&":"&B2))))”,三键回车并向下拖曳即可。

思路:

  • 利用ROW函数和INDIRECT函数将起止日期转换为一组连续的序列

  • 利用COUNTIF函数在E2:E7这个范围中统计上面这个序列中每个数值在这个范围区间中的个数。由于数据是不重复的,因此,能供找到的就计“1”,结果如下{1;1;0;0;1;0;0;0;0;0}

  • 接下来再用1减这个内存数组,剩余的部分就是没有找到的数值的个数,最终用SUM函数求和即可


02

COUNTIF函数表示,自己单独就可以搞定的。



在单元格C2中输入公式“=B2-A2-COUNTIFS($E$2:$E$7,">="&A2,$E$2:$E$7,"<="&B2)+1”,并向下拖曳即可。

这个不解释了,逻辑非常简单。


03

但是大家别忘了,EXCEL中专门有一个函数来解决这类问题的。



等一下!为什么这个公式的结果不正确呢?啊,原来NETWORKDAYS函数除了把排除日期给减掉之外,也把起始日期之间的周末也给减去了。因此这个函数用在这里是不合适的。

没关系,我们稍作调整。



在单元格C2输入公式“=NETWORKDAYS.INTL(A2,B2,"0000000",$E$2:$E$7)”,并向下拖曳即可。

NETWORKDAYS.INTL函数和NETWORKDAYS函数相比,多了一个参数,是用来自定义周末用的。

NETWORKDAYS.INTL函数的第三个参数既可以是单个的数字,来指代不同的周末;也可以是像这样"0000000"的字符串。字符串的长度为7,由1和0构成。1代表是周末,0代表是工作日。"0000000"的含义就是7天都是工作日。

这样,这个公式的结果就正确了。

朋友们,你们学会了吗?搞清楚了NETWORKDAYS.INTL函数和NETWORKDAYS函数的异同点了吗?

本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/1510cKsGWWK40TnWYU2V0XA?pwd=2xgl

提取码:2xgl


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多