Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 烨熙

[已解决]求Mod公式解释

[复制链接]
发表于 2013-3-30 11:30 | 显示全部楼层
1032446692 发表于 2013-3-30 11:25
这样好像也不对啊

我也试了   五舍六入
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2013-3-30 11:32 | 显示全部楼层
lisachen 发表于 2013-3-30 11:22
Mod 运算符来对两数作除法运算,但返回其余数而非商数。
如果两数中有一数为浮点数,该数会先被四舍五入成 ...

你跟5楼的表述基本一致,TA回得比较早,所以只能选TA了,同样谢谢你。
回复

使用道具 举报

发表于 2013-3-30 11:34 | 显示全部楼层
烨熙 发表于 2013-3-30 11:32
你跟5楼的表述基本一致,TA回得比较早,所以只能选TA了,同样谢谢你。

没关系 我试了  应该是五舍六入
奇怪的微软
回复

使用道具 举报

发表于 2013-3-30 13:37 | 显示全部楼层
顺⑦.zì繎。 发表于 2013-3-30 11:17
公式中   =a-INT(a/b)*b  MOD取余数
VBA中  小数 四省五入 保留正数  =16/4  =0

正如6楼所举得例子
如果是四舍五入,之后在取余,15.5 mod 4 =0 是正确的  但是 如果这样  14.5 mod 4 应该等于3  但是VBA计算的结果却是2
回复

使用道具 举报

 楼主| 发表于 2013-4-2 22:46 | 显示全部楼层
1032446692 发表于 2013-3-30 13:37
正如6楼所举得例子
如果是四舍五入,之后在取余,15.5 mod 4 =0 是正确的  但是 如果这样  14.5 mod 4 应 ...

好吧,最后还是试了下。你可以用下面代码试下,结果是0.5的四舍五入的结果是0。
Sub test()
Dim i As Double
For i = 10.1 To 16 Step 0.1
Debug.Print i & " mod 4 :"; i Mod 4
Cells(i * 10 / 1 - 100, 1) = i & " mod 4"
Cells(i * 10 / 1 - 100, 2) = i Mod 4
Next i

End Sub

下面是上面代码产生结果的一部分
14 mod 4 : 2
14.1 mod 4 : 2
14.2 mod 4 : 2
14.3 mod 4 : 2
14.4 mod 4 : 2
14.5 mod 4 : 2
14.6 mod 4 : 3
14.7 mod 4 : 3
14.8 mod 4 : 3
14.9 mod 4 : 3
15 mod 4 : 3
15.1 mod 4 : 3
15.2 mod 4 : 3
15.3 mod 4 : 3
15.4 mod 4 : 3
15.5 mod 4 : 3
15.6 mod 4 : 0
15.7 mod 4 : 0
15.8 mod 4 : 0
15.9 mod 4 : 0
16 mod 4 : 0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-1 05:20 , Processed in 1.498716 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表