如何在Excel中实现四舍六入五留双

技术篇┃IT与计量

如何在Excel中实现四舍六入五留双

□何欣

Excel目前还没有提供四舍六入五留双的修约方法,

所以常常会出现人工计算与计算机计算不符的现象,有时甚至会影响结果的判定。也曾有文章介绍利用嵌入计算模块来实现四舍六入五留双(《扩充Excel表格功能快捷修约计量数据》中国计量》,《2005年第12期第68页),但也存在一些问题,例如:(1)只能修约3~9位数;(2)嵌入计算模块需要使用者具有一定的计算机知识;(3)

100.0252修约为100.02不太恰当。

为了更方便、准确地实现四舍六入五留双,笔者经过反复验证,成功利用Excel自带的公式实现了四舍六入五留双的科学修约,完美地实现了计算机计算与人工计算的一致,这将有利于Excel在工程计算中的推广,使得人们可以从繁琐的计算中解脱出来,进一步提高工作效率。

四舍六入五留双的修约原则是:如果有效数字后面第一位数字恰好为5,5之后的数字不全为0,则在5的前一位数字进1;若5之后的数字全为0,而5的前一位数又是奇数,则在5的前一位数字进1;若5之后的数字全为0,而5的前一位数为偶数,则舍去不计。例如,将下列数字修约为四位的有效数字:

图2工作表示意图

*10^B2)<0.499999,ROUND(A2,B2),IF(ABS(TRUNC(A2,B2+5)*10^B2-TRUNC(A2,B2)*10^B2)>0.500001,ROUND(A2,B2),CEILING(ABS(TRUNC(A2,B2+1))-0.5*10^-B2,2*10^-B2)*SIGN(A2)))

其中:ABS(number):返回给定数值的绝对值,即不带符号的数值;CEILING(,significance):将参数向上舍入为最接近的整数,或最接近的指定基数的倍数;ROUND(num-

ber,num_digits):将指定的位数对数值进行四舍五入;SIGN(number):返回数字的正负号;TRUNC(number,num_digits):将数字截为整数或保留指定位数的小数。

四舍六入五留双.xls”。3.将工作表保存为“

27.0241→27.02;27.0261→27.03;27.0250→27.02;27.0150→27.02;27.0251→27.03

下面详细介绍如何实现四舍六入五留双:

4.打开平时计算的工作表,在需要修约的数列后插

入两空白列,如图3a和图3b所示。

5.在D2单元格输入需要保留的位数(可以为负数,负

数表示修约至小数点前几位数),把C1单元格的内容复制四舍六入五留双.xls”到E1单元格,复制工作表“的C2单元格至E2单元格,如图3c所示。

1.程序流程图(见图1)

开始

输入原始值和修约位数

原始值取绝对值

6.为使界面显示更直观,隐藏C和D列,如图3d所示。7.完成修约程序导入,效果如图3e所示。

如说明:如需改变保留的位数,直接修改D2单元格即可。

abcde

C2单元格至

复制“四舍六入

五留双.xls中的

按修约位数四舍五入

加上原始值的符号

修约完成

最后一位有效数字进位到最近的双数

图1

公式1(C2)为:

程序流程图

2.建立一个工作表(见图2)

