python怎么判断日期是星期几_15个日期时间计算套路,快快拿走不用谢

小伙伴们好啊,今天老祝和大家一起学习日期时间计算的套路,掌握这些套路,工作效率可以再高一点点。

1、合并日期和时间

如下图,如何将A列日期和B列的时间合并到一起,变成既有日期又带有时间的数据呢?哈哈哈,只要把日期和时间相加即可。

9304d5dbd7cd0a1863830ee248043e22.gif

2、拆分日期和时间

如果要将日期和时间合并在一起的数据拆分开,需要怎么处理呢?

别着急,使用以下公式就可以得到日期:

=INT(A2)

然后再用日期时间数据减去日期即可。

71868b07d0cbe22b7e90f8896ec9cc68.gif

3、计算间隔几小时

如何计算两个时间之间有多少个小时呢?

很简单,用结束时间减去开始时间,然后乘以24即可。

71531f72b2afbad1bee6d8d2443709b5.gif

4、计算间隔多少分钟

如何计算两个时间之间有多少个分钟呢?

小意思,用结束时间减去开始时间,然后乘以1440即可。

921a2d6f3962f9daf20919a71b949da0.gif

5、突出显示周末日期

1、选中A3:F7单元格区域,新建格式规则

2、使用公式为:

=WEEKDAY(A$3,2)>5

3、设置突出显示的格式

3cd1c9b21f6943325185f68fbb6ebfd0.gif

提示:

1、WEEKDAY函数返回某日期为星期几。第二参数使用2,表示以1~7表示星期一到星期日。

2、对第三行中的日期进行判断后,如果数值大于5,即表示该日期为周六或是周日。

6、指定日期所在月有几天

=DAY(EOMONTH(A2,0))

1638ce73d5481f41d76bbe5b9adc8c9b.png

EOMONTH函数返回在某个日期之后指定月份后的最后一天,EOMONTH(A2,0)函数得到日期所在月最后一天的日期,DAY函数返回该日期是几号。

7、区分指定日期是上中下旬

Excel中没有直接判断上中下旬的函数,但是咱们可以使用LOOKUP函数变通一下判断出结果:

=LOOKUP(DAY(A2),{0,11,21},{"上旬","中旬","下旬"})

42491f4bcedf471a1f4f8f273e96f428.png

先用DAY函数,判断A2单元格的日期是几号,然后用LOOKUP函数近似匹配,如果在0~10之间就是上旬,在11~20之间就是中旬,其他就是下旬。

8、根据身份证号计算出生年月

计算公式为:

=1*TEXT(MID(B2,7,8),"0-00-00")

d05530dcb1d43689295422979a55c541.png

首先使用MID函数从B2单元格的第7位开始,提取出表示出生年月的8个字符,结果为:

"19780215"

再使用TEXT函数将字符串转换为日期样式:

"1978-02-15"

然后通过*1计算,将其转换为真正的日期。最后设置为日期格式即可。

9、计算转正时间

如下图,要根据B列的员工入职日期和C列的试用期月数,计算员工转正日期。

D2单元格公式为:

=EDATE(B2,C2)

659ef69528d78abb399e84d5be33d163.png

EDATE函数用于指定某个日期N月之后或是N月之前的日期。

用法为:

=EDATE(开始日期,指定月份)

10、按年月汇总

如下图,有几百行数据,要按年月汇总各个区域的销售总额。

使用数据透视表,分分钟搞定:

0d495c4a036908470e676bfaafd5fcd3.gif

11、计算工龄年月

如下图,要根据员工入职日期,按月计算工龄。

C2单元格公式为:

=DATEDIF(B2,"2017-5-30","m")

abd878fa4e4cffea0a252efe6bc13ef1.png

DATEDIF函数用于计算两个日期之间的间隔,第二参数使用m,表示计算间隔的整月数。

如果第二参数使用y,则表示计算间隔的整年数。

12、有多少个工作日

如下图,使用函数可以计算两个日期之间,去除周末和法定节假日的工作日天数。

=NETWORKDAYS(A2,B2,A6:A8)

52acbf891e4c9a8b740628ea98cfcd52.gif

NETWORKDAYS函数的用法为:

=NETWORKDAYS(开始日期,结束日期,需要从工作日历中排除的法定节假日)

13、带调休的工作日天数

实际工作中,要计算工作日时,除了要考虑去除周末和法定节假日的工作日天数,还要加上调休日。对于这种情况,咱们需要先建立一个调休和法定节假日的对照表。

如下图所示,F列是放假时间,G列是调休上班时间。

a11530a534afc6d6363eebea3e63e12d.png

接下来,咱们就可以在C2单元格中写公式了:

=NETWORKDAYS(A2,B2,F$2:F$28)+COUNTIFS(G$2:G$28,">="&A2,G$2:G$28,"<="&B2)

448a6cb05b9d89827500a273497753c8.png

先使用NETWORKDAYS函数计算出去除法定节假日后的工作日天数,然后用COUNTIFS函数计算从开始日期到结束日期这个阶段中,有几天是需要调休上班的。把这部分调休的天数加上,就是最终的工作日天数了。

14、n个工作日之后是哪天

如下图,使用函数可以计算n个工作日之后是哪天。公式为:

=WORKDAY(A2,B2,A6:A8)

3191594074a395791de42a8e26cb0623.gif

WORKDAY函数的用法为:

=WORKDAY(开始日期,工作日数,需要从工作日历中排除的法定节假日)

15、调休下的n个工作日之后的日期

如果要在调休的前提下,计算N个工作日之后的日期是哪天,该怎么办呢?

同样,先要准备一个法定节假日和调休的对照表,咱们仍然使用例子13中的对照表。

C2单元格公式为:

=MATCH(B2,NETWORKDAYS(A2,A2+ROW($1:$999),F$2:F$28)+COUNTIFS(G$2:G$28,">="&A2,G$2:G$28,"<="&A2+ROW($1:$999)),)+A2

5e225326ad59b92008751bcb6c543648.png

公式看起来比较长,但是原理并不复杂,先使用ROW($1:$999)得到1到999的序号,然后与A2的开始日期相加,这样就分别得到从开始日期之后第一天到第999天的日期了。

然后,用NETWORKDAYS函数结合COUNTIFS函数,以A2日期为开始日期,分别计算出从4月23日到4月24日、4月23日到4月25日、4月23日到4月26日、……4月23日到12月31日……,这些期间分别有多少个工作日,返回一个内存数组结果:

{2;2;3;4;5;6;7;7;7;7;7;7;8;9;10;11;11;12;13;14;15;16;……;707;708}

再使用MATCH函数,在这个内存数组中查找B2单元格中的工作日天数所处的位置,得到的结果,就是从A2开始N多天之后才会有15个工作日。

最后使用这个位置信息加上A2的起始日期,就得到最终需要的结果了。

好了,今天的分享就是这些吧,祝各位小伙伴们一天好心情!

图文制作:老祝

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值