ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yang.junx

还没解决的四舍六入的有效数字取舍的问题,请细看条件答复我。谢谢!

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2002-8-28 18:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

有问题发现

To 函数版版主dongmu: 谢谢你,你真的很行!! D1中的数字要求取三位有效数字(比如:0.25,1.35,10.3,112,1320,即大于100的取整,大于1000的最后一位都用0代): =IF(A2<10,TRUNC(A2,2),IF(A2<100,TRUNC(A2,1),IF(A2<1000,TRUNC(A2),TRUNC(A2/10)*10))) 这个公式不合我的要求,也许是我没有把条件说明吧。 请看文件: [upload=zip]uploadImages/200282818181563122.zip[/upload]

TA的精华主题

TA的得分主题

发表于 2004-9-7 23:45 | 显示全部楼层

数字的修约规则

一、有效数字

  在测量工作中,由于测量结果总会有误差,因此表示测量结果的位数不宜大多,也不宜太少,大多容易使人误认为测量精度很高,太少则会损失精度。

  测量过程中,由于受到一系列不可控制和不可避免的主观和客观因素的影响,所获得的测量值必定含有误差,即获得的测量值仅仅是被测量的近似值。另一方面,在数据处理过程中引人的诸如п、21/2等一些常量,在大多数情况下,是以无穷小数形式的元理数来表示,这就需要确定一项原则,将测得的或计算的数截取到所需的位数。认为在一个数值中小数点后面的位数愈多,这个数直就愈准确;或者在计算中,保留的位数愈多,这个数值就愈准确的想法都是错误的,第一种想法的错误在于没有弄清楚小数点的位置不是决定准确与否的标准,而仅与所用计量单位的大小有关。如长度为21.3mm与0.O213m,其准确程度完全相同;第二种想法的错误在于不了解所有测量,由于仪器和人们的感官只能做到一定的准确程度。这个准确程度一方面决定于所用仪器刻度的精细程度;另一方面也与所用方法有关。因此在计算结果中,无论取多少位数都不可能把准确程度增加到超过测量误差所允许的范围。反之,表示一个数值时,如果书写的位数过少,即数值所取的有效位数少于实际所能达到的精度,不能把已经达到的精度表示出来,也是错误的。

  例如,不考虑测量误差,单从有效数字来考虑,在数学上23与23.00 两个数是相等的。而作为表示测量结果的数值,两者相差是很悬殊的。用23表示的测量结果,其误差可能为土0.5;而23.00表示的测量结果,其误差可能是土0.005。再如,1和0.1在数值上相差10倍,单从数值上看两数是不等的,而作为测量结果可能因所用单位不同,所表示的测量结果和所达到的精度是相同的。

  因此,在对测量数据的处理中,掌握有效数字的有关知识是十分重要的。

  有效数字的概念可表述为:由数字组成的一个数,除最末一位数字是不确切值或可疑值外,其它数字皆为可靠值或确切值,则组成该数的所有数字包括未位数字称为有效数字,除有效数字外其余数字为多余数字。

  对于“0“这个数字,它在数中的位置不同,可能是有效数字,也可能是多余数字。整数前面的“0”无意义,是多余数字。对纯小数,在小数点后,数字前的“0”只起定位,决定数量级的作用(相当于所取的测量单位不同),所以,也是多余数字。处于数中间位置的“0”是有效数字。

  处于数后面位置的“0”是否算有效数字可分三种情况:

  (1)数后面的“0”,若把多余数字的”0”用10的乘幂来表示,使其与有效数字分开,这样在10的乘幂前面所有数字包括“0”皆为有效数字;

  (2)作为测量结果并注明误差值的数值,其表示的数值等于或大于误差值的所有数字,包括“0”皆为有效数字;

  (3)上面两种情况外的数后面的“0”则很难判断是有效数字还是多余数字,因此,应避免采用这种不确切的表示方法。

  一个数,有效数字占有的位数,即有效数字的个数,为该数的有效位数。

  为弄清有效数字的概念,举例如下:00713,0.0715,7.03,7.03×102 ,这四个数的有效位数均为3,有效数字都是3个。

  再如,测量某一试件面积、得其有效面积A=0.O50150 2m2 ,测量的极限误差 =0.000005 m2 。则测量结果应当表示为A=(0.O50150土0.000005)m2 。误差的有效数字为1位,即5;而有效面积的有效数字应为5个,即50 150;因2小于误差的数量级,故为多余数字。

  若给出的数值为71 300,则为不确切的表示方法。它可能是713 x 102 ,也可能是7.130 x104,也可能是7.130 0 x 104 。即有效数字可能是3个,4个或5个。若无其它说明,则很难判定其有效数字究竟是几个。

  在测量或计量中应取多少位有效数字,可根据下述准则判定:

  (1)对不需要标明误差的数据,其有效位数应取到最末一位数字为可疑数字(也称不确切或参考数字);

  (2)对需要标明误差的数据,其有效位数应取到与误差同一数量级。

