乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 财务小写金额转大写金额公式详解-excel金额大写

财务小写金额转大写金额公式详解-excel金额大写

作者:乔山办公网日期:

返回目录:excel表格制作

财务小写金额转大写金额公式详解

对于财务人员将小写金额转为大写金额是日常工作中经常遇到的问题,无论是报销单据的填写,还是付款单据的填写,几乎涉及到金额的文件中都会遇到此类问题,虽然Excel中加入NUMBERSTRING()函数,虽然该函数有三种大写书写格式可供选择,但是其仅支持正整数数字,不支持有小数数字的硬伤,使得有财务人员对该函数抱有"弃之有味,食之无肉"的态度。

下面给出该问题的公式解决方案并符详解,望对财务人员有所帮助。直接上图

财务小写金额转大写金额公式详解

公式拆解表

说明:上图中,A1、B1、C1单元格中存放小写金额,分别代表三种情况:仅小数、正整数加小数、仅正整数。对应第三行是返回结果,公式存放在A5单元格:

=IF(A1>=1,NUMBERSTRING(INT(A1),2)&"元",)&SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1<1,,"零")),"零分","整")

8行一下是该公式的拆分表及其结果

财务小写金额转大写金额公式详解

涉及公式:

INT():将数字向下舍入到最接近的整数,即取整。

NUMBERSTRING():小写金额转大写金额,有三种模式。

IF():条件判断,根据表达式值的真假返回不同的结果。

RMB():将数字转为人民币格式的文本。

RIGHT():从字符串的右边提取指定数目的字符。

TEXT():将数值转换为按指定数字格式表示的文本。

SUBSTITUTE():在指定的字符串中替换指定的子字符串为新的字符串。

财务小写金额转大写金额公式详解

涉及公式举例

公式分析:

我们将公式分为两部分:

IF(A1>=1,NUMBERSTRING(INT(A1),2)&"元",)和

SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1<1,,"零")),"零分","整")

公式第一部分:IF(A1>=1,NUMBERSTRING(INT(A1),2)&"元",)

对于小写数字的整数部分我们可以直接用NUMBERSTRING()函数来处理

公式先用int()函数提取数字的整数部分,然后用if函数判断,对于大于等于1的数字直接用NUMBERSTRING()函数将整数部分转为大写,小于1的数字返回空,由公式第二部分来处理

公式第二部分:SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1<1,,"零")),"零分","整")

先用RMB(A1)函数将数值型数字转为文本字符串(目的是提取字符串最后两位的小数部分)

通RIGHT(RMB(A1),2)函数提取数字的后两位小数部分,余下的公式都是对提取出的小数部分来处理的

TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整")此部分略为复杂,是将提取的小数部分转化为自定义格式的文本

TEXT()的第二参数:"[dbnum2]0角0分;;整"为自定义格式表达式,两个分号将表达式分为三段:

正数;负数;零

第一个;前的表达式是指当TEXT()的第一参数为正数时TEXT公式返回该段表达式所表示的格式结果,

[dbnum2]是TEXT()第二参数众多选项中的一个,表示小写格式转大写格式

[dbnum2]0角0分表示对于TEXT()函数第一参数(提取的两位小数数字)第一位小数数字转大写后后面跟一个“角”字,第二位小数数字转大写后后面跟一个“分”字

第二个;前没有内容表示忽略负数,

第二个;后面的表达式是对于第一参为零的情况来设置的,如果数字是零,则返回一个"整"字

TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整")的返回结果就两种情况:"几角几分"和"整"。

SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1<1,,"零"))我们可以写成如下形式

SUBSTITUTE("几角几分","零角",IF(A1<1,,"零"))或SUBSTITUTE("整","零角",IF(A1<1,,"零"))

对于前者,如果要转换的数字小于1,将"几角几分"中出现的"零角"替换为"零",结果返回"零几分",否则将"几角几分"中出现的"零角"替换为"",结果返回"几分"

最里层的SUBSTITUTE()函数是对“几角”进行的处理

在理解了内层SUBSTITUTE()的原理后,外层的就好理解了

外层的SUBSTITUTE()函数是对"几分"进行的处理,如果出现了"零分"我们就替换为"整"字。

最后两部分公式用"&"连接符连接,返回最终的结果。

相关阅读

  • Excel数字如何变大写?-excel金额大写

  • 乔山办公网excel表格制作
  • excel金额大写,如果是整数,在Excel表中超简单:设置单元格格式-特殊-中文大写数字如果你想用公式,有两个=TEXT另一个是使用了在Excel函数库中查不到的隐藏函数=NUMBERSTRING如果数
关键词不能为空
极力推荐
  • Excel工作表进行保护加密-excel密码保护

  • excel密码保护,要使Excel工作表中的数据不被别人修改,还需对相关的Excel工作表进行保护加密,方法如下。然后单击“审阅”选项卡上“更改”组中的“保护工作表”按钮,打开“保护工

ppt怎么做_excel表格制作_office365_word文档_365办公网