Excel计算百分比时分母为0的处理

作者:iamlaosong

实际工作中经常碰到百分比计算,但是,如果分母为0,则单元格显示#DIV/0!,可以用if函数进行判断(直接判断分母,或者用iserror(A1/B1)或isnumber(A1/B1)函数判断计算结果),这样就不会显示#DIV/0!,显示什么,可以根据需要设定,例如:

=IF(B1<>0,A1/B1,0)     ‘ 分母为0时显示0

=IF(B1<>0,A1/B1,1)     ‘ 分母为0时显示1

=IF(B1<>0,A1/B1,"")     ‘ 分母为0时不显示

=IF(iserror(A1/B1),0,A1/B1)     ‘ 分母为0时显示0

=IF(isnumber(A1/B1),0,A1/B1)     ‘ 分母为0时显示0

最好是分母为0时不显示,但是,用上述第三种方法时,这个单元格的值不能参与计算(比如计算同比、环比),这如何处理呢?

这就需要用到自定义显示格式了,依然采用=IF(B1>0,A1/B1,0) ,但将显示格式定义为0时不显示,方法如下:

右击单元格,选择“设置单元格格式”,在“数字”选项卡的“分类”下面选择“自定义”,在右边的“类型”下面输入:

00.00%;-00.00%;;@

点击确定即可。上述格式的含义是:用逗号分隔各种数值的格式,即:

大于零的格式;小于零的格式;等于零的格式;文本的格式


00.00%表示显示百分比,因为第二和第三个分号之间是空白的,即等于零时,格式定义为显示空。

附:Excel自定义格式详解

代码结构:组成代码码分为四个部分,中间用“;”号分隔,具体如下:

正数格式;负数格式;零格式;文本格式

各个参数的涵义

1、”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项。

例:代码:”G/通用格式”。10显示为10;10.1显示为10.1。

2、 “#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。

例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.13

3、”0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。

例:代码:”00000”。1234567显示为1234567;123显示为00123

代码:”00.000”。100.14显示为100.140;1.1显示为01.100

4、”@”:文本占位符,如果只使用单个@,作用是引用原始文本,

要在输入数字数据之后自动添加文本,使用自定义格式为:”文本内容”@;要在输入数字数据之前自动添加文本,使用自定义格式为:@”文本内容”。@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。

如果使用多个@,则可以重复文本。

例:代码”;;;"集团"@"部"“,财务显示为:集团财务部

代码”;;;@@@“,财务显示为:财务财务财务

5、”*”:重复下一次字符,直到充满列宽。

例:代码:”@*-”。”ABC”显示为”ABC-------------------”

可就用于仿真密码保护:代码”**;**;**;**”,123显示为:************

6、”,”:千位分隔符

例:代码” #,###“,12000显示为:12,000

7、\:用这种格式显示下一个字符。"文本",显示双引号里面的文本。

“\”:显示下一个字符。和“”””用途相同都是显示输入的文本,且输入后会自动转变为双引号表达。

例:代码"人民币 "#,##0,,"百万",与\人民币 #,##0,,\百万,

输入1234567890显示为:人民币 1,235百万

8、“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数

例:分别设置单元格格式为”??.??”和”???.???”,对齐结果如下:

输入12.1212 显示12.12 12.121

9、颜色:用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。

例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数为青色,负数显示红色,零显示黄色,文本则显示为兰色

[颜色N]:是调用调色板中颜色,N是0~56之间的整数。

例:代码:“[颜色3]”。单元格显示的颜色为调色板上第3种颜色。、

10、条件:可以单元格内容判断后再设置格式。条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”。条件要放到方括号中。必须进行简单的比较。

例:代码:“[>0]”正数”;[=0];”零”;负数”。显示结果是单元格数值大于零显示正数,等于0显示零,小于零显示“负数”。

11、 “!”:显示“"”。由于引号是代码常用的符号。在单元格中是无法用"""来显示出来“"”。要想显示出来,须在前加入“!”

