设置
  • 日夜间
    随系统
    浅色
    深色
  • 主题色

Excel 中 MOD 函数使用案例分享

秋叶Excel 2023/5/14 14:43:00 责编:梦泽

原文标题:《看到他这么用 MOD 函数,我真的服了……》

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

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

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

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

MOD(12,5) =2

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

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

❶ 从日期中提取时间

❷ 计算跨天工作时长

❸ 根据身份证号判断性别

❹ 根据日期判断周

❺ 根据条件填充颜色

……

是不是超想学?

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

毕竟知己知彼百战百胜!

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

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

MOD 函数的语法:

=MOD(number,divisor)

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

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

1、用 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,将其转换为小时。

2、用 MOD 函数判断性别

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

在 C3 单元格输入公式:

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

然后下拉填充。

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

小解析:

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

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

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

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

3、用 MOD 函数判断周末

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

在 C3 单元格输入公式:

=IFMOD(B3,7)2,"是",""

然后下拉填充。

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

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

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

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

=IFMOD(B3,7)2,"是",""

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

4、用 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,看起来很简单,实际上真的不简单啊!

5、总结

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

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

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

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

本文来自微信公众号:秋叶 Excel (ID:excel100),作者:赵骄阳

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

相关文章

关键词:Excel教程Excel学院

软媒旗下网站: IT之家 最会买 - 返利返现优惠券 iPhone之家 Win7之家 Win10之家 Win11之家

软媒旗下软件: 软媒手机APP应用 魔方 最会买 要知