欢迎光临散文网 会员登陆 & 注册

看到他这么用MOD函数,我真的服了……

2023-05-12 20:02 作者:秋叶Excel  | 我要投稿

隔壁小王、小爽和我是好朋友,我们经常一起讨论 Excel 相关的问题。


某一天,小爽指着桌上的苹果,问我和小王:


如果把桌子上的 12 个苹果分给 5 个小朋友,还剩下几个呢?


小王立马说:不就是求余吗!一个 MOD 函数就可以搞定!公式如下。


  • MOD(12,5) =2


MOD 函数看起来很基础很简单,其实深藏不露!


用 MOD 函数,还可以解决这么多常见问题:


❶ 从日期中提取时间

❷ 计算跨天工作时长

❸ 根据身份证号判断性别

❹ 根据日期判断周

❺ 根据条件填充颜色

……


是不是超想学?


在正式开学之前,我们先来看看 MOD 函数的语法规则。


毕竟知己知彼百战百胜!


MOD 函数是一个求余函数,它可以返回两数相除的余数。


不过它跟数学意义上的余数有所不同,数学意义上的余数是一个非负数,而这个函数求出来的余数可以是负数,并且符号与除数的符号相同。


MOD 函数的语法:

  • =MOD(number,divisor)

也就是:=MOD(被除数,除数)


注:除数不能为 0,至于为什么……问你的小学老师去!

用 MOD 函数计算时间



从日期中提取时间


下图中,我们需要提取 B 列日期中的时间。


在 C3 单元格输入公式:

  • =MOD(B3,1)


然后下拉填充,就搞定啦!



在 Excel 中日期的本质是数值。日期为整数部分,时间为小数部分。


比如在单元格输入「2020/4/20 12:00」,把单元格格式改为常规,就能得到数字 43941.5。


43941 是日期部分,0.5 是时间部分。


当我们用 MOD 函数求余数:

  • =MOD(43941.5,1)

得到结果为 0.5,把该单元格设置为时间格式,就得到 12:00,也就是时间部分。


敲重点:

  • 公式:=MOD(日期时间,1)

用 MOD 函数第二参数为 1 时,求得的日期时间的余数,结果就是日期中的时间。

 

计算跨天时长


如下图,根据上下班时间,计算工作了多少小时。


在 D3 单元格输入公式:

  • =MOD(C3-B3,1)*24


 

 

当天的 23 点~24 点(1 小时)+ 次日 0 点~9 点(9 小时)=10 小时。所以结果为 10 小时。


我们来看看用 MOD 函数是怎么来的。


前面我们得知:MOD 函数可以得到日期时间中的时间,那它同样可以得到时间间隔中的时间。


公式为:

  • =MOD(日期时间,1)



 

用 MOD 函数公式:

  • =MOD(C3-B3,1)*24




=MOD(C3-B3,1)求的是两者之间相差的时间,是一个小数。


因为 1 天=24 小时,所以我们需要在后面乘以 24,将其转换为小时。

用 MOD 函数判断性别

 


如下图,怎么根据身份证号得知性别。


在 C3 单元格输入公式:

  • =IF(MOD(MID(B3,17,1),2),"男","女")


然后下拉填充。




身份证第 17 位数字为奇数表示为男,偶数表示为女。


小解析:

先用 MID 函数提取表示性别的第 17 位数字;


再用 MOD 函数判断数字的奇偶:


数字除以 2 得到余数是 0,则为偶数;如果余数是 1,则为奇数;


最后用 IF 函数判断若为奇数,则为男,否则为女。

用 MOD 函数判断周末


判断下图中 B 列的日期是否是周末,若是周六日则返回「是」,否则返回空字符。


在 C3 单元格输入公式:

  • =IF(MOD(B3,7)<2,"是","")

然后下拉填充。




首先我们列出一组连续日期,如下图 B 列;


然后用 MOD 函数,日期除以 7 得到余数是一组 0 到 6 循环的整数,如下图 C 列。


把 B 列日期格式自定义设置为「aaa」,显示日期星期几,如 D 列。


可以看出,数字 0-6 依次对应周六、周日、周一、周二、周三、周四、周五;



  • =IF(MOD(B3,7)<2,"是","")


用 IF 函数判断循环数值是否小于 2,若小于 2(0 和 1)则是周末,否则返回空字符。

用 MOD 函数填充颜色


这个案例有点难,会涉及到数组公式,大家作为一个了解即可。


如下图,当我们美化表格时,可能需要把相同部门隔行用颜色填充:




如果一个个手动去设置颜色,只有几个部门倒还好。


如果部门多、表格多,这样操作很低效。


其实不用这么繁琐,请看下面操作!



操作重点是条件格式公式:

  • =MOD(SUM(N($B$2:$B2<>$B$3:$B3)),2)


  • N($B$2:$B2<>$B$3:$B3))


小解析:


❶ 判断部门所在行的下一行与上行是否相同,如果不同就累计 1 次;N 函数将逻辑值 True 或 False 转化成数值 1 或 0;


❷ 再用 SUM 函数累加求和;


❸ 最后用 Mod 函数对累计的和判断奇偶,若是奇数则填充颜色。



最后我转过头问小王他们:你们现在还认为 MOD 函数很简单嘛?


小王惊奇地说道:没想到小小的 MOD,看起来很简单,实际上真的不简单啊!


❶当 MOD 函数的除数是 1 时,可以在日期和时间同时存在的时候提取时间,可以计算跨日时间差;


❷当 MOD 函数的除数是 2 时,可以判断数字奇偶;


❸当 MOD 函数的除数是 7 时,能计算判断日期的星期。


当然 MOD 函数除了以上作用,它的用途远远不止这些~


想真正学好 Excel,掌握高效学习方法,小 E 建议大家入手《3天Excel集训营》课程,系统学习,提升自己!


一课搞定表格排版、数据整理、可视化图表……


课程有直播和录播,完整观看老师操作过程,不用担心按钮找不到,有偏差;


遇到问题,有专属学员群解答,再也不用一个人苦苦挠破头!

 

小 E 还帮大家申请了特别福利!


原价 99 元 的课程

现在仅需 1 元!


买课还送《35个函数使用手册》

在线学员答疑交流群

……

 

提升自己就现在

马上扫描下方二维码

给自己的职场能力充值吧!

👇👇👇


💗




*广告

看到他这么用MOD函数,我真的服了……的评论 (共 条)

分享到微博请遵守国家法律