例:代码:“#!"”。“10”显示“10"”

代码:“#!"!"”。“10”显示“10""”

12、时间和日期代码常用日期和时间代码

“YYYY”或“YY”:按四位(1900~9999)或两位(00~99)显示年

“MM”或“M”:以两位(01~12)或一位(1~12)表示月。

“DD”或“D”:以两位(01~31)或一位(1-31)来表示天。

例:代码:“YYYY-MM-DD”。2005年1月10日显示为:“2005-01-10”

excel单元格自定义格式1

代码结构组成代码码分为四个部分,中间用“;”号分隔,具体如下:

正数格式;负数格式;零格式;文本格式

各个参数的涵义

“G/通用格式”:以常规的数字显示,相当于“分类”列表中的“常规”选项。

例:代码:“G/通用格式”。10显示为10;10.1显示为10.1。

“0”:数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足

例:代码:“00000”。1234567显示为1234567;123显示为00123

代码:“00.000”。100.14显示为100.140;1.1显示为01.100

“#”:数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于“#”的数量,则按“#”的位数四舍五入。

例:代码:“###.##”,12.1显示为12.10;12.1263显示为:12.13

“?”:数字占位符。在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数

例:分别设置单元格格式为“??.??“和“???.???”,对齐结果如下:

例:设置单元格自定义格式“# ??/???”。“1.25”显示为“1 1/4”

“.”:小数点。如果外加双引号则为字符。

例:代码“0.#”。“11.23”显示为“11.2”

“%”:百分比。

例:代码“#%”。“0.1”显示为“10%”

“,”:千位分隔符。数字使用千位分隔符。如时在代码中“,”后空,则把原来的数字缩小1000倍。

例:代码:“#,###”。“10000”显示为“10,000”

代码:“#,”。10000显示为10。

代码:“#,,”。“1000000”显示为“1”。

“/”:显示下一个字符。和“”””用途相同都是显是输入的文本,且输入后会自动转变为双引号表达。不同的“/”是显后面的文本,双引号是显示双引中间的文本。

例:代码“\ABC”或“”ABC””。均显示为“ABC”

“*”:重复下一次字符,直到充满列宽。

例:代码:“@*-”。“ABC”显示为“ABC-------------------”

“_”(下划线):留下一个和下一个字符同等宽度的空格“文本”:显示双引号中的文本。

例:代码:“”中国”@”显示为“中国河南”

[颜色]:用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。

例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数为青色,负数显示红色,零显示黄色,文

本则显示为兰色

[颜色N]:是调用调色板中颜色,N是0~56之间的整数。

例:代码:“[颜色3]”。单元格显示的颜色为调色板上第3种颜色。

[条件]:可以单元格内容判断后再设置格式。条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”。条件要放到方括号中。必须进行简单的比较。

例:代码:“[>0]”正数”;[=0];”零”;负数”。显示结果是单元格数值大于零显示正数,等于0显示零,小于零显示“负数”。

“!”:显示“"”。由于引号是代码常用的符号。在单元格中是无法用"""来显示出来“"”。要想显示出来,须在前加入“!”

例:代码:“#!"”。“10”显示“10"”

代码:“#!"!"”。“10”显示“10""” 2.1.1.2 时间和日期代码常用日期和时间代码

“YYYY”或“YY”:按四位(1900~9999)或两位(00~99)显示年

“MM”或“M”:以两位(01~12)或一位(1~12)表示月。

“DD”或“D”:以两位(01~31)或一位(1-31)来表示天。

例:代码:“YYYY-MM-DD”。2005年1月10日显示为:“2005-01-10”

代码:“YY-M-D”。2005年10月10日显示为:“05-1-10”

“AAAA”:日期显示为星期。

“H”或“HH”:以一位(0~23)或两位(01~23)显示小时

“M”或“MM”:以一位(0~59)或两位(01~59)显示分钟

“S”或“SS”:以一位(0~59)或两位(01~59)显示秒

