打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
计算指定年月的第n周有几天
你好,我是刘卓。欢迎来到我的公号,excel函数解析。之前的文章我和你分享了year,month,day,date,today,eomonth,edate,weekday,weeknum等日期函数的用法。今天利用这些函数来做一个练习题,计算指定年月的第n周有多少天。

如下图所示,根据指定的年份,月份和第几周计算出对应的天数。比如2020年4月的第1周有5天,可以参考右边的日历。其中年份,月份和第几周都是通过控件来设置和调节的。这个控件是如何添加和设置的,今天也会简单分享下。重要的是如何根据这3个值算出对应的天数。你先自己想一下,然后再往下看,会学的更快。

下面先分享下控件是如何添加和设置的。

点击【开发工具】选项卡——【插入】——【数值调节阀】。然后按住鼠标左键不放拖出一个控件。拖动边框线的小圆点可以改变它的大小,如果边框线不见了,用鼠标右键点一下控件就出现了。当控件有边框线时,把鼠标移过去,光标变成箭头,这时按住左键就可以移动控件的位置了,把它放在一个合适的位置,这样控件就添加好了。

接下来就要设置一下控件了,鼠标右键点击控件,设置控件格式。

弹出下图的对话框,选控制,这里有几个参数。最小值和最大值是它的范围,步长就是调节阀点一下增加或减少的数量,单元格链接选B2,因为现在调节的是年份。当前值我就写了今年的年份2020。如果你要调整它的范围,你可以重新设置最小值和最大值。设置好参数后点确定。其他两个控件也是同样的操作方法。

控件设置好了,就要进入咱们今天的正题。如何计算指定年月第n周的天数。思路是这样的:比如现在选择的是2020年4月的第1周,我们先要确定第1周在日历中所占的7天,也就是下图红色框标记的7天。确定这7天的日期后,然后用month提取出它们的月份,和我们指定的4月比较,看看有几个日期是4月份的,就得到了我们要的天数。

比如第1周的7天中,30号和31号是3月的,只有1号到5号是4月的,所以2020年4月的第1周有5天。

现在关键的问题是如何确定第n周的7天的日期。比如我选择第2周,就能确定是6号到12号这7天的日期。其实这个问题之前也说过了,首先找到月初的日期,也就是2020/4/1。然后由月初的日期找到上周日的日期,也就是2020/3/29。由2020/3/29加1,2,3,4,5,6,7就得到了第1周的7天,加8,9,10,11,12,13,14就得到了第2周的7天,...第n周的,以此类推。

如果你还是不懂,也没有关系,可以先学习一下如何用函数构建出下图的二维数组。我这里用的是区域数组,你也可以用一个单元格拖拉的公式。

最后完整的公式为:=SUMPRODUCT(N(MONTH(DATE(B2,B4,1)-WEEKDAY(DATE(B2,B4,1),2)+ROW(1:7)+B6*7-7)=B4))

DATE(B2,B4,1)得到了指定年月的月初日期,也就是2020/4/1。WEEKDAY(DATE(B2,B4,1),2)计算月初日期2020/4/1是周几。DATE(B2,B4,1)-WEEKDAY(DATE(B2,B4,1),2)用月初日期减去它是周几,得到了上周日的日期2020/3/29。

DATE(B2,B4,1)-WEEKDAY(DATE(B2,B4,1),2)+ROW(1:7)+B6*7-7这部分得到了指定周的7天的日期。比如B6是第1周,那么就用2020/3/29加1到7;如果B6是第2周,那么就用2020/3/29加8到14,以此类推。

MONTH(DATE(B2,B4,1)-WEEKDAY(DATE(B2,B4,1),2)+ROW(1:7)+B6*7-7)这部分用month提取那7个日期的月份,然后和我们指定的月份比较,看有几个日期的月份和我们指定的月份相等,最后用sumproduct求和计数。

小贴士:
其实我们可以把每个月的日历看做一个6行7列的矩阵或者数组,就像上图那样,本质就是等差数列,有了这样的模型,解决日期周数的问题就会比较简单。下次和你分享一下简单日历的制作方法。

链接:
https://pan.baidu.com/s/1GfCS8vnd4OzpRizt7F5C4A
提取码:otav
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用EXCEL做日历牌(公历)
Excel | WEEKDAY函数解决只显示每月星期日的问题
常用的Excel日期类函数一网打尽,总共10个
财务人员必懂得几个Excel函数(六)
如何使用EXCEL制作一个2019年的日历?
今天是母亲节,给妈妈打个电话吧!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服