excel怎么根据日期推算距今几个月(自动求某年某周某天)

有时候我们需要求某一年的某一周几是几月几号,比如在输入第几周几的时候,自动算出具体日期,方便根据周别列出具体数据。下图是一个实例:在表中输入2021年第2周后,自动列出一整周的具体日期。比如,2021年的第2周一是2021/1/4。

下面我们来说一下具体的制作过程。

步骤一、数学计算:

其实,这是一个小学的数学问题,我的思路是计算这一天是这一年的第几天,即离该年的1月1日有多少天的距离。我们可以调出一个日历来看应该怎么求。

我们用第4周二,即1/19日来分析如何求它和 1月1日 之间的日期差距。

1)先看它和 1月1日差多少周:它位于第4周,和第一周之间的差异是4-1=3,那么换算到天就是(4-1)*7=21天。

2)天数修正:由于2021/1/1是周五,而1/19是周二,所以需要减开日期修正值,5-2=3天。所以上述的日期间隔需要修正到21-3=18天。

3)日期求值:上述日期和1月1日之间的时间差距为18天,所以,它就是本年的第19天。

基本的计算方法理清了后,我们就可以开始在Excel上实现了。

步骤二、Excel实现:

把年份数字放B4,周别数字放C4,周一的值放D4;

1)先把该年的1月1日的日期值算出来,用date(年,月,日)函数,如下图:

2)在该日期的基础上加上周差距,即(周别值-1)*7

3)修正日差距:先求出该年的1月1日是周几,用weekday(日期,类型)函数,值得注意的是,该函数有机种返回类型,分别对应第一天是周几的不同定义,在这里我们按照中国人的习惯,选择“2”。因此,应该是WEEKDAY(DATE(B4,1,1),2)来表示1月1日是周几。

再用目标日的周几减去1月1日的周几,就得到其日期差距,即:D3-WEEKDAY(DATE(B4,1,1),2)。

3)整合结果:整合1和2的结果,就得到该天的具体日期:=DATE(B4,1,1) (C4-1)*7 D3-WEEKDAY(DATE(B4,1,1),2)。

4)向右填充:为了求出一周中后面几天的结果,就需要向右填充,此时,需要用到相对引用和绝对引用。(见另外一篇“九九乘法表”中关于引用的描述)

需要固定引用年份和周别,但周几是可以变动的,所以,需要在B4和C4前面加$固定,其公式变更为:=DATE($B$4,1,1) ($C$4-1)*7 D3-WEEKDAY(DATE($B$4,1,1),2)。

右拉后,该问题解决。

此时,我们就可以任意修改年和周,后面的具体日期就自动呈现了。

后续,我再分享一些函数、图表、数据透视图方面的详细信息,希望大家不要嫌我啰嗦 :)

,

免责声明:本网站为个人非盈利性网站,内容和图片均来源于网络,如内容或图片侵犯了您的权益,请及时与本站联系删除!