本文转载自公众号:涂涂说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))
RMB函数将数字以货币格式显示,并且小数点保留2位小数
TRUNC函数将数字的小数部分截去,返回整数
◆[dbnum2]G/通用格式元
格式转换,将数字转换为中文大写数字,比如12,转换成“壹拾贰“。前面的负字是识别”-“负号。后面的”元“字是单位
◆使用TEXT函数将整数部分的数字转为中文大写数字
角位部分
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函数将角位数字转为中文大写数字
分位部分
TEXT(RIGHT(RMB(A2),1),'[dbnum2]0分;;')
◆解释同上
联系客服