Excel中MOD函数5种高阶用法

office

MOD函数介绍

功能:函数的主要作用是返回两数相除后的余数。结果的正负号与除数相同。

语法:=MOD(数值,除数)

基本用法:

要计算13 除以3的余数,可以使用以下公式:

=MOD(13,3)

该公式将返回1,因为13 除以3的商是4,余数是1。

图片

进阶用法一:生成循环序列

如下图所示,我们要生成1-4的循环序列号。

只需在目标单元格中输入公式:

=MOD(ROW(A4),4)+1

然后点击回车,下拉填充公式即可

图片

解读:

如果我们想生成1-5的循环序列,我们只需要将公式中的4改为5就可以了

=MOD(ROW(A5),5)+1

以此类推,我们可以生成任意的循环序列数。

进阶用法二:判断指定日期是否为周末/工作日

如下图所示,下面是值班名单和值班日期,我们要根据值班日期计算出是否是周末/工作日。

图片

在目标单元格中输入公式:

=IF(MOD(D2,7)<2,“周末”,“工作日”)

点击回车,下拉数据即可

图片

解读:

①MOD函数:MOD(D2,7)是计算D2单元格中的日期与7的余数。在Excel中,日期是以数字形式存储的,其中1代表1900年1月1日,2代表1900年1月2日,以此类推。所以,这个MOD函数实际上是在计算D2中的日期是这一周的第几天。

②IF函数:

IF(MOD(D2,7)<2,“周末”,“工作日”)是一个条件判断函数。

它首先检查MOD函数的结果是否小于2。如果小于2,意味着D2中的日期是周六(余数为0)或周日(余数为1),这时IF函数返回“周末”。如果MOD函数的结果不小于2,即日期是周一到周五,IF函数返回“工作日”。

当然,有的小伙伴可能要说了,我们公司只休周天,周六也算工作日,那么公式直接修改成:

=IF(MOD(D2,7)=1,“周末”,“工作日”)

然后点击回车,下拉数据即可

图片

解读:

因为MOD(D2,7)日期与7的余数,周日对应的余数为1。

进阶用法三:隔行标记颜色

如下图所示,我们想对表格数据进行隔行标记颜色

图片

方法:

第一步:首先选择要标记颜色的数据区域→然后点击【开始】-【条件格式】-【新建规则】调出新建格式规则”对话框

图片

第二步、在弹出的“新建格式规则”对话框中,规则类型选择【使用公式确定要设置格式的单元格】,在设置格式里面输入公式:

=MOD(ROW(A2),2)=0

接着点击【格式】,在弹出的对话框中选择“图案”,选择黄色,点击确定即可,如下图所示

图片

解读:

上面公式的含义就是如果为偶数行,符合条件标记成黄色,否则不标记颜色。

进阶用法四:隔行求和

如下图所示,左侧表格是商品1-3月对应的销售额和销售成本,我们要计算所有商品1-3月份的总销售额。

图片

直接在目标单元格中输入公式:

=SUMPRODUCT((MOD(ROW(C2:E11),2)=0)*C2:E11)

然后点击回车即可

图片

解读:

上面的公式其实就是使用SUMPRODUCT函数来计算一个区域(C2:E11)中偶数行的数值之和。

①ROW(C2:E11): 这个部分会生成一个数组,包含C2:E11区域内每个单元格的行号。例如,如果C2:E11是10行3列的区域,这个数组将是{2; 3; 4; 5; 6; 7; 8; 9; 10; 11}。

②MOD(ROW(C2:E11), 2)=0: MOD函数用于计算上述行号数组中每个数字除以2的余数。偶数行的行号除以2的余数将是0,也就是我们要求的销售额行,会返回一个逻辑值TRUE(或1);否则奇数行返回的元素是FALSE(或0)。

③最后SUMPRODUCT函数将上一步骤得到的结果数组与C2:E11中的数值相乘进行求和,得到所有偶数行数值的总和,也就是销售额行的总和。

当然,如果我们想求销售成本行的总和,可以改成下面的公式:

=SUMPRODUCT((MOD(ROW(C2:E11),2)=1)*C2:E11)

进阶用法五:根据身份证号提取性别信息

如下图所示,需要根据B列身份证号码提取对应的性别信息。

直接在目标单元格中输入公式:

=IF(MOD(MID(B2,17,1),2),“男”,“女”)

然后点击回车,下拉填充数据即可

图片