例:代码:“HH:MM:SS”。“23:1:15”显示为“23:01:15”

[H]或[M]或[SS]:显示大于24小时的小时或显示大于60的分或秒。

下面介绍几个常遇到的实例

把12345显示为1.2

代码:“0.,”

设置千元显示且四舍五入保留两位小数要求:把“12345”显示为:12.35

代码:“#.00,”

在数字中任意插入字符要求:把“20050512”设置为:2005-05-12

代码:“0000-00-00”

在文本或数字前添加字符要求:“郑州市”显示为“河南省郑州市”

代码:“"河南省"@”

要求:“1035010121”显示为“手机号码1034010121”

代码:“"手机号码"@”或“"手机号码"#”

另外日期格式的显示方法

"e":显示四位年份,2003版本有效。

"bbbb":显示四位佛历年份,即以公元前543年为纪年元年,对1900年以后的日期有效。

"mmm":显示英文月份的简称。

"mmmm":显示英文月份的全称。

"ddd":显示英文星期几的简称。

"dddd":显示英文星期几的全称。

关于特殊数字的显示

中文小写数字 [DBNum1][$-804]G/通用格式

例:代码:“[DBNum1][$-804]G/通用格式”。“1”显示为“一”

代码:“[DBNum1][$-804]G/通用格式”。“13”显示为“一十三”

中文小写数字 [DBNum2][$-804]G/通用格式

例:代码:“[DBNum2][$-804]G/通用格式”。“1”显示为“壹”

代码:“[DBNum2][$-804]G/通用格式”。“13”显示为“壹拾叁”

中文小写数字 [DBNum3][$-804]G/通用格式

例:代码:“[DBNum3][$-804]G/通用格式”。“123”显示为“1百2十3”

特殊说明

