|
接胡版的【蜻蜓点水,试探MOD函数的特性】
http://club.excelhome.net/viewth ... p;extra=&page=1
如果你看不懂,那就来看看本帖,说不定你能搞懂
对于MOD函数参数全为正整数的我们不作深入讨论,只简单描述
一、第二参数为正数的情况
如=MOD(-2,3),函数是怎么得到结果的呢,首先让我们看看我们家的时钟吧
(1)以MOD(2,3)为例,形象如时钟1,函数会画个周期圆,3等分(以第二参数为标准)
注意:划分的时候是以顺时针绝对值增大的方向划分的,划好以后等人来转圈圈
然后由第一参数来绕圈跑,但是绕圈的方向是由自己与圆的划分方法(第二参数)决定的
因为圆的划法是顺时针且绝对值增大划分的,这个时候要看第一参数与第二参数的符号是否相同
很显然第一参数2也是正数,第二参数也是正数,所以第一参数就做了下面的动作
从圆的0点出发也是顺时针走了2步,很显然落在了圆的2点位置上,所以MOD(2,3)的值就是2
(2)以MOD(-2,3)为例,时钟怎么划分呢?跟上面的原理一样,以顺时针绝对值增大的方向划分的,
划好以后等第一参数来转圈
第一参数一看,自己与第二参数符号相反,所以第一参数-2背道而驰(逆时针)从原点走了两步
正好落在了时钟的1上面,所以MOD(-2,3)的值就是1
一、第二参数为负数的情况
我们依然以第二参数绝对值是3来说明(其他数字原理完全一样)
(1)以MOD(2,-3)为例,形象如时钟2,函数会画个周期圆,3等分(以第二参数为标准)
注意:划分的时候是以顺时针绝对值增大的方向划分的,划好以后第一参数来转圈圈
因为圆的划法是顺时针且绝对值增大划分的,这个时候要看第一参数与第二参数的符号是否相同
很显然第一参数2是正数第二参数是负数,所以第一参数背道而驰,从圆的0点出发逆时针走了2步
从圆的0点出发逆时针走了2步,很显然落在了圆的-1点位置上,所以MOD(2,-3)的值就是-1
(2)以MOD(-2,-3)为例,时钟怎么划分呢?跟上面的原理一样,以顺时针绝对值增大的方向划分的,
划好以后等第一参数来转圈
第一参数一看,自己与第二参数符号相同,所以第一参数-2顺时针从原点走了两步
正好落在了时钟的-2上面,所以MOD(-2,-3)的值就是-2
总结1:周期(时钟的划分)是以第二参数的绝对值来划分的,至于是顺时针还是逆时针这个由你自己想象
但是第二参数的符号跟第一参数一样时,就按照时钟划分的方向跑,否则反向跑
最终求得的结果的符号一定与第二参数相同
探讨1:如果这些参数有小数怎么办呢?
excel做的很简单,对他们进行一样的运算,第一参数走多少步算多少(包括小数)
探讨2:在VB,跟VBA中就不一样了,那要四舍五入的,而且最终的值必定是个整数,不会是小数的
而且最终的结果值的符号一定与MOD前面的数值相同,与后面一个无关
例如:K MOD L,在VB,VBA中,K如果是小数是进行向大的方向四舍五入的
而L不管是负数还是正数,都按照正数来四舍五入
[ 本帖最后由 Violet_Universe 于 2010-12-4 15:06 编辑 ] |
评分
-
1
查看全部评分
-
|