=IF(ABS(TRUNC(A2,B2+5)*10^B2-TRUNC(A2,B2)

图3

使用示意图

100

2008.08中国计量http://www.chinajl.com.cn

IT与计量┃技术篇

=IF(ABS(TRUNC(B1,B2+5)*10^B2-TRUNC(B1,B2)*10^B2)<0.499999,ROUND(B1,B2),IF(ABS(TRUNC(B1,B2+5)*10^B2-TRUNC(B1,B2)*10^B2)>0.500001,ROUND(B1,B2),CEILING(ABS(TRUNC(B1,B2+1))-0.5*10^-B2,2*10^-B2)*SIGN(B1)))

使用方法参照图3。

图4

工作表示意图

本方法适用于Excel97/2000/XP/2003,方法简单,结果准确,可修约任意位数。如需“程序,四舍六入五留双.xls”请登录中国计量编辑部网站(http://www.jlbjb.com)下载。

计作者单位【广州市计量检测技术研究院果不方便在右侧插入空白列,也可在下方插入两空白行。但四舍六入五留双.xls”中的公式需要加以修改,如图4所示。“

公式2(B3)为:

在Excel电子表格中

用mm为单位设置行高、列宽

□蒋文彬

由于Excel电子表格行高、列宽的长度单位不是以mm为单位,用它制作打印模版极不方便。要用Excel做模版其关键在于用mm为单位设置行高、列宽。是否可以用mm为单位来制定行高、列宽呢?笔者经过很长时间的摸索,基本掌握了其行高、列宽的计算方法,解决了利用Excel制作打印模版时行高、列宽单位不直观的缺点。下面的计算方法可供大家参考和探讨。

一、基本参数计算

磅”字符”;列宽的单位是“。1.行高的单位是“

磅”与“的换算:25.4mm=1吋=72磅。2.行高“mm”

设置第一列的列宽为2个字符宽

Columns(1).ColumnWidth=2

第一列的列宽(磅)

L2=Columns(1).Width①当以X≤

列宽L=

L1

×25.4mm设置列宽时72

72

×X(字符)25.4

L1×25.4mm设置列宽时72

②当以X>

72H=X(磅)

25.4

为单位X以“mm”

字符”与“的换算3.列宽“mm”

列宽为1个字符与列宽为2个字符之差是一个定值,如:列宽为1个字符宽时是13像素,列宽为2个字符宽时是21像素,列宽为3个字符宽时是29像素(即每增加一个字符宽,增加21-13=8,29-21=8,……)。

利用程序分别得到列宽为一个字符宽和列宽为2个字符宽时的列宽(磅):

设置第一列的列宽为1个字符宽

X×72

-L125.4

列宽L=+1(字符)

L2-L1

为单位X以“mm”二、消除产生误差的方案

1.消除打印机可能产生的误差(以行高为例)

打印机所产生的误差属于A类不确定度,可以通过修正加以克服。

(1)按计算的方法画一个100mm的方框,分别按纵向和横向进行打印。分别测量打印出的实际高。纵向打印的实际行高hz、横向打印的实际行高hh。

(2)得到修正系数:纵向打印时,Khz=

Columns(1).ColumnWidth=1

第一列的列宽(磅)

100

hz

L1=Columns(1).Width

修正后,Hzxz=H×Khz

2008.08中国计量

http://www.chinajl.com.cn

101

技术篇┃IT与计量

如何在Excel中实现四舍六入五留双

□何欣

Excel目前还没有提供四舍六入五留双的修约方法,

所以常常会出现人工计算与计算机计算不符的现象,有时甚至会影响结果的判定。也曾有文章介绍利用嵌入计算模块来实现四舍六入五留双(《扩充Excel表格功能快捷修约计量数据》中国计量》,《2005年第12期第68页),但也存在一些问题,例如:(1)只能修约3~9位数;(2)嵌入计算模块需要使用者具有一定的计算机知识;(3)

100.0252修约为100.02不太恰当。

为了更方便、准确地实现四舍六入五留双,笔者经过反复验证,成功利用Excel自带的公式实现了四舍六入五留双的科学修约,完美地实现了计算机计算与人工计算的一致,这将有利于Excel在工程计算中的推广,使得人们可以从繁琐的计算中解脱出来,进一步提高工作效率。

四舍六入五留双的修约原则是:如果有效数字后面第一位数字恰好为5,5之后的数字不全为0,则在5的前一位数字进1;若5之后的数字全为0,而5的前一位数又是奇数,则在5的前一位数字进1;若5之后的数字全为0,而5的前一位数为偶数,则舍去不计。例如,将下列数字修约为四位的有效数字:

图2工作表示意图

*10^B2)<0.499999,ROUND(A2,B2),IF(ABS(TRUNC(A2,B2+5)*10^B2-TRUNC(A2,B2)*10^B2)>0.500001,ROUND(A2,B2),CEILING(ABS(TRUNC(A2,B2+1))-0.5*10^-B2,2*10^-B2)*SIGN(A2)))

其中:ABS(number):返回给定数值的绝对值,即不带符号的数值;CEILING(,significance):将参数向上舍入为最接近的整数,或最接近的指定基数的倍数;ROUND(num-

ber,num_digits):将指定的位数对数值进行四舍五入;SIGN(number):返回数字的正负号;TRUNC(number,num_digits):将数字截为整数或保留指定位数的小数。

四舍六入五留双.xls”。3.将工作表保存为“

27.0241→27.02;27.0261→27.03;27.0250→27.02;27.0150→27.02;27.0251→27.03

下面详细介绍如何实现四舍六入五留双:

4.打开平时计算的工作表,在需要修约的数列后插

入两空白列,如图3a和图3b所示。

5.在D2单元格输入需要保留的位数(可以为负数,负

数表示修约至小数点前几位数),把C1单元格的内容复制四舍六入五留双.xls”到E1单元格,复制工作表“的C2单元格至E2单元格,如图3c所示。

1.程序流程图(见图1)

开始

输入原始值和修约位数

原始值取绝对值

6.为使界面显示更直观,隐藏C和D列,如图3d所示。7.完成修约程序导入,效果如图3e所示。

如说明:如需改变保留的位数,直接修改D2单元格即可。

abcde

C2单元格至

复制“四舍六入

五留双.xls中的

按修约位数四舍五入

加上原始值的符号

修约完成

最后一位有效数字进位到最近的双数

图1

公式1(C2)为:

程序流程图

2.建立一个工作表(见图2)

=IF(ABS(TRUNC(A2,B2+5)*10^B2-TRUNC(A2,B2)

图3

使用示意图

100

2008.08中国计量http://www.chinajl.com.cn

IT与计量┃技术篇

=IF(ABS(TRUNC(B1,B2+5)*10^B2-TRUNC(B1,B2)*10^B2)<0.499999,ROUND(B1,B2),IF(ABS(TRUNC(B1,B2+5)*10^B2-TRUNC(B1,B2)*10^B2)>0.500001,ROUND(B1,B2),CEILING(ABS(TRUNC(B1,B2+1))-0.5*10^-B2,2*10^-B2)*SIGN(B1)))

使用方法参照图3。

图4

工作表示意图

本方法适用于Excel97/2000/XP/2003,方法简单,结果准确,可修约任意位数。如需“程序,四舍六入五留双.xls”请登录中国计量编辑部网站(http://www.jlbjb.com)下载。

计作者单位【广州市计量检测技术研究院果不方便在右侧插入空白列,也可在下方插入两空白行。但四舍六入五留双.xls”中的公式需要加以修改,如图4所示。“

公式2(B3)为:

在Excel电子表格中

用mm为单位设置行高、列宽

□蒋文彬

由于Excel电子表格行高、列宽的长度单位不是以mm为单位,用它制作打印模版极不方便。要用Excel做模版其关键在于用mm为单位设置行高、列宽。是否可以用mm为单位来制定行高、列宽呢?笔者经过很长时间的摸索,基本掌握了其行高、列宽的计算方法,解决了利用Excel制作打印模版时行高、列宽单位不直观的缺点。下面的计算方法可供大家参考和探讨。

一、基本参数计算

磅”字符”;列宽的单位是“。1.行高的单位是“

磅”与“的换算:25.4mm=1吋=72磅。2.行高“mm”

设置第一列的列宽为2个字符宽

Columns(1).ColumnWidth=2

第一列的列宽(磅)

L2=Columns(1).Width①当以X≤

列宽L=

L1

×25.4mm设置列宽时72

72

×X(字符)25.4

L1×25.4mm设置列宽时72

②当以X>

72H=X(磅)

25.4

为单位X以“mm”

字符”与“的换算3.列宽“mm”

列宽为1个字符与列宽为2个字符之差是一个定值,如:列宽为1个字符宽时是13像素,列宽为2个字符宽时是21像素,列宽为3个字符宽时是29像素(即每增加一个字符宽,增加21-13=8,29-21=8,……)。

利用程序分别得到列宽为一个字符宽和列宽为2个字符宽时的列宽(磅):

设置第一列的列宽为1个字符宽

X×72

-L125.4

列宽L=+1(字符)

L2-L1

为单位X以“mm”二、消除产生误差的方案

1.消除打印机可能产生的误差(以行高为例)

打印机所产生的误差属于A类不确定度,可以通过修正加以克服。

(1)按计算的方法画一个100mm的方框,分别按纵向和横向进行打印。分别测量打印出的实际高。纵向打印的实际行高hz、横向打印的实际行高hh。

(2)得到修正系数:纵向打印时,Khz=

Columns(1).ColumnWidth=1

第一列的列宽(磅)

100

hz

L1=Columns(1).Width

修正后,Hzxz=H×Khz

2008.08中国计量

http://www.chinajl.com.cn

101


相关内容

  • 关于excel打印表头和计算虚岁.周岁的三种方法
  • 关于excel打印表头和计算虚岁.周岁的三种方法 关于EXCEL表头问题. 一个表很长,如何在第二页及以后显示表头? 文件--页面设置---工作表---打印标题----顶端标题行----选定你需要做为表头的行(绝对应用的区域)确定后就OK了,这样不管你有多少页,你都行在第一行打印出表头,快试试吧 = ...

  • Excel中人民币小写金额转换大写技巧
  • Excel中人民币小写金额转换大写技巧两则 要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的 "[dbnum2]G/通用格式"改为"[dbnum2] G/通用格式"元""来实现.但在转换小数时却出现了问题,比如 ...

  • excel表格计算公式大全
  • 1 AND "与"运算,返回逻辑值,仅当有参数的结果均为逻辑"真(TRUE )"时返回逻辑"真(TRUE )",反之返回逻辑"假(FALSE )". 条件判断 AVERAGE 求出所有参数的算术平均值. 数据计算 COL ...

  • 人民币小写金额转换成大写格式
  • 人民币小写金额转换成大写格式 要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的"[dbnum2]G/通用格式"改为"[dbnum2] G/通用格式"元""来实现.但在转换小数时却出现了问题,比如¥6,050.0 ...

  • [excel财务应用]-编制工资明细表
  • EXCEL教程-编制工资明细表[excel财务应用] 步骤01   新建工作表 前面说过,一个工作簿默认有3个工作表,现在我们需要在此工作簿增加一个工作表.在工作表标签点击鼠标右键,选择"插入"→"工作表",重新命名为"工资明细表".在A1 ...

  • [用EXCEL编制.跟踪预算的方法与技巧]-陈代友
  • <用EXCEL 编制.跟踪预算的方法与技巧> 陈代友 [课程背景] ∙ EXCEL 是编制预算的常用工具,由于缺乏技巧.多数企业都没有高效运用,只是简单运用了EXCEL 的汇总和表格功能. ∙ 提供多种Excel 预算模型,快速.自动完成预算编制,一气呵成 ∙ 摆脱繁琐数据计算,注重预算 ...

  • excel中保留两位小数的问题
  • 利用Round函数和ROUNDDOWN函数可以解决excel中保留两位小数的问题. 首先来看看round.rounddown.roundup三个函数应用的区别. round.rounddown.roundup三个函数的语法为:Round(数值,保留的小数位数) round函数:对指定数值进行四舍五入 ...

  • Excel自定义格式进阶教程
  • Excel 自定义格式进阶教程 说到EXCEL 中使用自定义格式, 首先想到的是快捷键: 先打开单元格式对话框"Ctrl+1"(大键盘的数字键1) ,再使用"Tab ,↑,↓"来选择 要显示负数和零, 正数则不显示, 自定义为:":##:0" ...

  • 现代物流案例
  • 实验一: 实验二:蒙特卡罗模拟订货法 实验三:配送仿真实验 实验四:分散与集中仓库配送实验 目 录 ABC分类法实验--- 3-4页 -- 4-6页 ---- 6-8页 --8-10页 实验一:ABC分类法实验报告 实验目的: 通过利用EXCEL软件来给商品进行ABC分类,来确定商品的重要程度,企业 ...