作者:小泽童鞋
来源:芒种学园(ID:lazy_info)
提到 MOD 函数,想必绝大部分小伙伴都认为这只是一个纯粹的取余函数,例如6÷5 的余数是 1,利用 MOD 公式就 是:
= MOD(6, 5) //结果为1
MOD函数看着非常简单,其实这只是它的冰山一角,它还能解决这么多问题:
提取日期中的时间;
计算工作时长;
联合条件格式实现填充;
根据身份证提取性别信息;
...
没想到吧!这些都是 MOD 函数能轻松实现的,而使用其他函数就比较繁琐了。
接下来就和我一起来看下 MOD 函数这些把你制得服服帖帖的技巧吧~
MOD基础函数语法
虽然已经非常熟悉了,但是还是要来强调下 MOD 函数的使用语法。
MOD函数共有 2 个参数,一个是除数,一个是被除数,用于计算余数:
=MOD(number, divisor)
解释:number为被除数,divisor为除数
注意:除数不能为0,小学二年级的知识
先来看一个神仙操作,下面的日期数据,如何快速将时间提取出来。
按照一贯的思路,使用的不是分列就是Right/Mid之类的函数,例如:
神奇的事情发生了,时间变成很奇怪的数据,其实只需要用 MOD 即可。
=MOD(A2,1)
What?将数据除以 1 取余就可以轻松实现了?效果如下:
很简单吧?这是啥原理呢?其实在 Excel 中,时间存储的格式本质上就是数值。
在单元格中输入「2021/10/10 07:40」,然后将单元格设置为「常规」。
得到的数值为「44479.32」,那么除以 1 ,得到的余数即为 0.32 。
=MOD(44479.32, 1)
结果为:0.32
将 0.32 单元格格式设置为时间,发现恰好就是 07:40,也就是时间部分。
服了么?反正小泽我是服服的了,通用公式如下:
提取时间 = MOD(日期, 1)
那么利用这个技巧,又可以来巧妙计算一些有意思的场景了。
比如:晚上11点加班到明天早上9点,加班了多少个小时呢?
同样使用 MOD 函数可以轻松解决,输入公式:
=MOD(B2-A2,1)*24
现在就能轻松计算出加班的时长为 10 个小时了,如下:
理解起来也非常简单,两者做差可以得到时间差。
再利用 MOD 和 1 取余得到时间,最后乘以 24 就可以得到小时了。
MOD判断性别和周末
刚刚我们利用了 MOD 来提取时间,没想到吧,它还可以判断性别。
根据查阅百度知道,可以利用身份证的第17位来判断性别,公式如下:
=IF(MOD(MID(A2,17,1),2),"男","女")
也就是第 17 为奇数,则为男性,否则为女性,效果如下:
简单吧!这还不够,MOD还可以用来判断是否为周末。
输入如下公式:
=IF(MOD(A2,7)<2,"是","")
效果如下,轻松利用 MOD 就可以计算是否为周末了。
至于原理是为什么?这就要涉及到 Excel 存储时间的方式和起点了。
引用官方文档的解释,不过哪怕看不懂也没关系,如下:
记住通用公式就行:
=IF(MOD(日期,7)<2,"是","")
MOD实现斑马条纹
提到斑马条纹,前面的推文中,我们利用「格式化」来实现。
不过当我们插入新数据的时候,斑马条纹就会分布不均匀,如下:
其实利用 MOD + 条件格式,即可快速实现。
选中数据区域后,分别添加两条验证规则:
=mod(row(a2), 2) = 0 // 设置填充白色
=mod(row(a2), 2) <> 0 // 设置填充灰色
操作界面如下:
现在就能实现动态插入数据也能保持斑马条纹了,是不是非常简单呢?
简单吧!但是却非常强大,另外 MOD 的使用技巧远不止于此,还有更多强大的技巧没有被挖掘出来,这里给大家留下一个小疑问:
如何实现隔 2 行填充的斑马条纹呢?效果如下:
欢迎在评论区留下你的答案哦~
好了,那么今天的「MOD函数」小技巧就分享到这里了,作为一个很基础的 Excel 函数,其实也有很多值得挖掘的地方~
如果对你有帮助,记得点个「好看」哦,你有想学的 Excel/BI 技巧,不妨在下方留言哦~
想了解数据处理和信息图表的更多思路与技巧?「Excel实战课,让你的图表会说话」超值 Excel 课程了解一下——