阅读451 返回首页    go 人物


运算问题 : 同一组数字有两个答案

在以下情况时,我用的excel 2010显示两个答案

情况 : 每位员工每天需要完成3项指定工作,本月所有员工需要上班4天,因为每位员工总共需完成的工作为 3 * 4 = 12 项

以下表格利用分数及百分比展示完成量及完成率。

列/栏 A B C D E F G H
1 员工姓名 完成量 完成率
2 员工A 11/12 92%
3 员工B 12/12 100%
4 员工C 12/12 100%
5 员工D 12/12 100%
6 E 12/12 100%
7 F 12/12 100%
8 G 12/12 100%
9 H 12/12 100%
10 I 12/12 100%
11 J 12/12 100%
12 K 12/12 100%
13 L 12/12 100%
14 M 12/12 100%
15 N 12/12 100%
16 O 12/12 100%
17 P 12/12 100%
18 Q 11/12 92%
19 R 10/12 83%

然后,我利用Average公式,计算所有员工的平均完成率[  =average(F2:F19)  ],得出 : 98.1481481481481000% (运算时用准确数字计)

另外,我用另一计算方式验证,用完成量(分数)来计算平均完成率,计算方法为 : 

(   11    +    12    x   15   +   11    +   10    )    x      1  

(   12           12         1          12          12    )           18

=   11+12x15+11+10

            12x18

=       212    

          216

0.9814814814814820000

从以上运算得出 :    用Average公式     =  98.1481481481481000%

                               用分数运算方式    =  0.9814814814814820000

结论 : 同一组数字,为什么有两个答案 ?  (虽然影响不大,但亦希望各位帮忙解答一下)



这是浮点运算造成的误差。

浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。

Excel的计算精度是15位数字,0.981481481481481从数字9开始到最后一位1共15位数字。

比如在A1单元格输入公式:=4.1-4.2+1=0.9,会返回FALSE,因为4.1-4.2+1居然不等于0.9而是0.899999999999999

这类问题只能降低精度来解决,比如统一采取四舍五入保留几位小数。



最后更新:2017-05-12 11:32:52

  上一篇:go win10内部预览版16179,无法正常使用powerpoint。
  下一篇:go outlook2016 添加了一个69M的附件之后 发件箱一直显示在发送,且无法删除 已经好几个月了