做会计凭证经常需要金额大小写转换,熟练掌握该技巧还是很必要的,今天我们就来学习下小写金额转换大写的方法。
金额小写转大写
比如A1单元格中为:12345.67
1、我们先用数字格式直接转换下看看是什么效果!
倒是转换成了大写金额的汉字,但是没有元整、角、分这样的格式。
2、下面我们用公式解决下:
在B1单元格中输入公式:
=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),\"[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;\")&TEXT(RIGHT(RMB(A1),2),\"[dbnum2]0角0分;;整\")
效果如下:
这样才是我们想要的标准的会计大写金额的格式
公式解析:
小数点左边部分:
首先用RMB将A1中的数字12345.67转化成标准的会计专用格式
=RMB(12345.67)结果为 ¥12,345.67
然后用LEFT函数提取整数部分
=LEFT(RMB(A1),LEN(RMB(A1))-3)
12345.67,总字符数减去小数点以及后两位(即3位)就是想要提取的整数部分的字符数
再将提取出来的整数部分用TEXT按照格式转换
[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;
数字格式:正数;负数;零值;文本
正数负数部分全部按照指定格式显示
零值和文本不显示
=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),\"[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;\")
小数点右边部分:
道理和左边部分一样
用RIGHT函数提取右边两位小数
=RIGHT(RMB(A1),2)
用TEXT按照格式转换
[dbnum2]0角0分;;整
数字格式:正数;负数;零值;文本
如果是正数就按照[dbnum2]0角0分显示
如果是负数和零值就不显示
文本显示整
=TEXT(RIGHT(RMB(A1),2),\"[dbnum2]0角0分;;整\")
两部分连接起来即可显示完整的转换结果。
思考:
用RMB只是为了规范数字格式,指定两位小数,那可以用round保留两位小数吗?如果A1中的数字是0,公式结果会是什么样?如果你希望数字为0时显示零元整该怎么修改公式。如果这几个问题可以解决,我相信你理解这个公式了。o(∩_∩)o 哈哈!
下面我们再来条公式:
=SUBSTITUTE(SUBSTITUTE(TEXT(INT(A1),\"[DBNum2][$-804]G/通用格式元\"&IF(INT(A1)=A1,\"整\",\"\"))&TEXT(MID(A1,FIND(\".\",A1&\".0\")+1,1),\"[DBNum2][$-804]G/通用格式角\")&TEXT(MID(A1,FIND(\".\",A1&\".0\")+2,1),\"[DBNum2][$-804]G/通用格式分\"),\"零角\",\"零\"),\"零分\",\"\")
别看到这么长的公式就怕,像庖丁解牛一样给他分解下:
第一段蓝色部分是处理整数部分,若金额只有整数部分显示XX元整
第二段蓝色部分处理小数部分,会计专用格式小数部分只有两位,所以分别提取每一位,用角、分的格式显示
两个substitute主要是针对两个小数位数出现0时进行替换
如A1中为123.05,如果不加substitute,则显示壹佰贰拾叁圆零角伍分
用=substitute(a1,\"零角\",\"零\"),这样就会显示壹佰贰拾叁圆零伍分
如A1中为123.50,如果不加substitute,则显示壹佰贰拾叁圆伍角零分
用=substitute(a1,\"零分\",\"\"),这样就会显示壹佰贰拾叁圆伍角
累啊,写了这么多,不知道解释清楚了没?用F9逐段去理解,这样学习也会提高各位对公式的理解。
平时我们都是用&连接两个字符串,今天的例子中我们学到了用&连接两个公式。
3、如果你不是批量转化,而是想直接输入大写金额,怎么办呢?
我用的是QQ输入法,搜狗输入法也支持。
转自:米宏Office
★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!