楼主 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 |
工作表中,
VBA中的MOD和工作表函数又是不同的,示例如下:
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 |
全面详细,很不错 |