因为参数的特殊性,所以自定义的参数也是有关键字的。如函数=TEXT(A1,"b0000")就会显示错误。因为“b”就是保留的关键字,在自定义格式输入“b”系统就会自动填入“bb”。bb就是佛历年份,即以公元前543年为纪年元年,对1900年以后的日期有效。“bbbb”就是四位佛历年份。要解决=TEXT(A1,"b0000")的错误问题,需要这样定义函数=TEXT(A1,"""b""0000")。在自定义格式中定义就是“"b"0000”。其它的关键字自己体会如:“d”、“e”............

单元格自定义格式2

在Excel中自定义数字格式

虽然Excel为用户提供了大量的数字格式,但还是有许多用户因为工作、学习方面的特殊要求,需要使用一些Excel未提供的数字格式,这时我们就需要利用Excel的自定义数字格式功能来帮助实现用户的这些特殊要求。

一、在Excel中创建自定义数字格式的方法

1、选择要设置格式的单元格或单元格区域。

2、单击“格式”菜单中的“单元格”命令,然后单击“数字”选项卡。

3、在“分类”列表中,单击“自定义”选项。

4、在“类型”框中,编辑数字格式代码以创建所需的格式。

在Excel自定义数字格式使用如下的表达方式:

正数的格式        负数的格式       零的格式          文本的格式

#,##0.00              [Red]-#,##0.00        0.00                 "TEXT"@

在Excel自定义数字格式的格式代码中,用户最多可以指定四个节;每个节之间用分号进行分隔,这四个节顺序定义了格式中的正数、负数、零和文本。如果用户在表达方式中只指定两个节,则第一部分用于表示正数和零,第二部分用于表示负数。如果用户在表达方式中只指定了一个节,那么所有数字都会使用该格式。如果在表达方式中要跳过某一节,则对该节仅使用分号即可。

二、自定义数字格式实例

(一)自动添加文本

(1)要在输入数据之后自动添加文本,使用自定义格式为:@"文本内容";要在输入数据之前自动添加文本,使用自定义格式为:"文本内容"@。@符号的位置决定了Excel输入的数字数据相对于添加文本的位置,双引号得用英文状态下的。

实例一:

在学生姓名前添加“初二(2)班”字样,就可以创建:

"初二(2)班"@

(2)在输入数字之后自动添加文本。

实例二:

如在日常财务工作中,常常需要在金额数字后加单位“元”,这时就可以使用:

0.00"元"

0"元"

(二)在自定义数字格式中使用颜色

要设置格式中某一部分的颜色,只要在该部分对应位置用方括号键入颜色名称或颜色编号即可。Excel中可以使用的颜色名称有[黑色]、[蓝色]、[青色]、[绿色]、[洋红]、[红色]、[白色]、[黄色]八种不同的颜色,此外Excel还可以使用[颜色X]的方式来设置颜色,其中X为1-56之间的数字,代表了56种不同的颜色。

例如:当用户需要将单元格中的负数数字用蓝色来表示,只要使用“#,##0.00;[蓝色]-#,##0.00”自定义数字格式,用户在单元格中录入负数时,Excel就会将数字以蓝色显示。

(三)在自定义数字格式中使用条件格式

在Excel自定义数字格式中用户可以进行条件格式的设置。当单元格中数字满足指定的条件时,Excel可以自动将条件格式应用于单元格。Excel自定义数字格式中可以使用如下六种标准的比较运算符:

运算符                 含义

=                       等于

>                       大于

<                       小于

>=                    大于等于

<=                  小于等于

<>                    不等于

例如:在学生成绩工作表中,当我们想以红色字体显示大于等于90分的成绩,以蓝色字体显示小于60分的成绩时,其余的成绩则以黑色字体显示,这时只需将自定义数字格式设置为“[红色][>=90];[蓝色][<60];[黑色]”即可。

值得注意的是,当你在以后需要继续使用刚才所创建的成绩条件自定义数字格式时,你会发现在“单元格格式”的“自定义”分类类型中找不到“[红色][>=90];[蓝色][<60];[黑色]”格式,这是因为Excel自动将你所创建的“[红色][>=90];[蓝色][<60]”格式修改成“[[红色][>=90]G/通用格式;[蓝色][<60]G/通用格式;[黑色]G/通用格式”,你只需选择此格式即可达到同样的使用效果。

实例一:

在工人奖金列表中,当我们想以小于50的显示“低”,50至100间显示“中等”,大于100的显示“高”。这时只需将自定义数字格式设置为:

[<50]"低";[>100]"高";"中等"

实例二:

把“数学”、“语文”成绩中90分以上替换成“优”:

[>=90]"优"

(四)隐藏单元格中的数值

在Excel工作表中,有时为了表格的美观或者别的因素,我们希望将单元格中的数值隐藏起来,这时我们使用“;;;”(三个分号)的自定义数字格式就可达到此目的。这样单元格中的值只会在编辑栏出现,并且被隐藏单元格中的数值还不会被打印出来,但是该单元格中的数值可以被其他单元格正常引用。在Excel中要想设置满足指定条件数字的格式,在自定义数字格式代码中必须加入带中括号的条件,条件由比较运算符和数值两部分组成。

Excel计算百分比时分母为0的处理,码迷,mamicode.com

时间: 2024-10-25 18:10:06

Excel计算百分比时分母为0的处理的相关文章

属性设置百分比时的计算参考汇总

元素宽高 width,min-width,max-width等元素宽度设置百分比,以包含块的宽度为标准进行计算: height,min-height,max-height等元素宽度设置百分比,以包含块的高度为标准进行计算: 内外边距 margin,padding设置百分比时,在默认(水平)书写模式下,以包含块的宽度为标准进行计算,其他情况以包含块的高度进行计算.所以正常情况下,margin-top,padding-top 等垂直方向上的内外边距也都是以包含块的宽度进行计算的 定位 left,ri

PDF表格到Excel格式的转换系统-RainbowPDF2.0

证券公司处理上市公司PDF会计报表的有力工具 高精度将PDF表格到Excel格式的转换系统 解决证券公司统计上市公司的会计报表时,PDF报表的数据输入问题! 目前上市公司的会计报表全部以PDF格式上报到交易所,并且为了安全,实施了加密.禁止修改.禁止打印.禁止文字抽取等各种保护措施,给证券公司带来了很大困难,统计上市公司的数据只好重新把数据用手工方式输入一遍. 北京红樱枫软件有限公司的RainbowPDF软件解决了您的大麻烦,利用它可以毫不费劲的把PDF中的表格数据自动转换到Excel中.而且表

分母为0一定会抛异常吗?

现象描述 最近做了一个需求,用到了 预算 / 时间窗口数,其中预算是double类型,时间窗口数是int类型,其中时间窗口数我计算的有问题,会出现为0的情况(实际最小值应该为1),然后就出现了 一个double类型的数除以0的情况,分母为0,是不是要报 java.lang.ArithmeticException: / by zero?(不蛮大家,我最初也是这样认为的,但这个异常是针对整数的,浮点数运算引入了无限的概念) 结果没有抛出异常,而是返回了 Infinity 复现 @Test publi

高度百分比时的文字垂直居中

常用css的开发人员都知道让单行文字水平居中用text-align:center垂直方向居中有一个小技巧是让line-height=height,一般用到这个的时候我们的高度都是固定的px值,但今天我设置高度为百分比时,也想让文字垂直居中,于是有了下面这段代码 <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title>

使用excel计算指数平滑和移动平均

指数平滑法 原数数据如下: 点击数据——数据分析 选择指数平滑 最一次平滑 由于我们选择的区域是B1:B22,第一个单元格“钢产量”,被当做标志,所以我们应该勾选标志.当我们勾选了标志后,列中的第一个单元格将不被用于计算,计算从第二个单元格开始. 结果如下: 做二次平滑 这里,我们不再采用标志,所以数据区间选择在C3:C22 对比一下 阻尼系数=0.3 阻尼系数=0.05 阻尼系数=0.9 画在一张图上对比下,可见阻尼系数越大,曲线越平. 移动平均(一阶和二阶) 同理可以使用excel计算得到如

js 计算请假时长(去除了周六日,节假日未清除)

js 计算请假时长(去除了周六日,节假日未清除) 2017-12-26 亦皓 <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <link href="./bootstrap/css/bootstrap.m

vue框架下,echarts图表外部容器宽度设置为百分比时内容超出容器以及echarts图表自适应的实现方案

在vue.js框架下,创建echarts图表,当图表的外部容器的宽度设置为百分比时,出现图表内容宽度超出其外部容器的情况,几番调试,得解决方案如下: (备注说明:问题产生的具体原因尚不清晰,后面若知晓了再补充,但是初期解决问题阶段一定不要钻牛角,不是一开始就能或者可以知道真理的) 在创建了echart对象之后,就调用一次echart的resize方法,同时,获取图表数据的方法应该是异步的,如果是初期调试模拟也要用setTimeout延迟一下,0秒即OK了. methods: { ...mapAc

Excel计算、统计函数

Excel计算.统计函数 1.=SUMPRODUCT(array1,[array2]...) ? 返回对应的区域或数组的乘积之和. 默认运算是乘法,但加.减和除也可能. 2.=COUNT 计数 3.=MAX 最大值 4.=MIN 最小值 5.=RANDBETWEEN(bottom, top) ? 生成bottom到top之间的随机数 6.=RANK(number,ref,[order]) 排名 计算分数排名 7.=AVERAGEIF(range, criteria, [average_range

MySQL计算百分比方法介绍

根据相应条件抽出相应count数(myCount) 抽出总count数(totalCount) 计算百分比:myCount / totalCount * 100 四舍五入:使用ROUND函数ROUND(number,要保留的小数位),ROUND(myCount / totalCount * 100,1) 下面给出示例供参考: SELECT ROUND(T1.co/T2.totalCo*100,1)    FROM      (SELECT COUNT(*) AS co        FROM f