二、数字修约规则

  1.修约间隔

  修约间隔是指确定修约保留位数的一种方式。修约间隔的数值一经确定,修约值即应为该数值的整数倍。

  例如指定修约间隔为0.1,修约值即应在0.1的整数倍中选取,相当干将数值修约到一位小数。又如指定修约间隔为100,修约值即应在100的整数倍中选取,相当于将数值修约到“百”数位。

  0.5单位修约(半个单位修约)是指修约间隔为指定数位的0.5单位,即修约到指定数位的0.5单位。

  0.2单位修约是指修约间隔为指定数位的0.2单位,即修约到指定数位的0.2单位。

  最基本的修约间隔是10n(n为整数),它等同于确定修约到某数位。

  2.数值修约进舍规则

  (1)拟舍弃数字的最左一位数字小于5时,则舍去,即保留的各位数字不变。

  (2)拟舍弃数字的最左一位数字大于5;或者是5,而且后面的数字并非全部为0时,则进1,即保留的末位数字加。

  (3)拟舍弃数字的最左一位数字为5,而后面无数字或全部为0时,若所保留的未位数字为奇数(1,3,5,7,9)则进一,为偶数(2,4,6,8,0)则舍弃。

  (4)负数修约时,先将它的绝对值按上述三条规定进行修约,然后在修约值前面加上负号。

  (5)0.5单位修约时,将拟修约数值乘以2,按指定数位依进舍规则修约,所得数值再除以2。

  (6)0.2单位修约时,将拟修约数值乘以5,按指定数位依进舍规则修约,所得数值再除以5。

  上述数值修约规则(有时称之为“奇升偶舍法”)与常用的“四舍五人”的方法区别在于,用“四舍五人”法对数值进行修约,从很多修约后的数值中得到的均值偏大。而用上述的修约规则,进舍的状况具有平衡性,进舍误差也具有平衡性,若干数值经过这种修约后,修约值之和变大的可能性与变小的可能性是一样的。

  3.数值修约注意事项

  实行数值修约,应在明确修约间隔、确定修约位数后一次完成,而不应连续修约,否则会导致不正确的结果。然而,实际工作中常有这种情况,有的部门先将原始数据按修约要求多一位至几位报出,而后另一个部门按此报出值再按规定位数修约和判定,这样就有连续修约的错误。

  (1)拟修约数字应在确定修约后一次修约获得结果,而不得多次按进舍规则连续修约。

  (2)在具体实施中,有时测量与计算部门先将获得数值按指定的修约数位多一位或几位报出,而后由其他部门判定。为避免产生连续修约的错误,应按下列步骤进行。

   ①报出数值最右的非0数字为5时,应在数值后面加“(+)”号或“(一)”号或不加符号,以分别表明己进行过舍、进或未舍未进。

   ②如果判定报出值需要进行修约,当拟舍弃数字的最左一位数字为5而后面无数字或全部为0时,数值后面有(+)号者进1,数值后面有(一)号者舍去,其他仍按进舍规则进行。

三、计算法则

  1.加减运算

  应以各数中有效数字未位数的数位最高者为准(小数即以小数部分位数最少者为准),其余数均比该数向右多保留一位有效数字。

  2.乘除运算

  应以各数中有效数字位数最少者为准,其余数均多取一位有效数字,所得积或商也多取一位有效数字。

  3.平方或开方运算

  其结果可比原数多保留一位有效数字。

  4.对数运算

  所取对数位数应与真数有效数字位数相等。

  5.查角度的三角函数

  所用函数值的位数通常随角度误差的减小而增多,一般三角函数表选择如下:

              角度误差 表的位数

                10” 5

                1” 6

               0.1” 7

              0.01” 8

  在所有计算式中,常数п,e 的数值以及因子屋等的有效数字位数,可认为无限制,需要几位就取几位。表示精度时,一般取一位有效数字,最多取两位有效数字。

TA的精华主题

TA的得分主题

发表于 2004-9-8 00:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

数据示例

测量值 保留位数 修约值 6.5 0 6 6.5000001 0 7 5.94665 4 5.9466 5.9466500001 4 5.9467 5.947325 5 5.94732 5.947325001 5 5.94733 5.94732500001 5 5.94733 5.947392885 8 5.94739288 5.94739288501 8 5.94739289 5.947392885001 8 5.94739289

[此贴子已经被作者于2004-9-8 0:15:35编辑过]

TA的精华主题

TA的得分主题

发表于 2004-9-8 21:14 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2004-10-18 19:28 | 显示全部楼层

说的很明白,但无人能解,我也正需要这个数据.有知道者请予以解答.感激不尽.

TA的精华主题

TA的得分主题

发表于 2006-4-22 00:17 | 显示全部楼层

"dongmu"你好你写的那个函数我也看过了,小弟我太佩服你了,谢谢!!!!帮了我大忙啊!呵呵!

TA的精华主题

TA的得分主题

发表于 2004-10-20 00:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

TA的精华主题

TA的得分主题

发表于 2002-8-27 18:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
3、D1中的数字要求取三位有效数字(比如:0.25,1.35,10.3,112,1320,即大于100的取整,大于1000的最后一位都用0代): =IF(A2<10,TRUNC(A2,2),IF(A2<100,TRUNC(A2,1),IF(A2<1000,TRUNC(A2),TRUNC(A2/10)*10)))

TA的精华主题

TA的得分主题

发表于 2002-8-27 18:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
2、在C1中如果数字小于10保留2位小数,大于10则保留1位小数: =IF(A1<10,ROUND(A1,2)-IF(AND(ROUND(A1,2)>A1,TRUNC(A1*200)=A1*200,TRUNC(A1*100/2)=TRUNC(A1*100)/2),0.01),ROUND(A1,1)-IF(AND(ROUND(A1,1)>A1,TRUNC(A1*20)=A1*20,TRUNC(A1*10/2)=TRUNC(A1*10)/2),0.1))

TA的精华主题

TA的得分主题

发表于 2002-8-27 18:09 | 显示全部楼层
1、如果数字小于5保留2位小数,大于或等于5就保留1位小数: =IF(A1<5,ROUND(A1,2)-IF(AND(ROUND(A1,2)>A1,TRUNC(A1*200)=A1*200,TRUNC(A1*100/2)=TRUNC(A1*100)/2),0.01),ROUND(A1,1)-IF(AND(ROUND(A1,1)>A1,TRUNC(A1*20)=A1*20,TRUNC(A1*10/2)=TRUNC(A1*10)/2),0.1))
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 04:42 , Processed in 0.033844 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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