本文转载自公众号:涂涂说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分;;') ◆解释同上 |
|