ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 函数与公式 > 解读MOD函数用法

解读MOD函数用法

作者:绿色风 分类: 时间:2022-08-17 浏览:130
楼主
yfan17
我们知道,mod函数是一个求余函数,其语法为:
MOD(number,divisor),即返回两数相除的余数。结果的符号与除数相同。那么,两个同号整数求余与大家所知的两个正数求余完全一样(即两个负整数与两个正整数的算法一样)。但是MOD(5,-4)的结果为什么是-3而不是一部份人认为的-1呢?

MOD函数使用详解
一、两个异号整数求余
1.函数值符号规律(余数的符号)
mod(负,正)=正
mod(正,负)=负
结论:两个整数求余时,其值的符号为除数的符号。
2.取值规律
先将两个整数看作是正数,再作除法运算
①能整除时,其值为0
②不能整除时,其值=除数×(整商+1)-被除数
例:mod(5,-4)=-3
即:5除以4的整数商为1,加1后为2;其与除数之积为8;再与被除数之差为(5-8=-3);取除数的符号。所以值为-3。
(这和帮助中的注解是一致的:MOD 函数可以借用 INT 函数来表示:MOD(n, d) = n - d*INT(n/d),即=5-(-4)*INT(5/-4)=5-8=-3)
二、两个小数求余
取值规律:被除数-(整商×除数)之后在第一位小数位进行四舍五入。
例:mod(9,1.2)=1
即:9除1.2其整商为7;7与除数1.2之积为8.4;8.4四舍五入之后为8;被除数9与8之差为1。故结果为1。
例:mod(9,2.4)=0
即:9除2.2其整商为4;4与除数2.2这积为8.8;8.8四舍五入之后为9;被除数9与9之差为0。故结果为0。
2楼
gouweicao78
总结不错。MOD函数在循环序列、星期判断、求小数、求各位累加、校验码等方面都有广泛的应用。
3楼
wu-peiqi
负数求余的取值,学习下。
mod(16,-5)得到-4
mod(-16,5)得到4
mod(16,5)得到1
4楼
亡者天下
楼主最后两行的结果有误哦?

mod(9,2.4)=2

不是结果0哦
5楼
rongjun

MOD(9,2.4)=1.8
6楼
健康快乐123
上面还是2.4,到了下面就变为2.2了,应该是马虎造成的
7楼
安颐付华
交流交流好啊!楼主真厉害
8楼
rabbitllu
请教下,若是除数和被除数都是正数或都是负数,如何算呢,比方MOD(10,3),计算过程是不是10除3商数是3,然后用被除数-商数*除数=10-3*3=1,用法等同楼主说的两个小数求余的算法呢,我理解是否正确,请各位版主给指正,谢谢。
9楼
rabbitllu
请教下,若是除数和被除数都是正数或都是负数,如何算呢,比方MOD(10,3),计算过程是不是10除3商数是3,然后用被除数-商数*除数=10-3*3=1,用法等同楼主说的两个小数求余的算法呢,我理解是否正确,请各位版主给指正,谢谢。
10楼
bishunbiao
全面详细,很不错
11楼
zrxqinggg
关于小数的,看得我晕呼呼的
12楼
zrxqinggg
二、两个小数求余
取值规律:被除数-(整商×除数)之后在第一位小数位进行四舍五入。  
例:mod(9,2.2)=0
即:9除2.2其整商为4;4与除数2.2这积为8.8;8.8四舍五入之后为9;被除数9与9之差为0。故结果为0。
按照取值规律是=0,但是我用EXCEL表却是=0.2,这是为什么呀???
13楼
yncxxmj
学习。
14楼
0Mouse
工作表中,
  1. =MOD(9,1.2)
结果为0.6
  1. =MOD(9,2.4)
结果为1.8

