本文转载自公众号:涂涂说Excel,作者:涂大荣。本文著作权归原创作者所有,本人收藏此文仅作为学习之用,不作其他目的,如有侵权请联系我删除。
大家好!我是涂涂
数字金额转中文大写金额。
在Excel中,通过设置单元格格式,可以将数字转为中文大写数字,如下图。然而这往往不是我们想要的结果。
通过TEXT函数及其它函数的组合,可以实现我们想要的效果。比如“-123456.01“,显示为:负壹拾贰万叁仟肆佰伍拾陆元零壹分
公式解释:
=TEXT(TRUNC(RMB(A2)),"[dbnum2]G/通用格式元;[dbnum2]负G/通用格式元;")&IF(--RIGHT(RMB(A2),2)=0,"整",TEXT(LEFT(RIGHT(RMB(A2),2),1),"[dbnum2]0角;;零"))&TEXT(RIGHT(RMB(A2),1),"[dbnum2]0分;;")
公式很长,咱们细看会发现,公式其实是由三部分组成:金额的元位,金额的角位,金额的分位,然后各部分使用“&”连接符连接起来。
元位部分
TEXT(TRUNC(RMB(A2)),"[dbnum2]G/通用格式元;[dbnum2]负G/通用格式元;")
◆TRUNC(RMB(A2))
◆[dbnum2]G/通用格式元
格式转换,将数字转换为中文大写数字,比如12,转换成“壹拾贰“。前面的负字是识别”-“负号。后面的”元“字是单位
角位部分
IF(--RIGHT(RMB(A2),2)=0,"整",TEXT(LEFT(RIGHT(RMB(A2),2),1),"[dbnum2]0角;;零"))
◆--RIGHT(RMB(A2),2)=0
使用RIGHT函数提取金额小数点右边的2位数字,判定角位及分位是否都是0;两个减号是将文本数值转真正数值
◆TEXT(LEFT(RIGHT(RMB(A2),2),1),"[dbnum2]0角;;零")
分位部分
TEXT(RIGHT(RMB(A2),1),"[dbnum2]0分;;")
◆解释同上