你会用 MOD 函数么?

Excel2024年7月19日发布 转载
2.3K 230
作者:小泽童鞋
来源:芒种学园(ID:lazy_info)

提到 MOD 函数,想必绝大部分小伙伴都认为这只是一个纯粹的取余函数,例如6÷5 的余数是 1,利用 MOD 公式就 是:

= MOD(6, 5) //结果为1Code language: JavaScript (javascript)

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),"男","女")Code language: JavaScript (javascript)

也就是第 17 为奇数,则为男性,否则为女性,效果如下:

简单吧!这还不够,MOD还可以用来判断是否为周末。

输入如下公式:

=IF(MOD(A2,7)<2,"是","")Code language: JavaScript (javascript)

效果如下,轻松利用 MOD 就可以计算是否为周末了。

至于原理是为什么?这就要涉及到 Excel 存储时间的方式和起点了。

引用官方文档的解释,不过哪怕看不懂也没关系,如下:

记住通用公式就行:

=IF(MOD(日期,7)<2,"是","")Code language: JavaScript (javascript)

MOD实现斑马条纹

提到斑马条纹,前面的推文中,我们利用「格式化」来实现。

不过当我们插入新数据的时候,斑马条纹就会分布不均匀,如下:

其实利用 MOD + 条件格式,即可快速实现。

选中数据区域后,分别添加两条验证规则:

=mod(row(a2), 2) = 0  // 设置填充白色
=mod(row(a2), 2) <> 0 // 设置填充灰色

操作界面如下:

现在就能实现动态插入数据也能保持斑马条纹了,是不是非常简单呢?

简单吧!但是却非常强大,另外 MOD 的使用技巧远不止于此,还有更多强大的技巧没有被挖掘出来,这里给大家留下一个小疑问:

如何实现隔 2 行填充的斑马条纹呢?效果如下:

欢迎在评论区留下你的答案哦~

好了,那么今天的「MOD函数」小技巧就分享到这里了,作为一个很基础的 Excel 函数,其实也有很多值得挖掘的地方~


阅读原文

© 版权声明

相关文章

23 条评论

  • 阳光下的西瓜
    阳光下的西瓜 游客

    MOD原来还能这么用,之前只会算余数😂

    中国浙江
    回复
  • 月海旅人
    月海旅人 读者

    用mod判断性别这招挺妙

    美国
    回复
    • 呼呼小绵羊
      呼呼小绵羊 读者

      这招确实很实用

      中国福建@ 月海旅人
      回复
  • 脸滚键盘
    脸滚键盘 读者

    隔行填充是不是用mod(row(),3)?

    中国山东
    回复
  • 刺猬理发师
    刺猬理发师 读者

    加班时长那个例子挺实用

    中国江苏
    回复
  • 生活观察员
    生活观察员 读者

    身份证那个公式太实用了,马上就去试试

    美国
    回复
  • 社恐且嚣张
    社恐且嚣张 读者

    提取时间那个例子绝了

    俄罗斯
    回复
  • VampireSly
    VampireSly 游客

    这技巧真的省事,直接上手!

    澳大利亚
    回复
  • 卦师周易
    卦师周易 游客

    提取时间那个技巧好实用,马上试了下确实可以

    中国江苏
    回复
  • 缘份哥
    缘份哥 游客

    不错不错!搞得有模有样的。

    中国福建
    回复
  • 壶中天地
    壶中天地 读者

    身份证性别那公式我试过,基本靠谱。

    中国湖北
    回复
  • 半夜发光体
    半夜发光体 读者

    身份证判断性别那个公式有人试过吗?准不准啊

    中国广东
    回复
  • 林间光
    林间光 读者

    提取时间那个挺方便,回头试试。

    美国
    回复
    • 社交催化剂
      社交催化剂 读者

      这个技巧确实好用

      中国山东@ 林间光
      回复
  • 蓝鲸计算
    蓝鲸计算 读者

    隔两行填充的公式是=MOD(ROW(A1),3)=0吧?

    巴西
    回复
    • 山雾轻扬
      山雾轻扬 读者

      我试了你的公式,确实可以。

      中国北京@ 蓝鲸计算
      回复
  • Noble Crane
    Noble Crane 读者

    加班时长那个例子挺实用

    日本
    回复
  • 说书人
    说书人 读者

    斑马条纹那个能自动更新,挺方便的。

    爱沙尼亚
    回复
    • 猴智机灵
      猴智机灵 读者

      确实,自动更新省事很多。

      中国四川@ 说书人
      回复
  • 甜梦仙子
    甜梦仙子 读者

    原来还能判断周末啊,这个没想到。

    中国湖北
    回复
  • 雪辙
    雪辙 读者

    斑马条纹隔两行怎么搞?

    中国山东
    回复