楼主 fangjianp |
在EXCEL 2003/2007版本中用MOD()函数求余数时,当商数(被除数/除数)大于134217727时,Excel无法得出正确的结果(显示#NUM),本题求解此类余数。 要求: 1、A列数据只能引用一次,引用两次则属不合题意。 2、不用辅助列、定义名称。 3、请使用函数与公式。 4、在EXCEL 2003版本中需测试通过。 这个题目不难,但有实际意义,例如,当被除数或除数是公式求出的中间结果,它们的商数又大于268435455,需要求余数的情况。 详见附件: 求模MOD()001.rar |
2楼 wcymiss |
|
3楼 piny |
|
4楼 chenhh803 |
10版本是可以直接出结果的, 如果可以引用A列两次也比较简单 =A2-FLOOR(A2,B2) 下面的公式没有经过03版测试,不知道对不对 =MOD(ROUND(MOD(A2%%%,B2%%%)/1%%%,),B2) |
5楼 zhxf894 |
=MOD(GCD(A2,B2)+B2,B2) =ROUND(MOD((1+RIGHT(TEXT(A2/B2,"#.00"),3))*B2,B2),) |
6楼 larkzh |
求模MOD()001.rar |
7楼 Zaezhong |
|
8楼 bluexuemei |
=MOD(A2-CEILING(A2,B2)+B2,B2)下拉 |
9楼 cctv1102 |
过来学习一下啊。 难道这是测试题? |
10楼 Violet_Universe |
首先声明一下“在EXCEL2003中用mod()函数求余数时,当被除数/除数〉268435455时,结果会出错”这句话有误,在2003里面Mod(number,divisor) ,number最大为:=divisor*134217728-1 不是你说的除数/除数〉268435455 本人愚钝随便写了个公式供参考
|
11楼 sharprain |
=MOD(A2-268435455*B2,B2) 结果对,但是觉得别扭 |
12楼 wangg913 |
同样期待。
|
13楼 wp8680 |
|
14楼 angellbxsc |
|
15楼 一剑惊心 |
没注意A列单元格只能引用一次,改一下 普通公式=ROUND(RIGHT(SUBSTITUTE(TEXT(A2/B2,"0."&REPT(0,99)),".",REPT(" ",99)&"."),100)*B2,) |
16楼 w83365040371 |
|
17楼 fangjianp |
结帖! |