VBA中的MOD和工作表函数又是不同的,示例如下:
  1. Sub xq()
  2. MsgBox -5 Mod 4 '返回-1
  3. MsgBox 5 Mod -4 '返回1
  4. MsgBox 9 Mod 1.2 '返回0
  5. MsgBox 9 Mod 2.4 '返回1
  6. MsgBox 9 Mod 2.7 '返回0
  7. End Sub
附件:
VBA中的MOD.rar
15楼
绿篱
经常会用到这个 今天很全面的学习了 谢谢分享 收藏学习
16楼
猴子
一直迷迷糊糊,这次算是明白了、、、、好啊、、、
17楼
mayabinxa
不错的学习资料,学习了
18楼
mayabinxa
这个MOD还真麻烦呀
19楼
zl-jessica
如果是mod(-1,3)呢?
照LZ的公式应该是
=除数×(整商+1)-被除数
=3*(0+1)-(-1)
=3+1
=4???为什么正确答案是2呢???
20楼
bensonlei
学习MOD。 谢谢分享!
21楼
yfan17
我们知道,mod函数是一个求余函数,其语法为:
MOD(number,divisor),即返回两数相除的余数。结果的符号与除数相同。那么,两个同号整数求余与大家所知的两个正数求余完全一样(即两个负整数与两个正整数的算法一样)。但是MOD(5,-4)的结果为什么是-3而不是一部份人认为的-1呢?

MOD函数使用详解
一、两个异号整数求余
1.函数值符号规律(余数的符号)
mod(负,正)=正
mod(正,负)=负
结论:两个整数求余时,其值的符号为除数的符号。
2.取值规律
先将两个整数看作是正数,再作除法运算
①能整除时,其值为0
②不能整除时,其值=除数×(整商+1)-被除数
例:mod(5,-4)=-3
即:5除以4的整数商为1,加1后为2;其与除数之积为8;再与被除数之差为(5-8=-3);取除数的符号。所以值为-3。
(这和帮助中的注解是一致的:MOD 函数可以借用 INT 函数来表示:MOD(n, d) = n - d*INT(n/d),即=5-(-4)*INT(5/-4)=5-8=-3)
二、两个小数求余
取值规律:被除数-(整商×除数)之后在第一位小数位进行四舍五入。
例:mod(9,1.2)=1
即:9除1.2其整商为7;7与除数1.2之积为8.4;8.4四舍五入之后为8;被除数9与8之差为1。故结果为1。
例:mod(9,2.4)=0
即:9除2.2其整商为4;4与除数2.2这积为8.8;8.8四舍五入之后为9;被除数9与9之差为0。故结果为0。
22楼
gouweicao78
总结不错。MOD函数在循环序列、星期判断、求小数、求各位累加、校验码等方面都有广泛的应用。
23楼
wu-peiqi
负数求余的取值,学习下。
mod(16,-5)得到-4
mod(-16,5)得到4
mod(16,5)得到1
24楼
亡者天下
楼主最后两行的结果有误哦?

mod(9,2.4)=2

不是结果0哦
25楼
rongjun

MOD(9,2.4)=1.8
26楼
健康快乐123
上面还是2.4,到了下面就变为2.2了,应该是马虎造成的
27楼
rabbitllu
请教下,若是除数和被除数都是正数或都是负数,如何算呢,比方MOD(10,3),计算过程是不是10除3商数是3,然后用被除数-商数*除数=10-3*3=1,用法等同楼主说的两个小数求余的算法呢,我理解是否正确,请各位版主给指正,谢谢。
28楼
rabbitllu
请教下,若是除数和被除数都是正数或都是负数,如何算呢,比方MOD(10,3),计算过程是不是10除3商数是3,然后用被除数-商数*除数=10-3*3=1,用法等同楼主说的两个小数求余的算法呢,我理解是否正确,请各位版主给指正,谢谢。
29楼
安颐付华
交流交流好啊!楼主真厉害
30楼
bishunbiao
全面详细,很不错

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap