宝哥软件园

excel格式人民币阿拉伯数字转换成中文大写

编辑:宝哥软件园 来源:互联网 时间:2021-09-28

前一篇文章提到了一种将人民币数字转换成中文大写的方法:NUMBERSTRING函数。但是NUMBERSTRING函数的局限性是只能计算整数,四舍五入小数部分。

下图:

单元格格式存在缺陷。

设置单元格格式,可以设置为【特殊】——【中文大写数字】,但小数部分只能逐字翻译成大写,不能写成“几毛钱”。

以上两种方法都不行,只好求助于函数。

功能实现

公式

=replace(replace)(IF(-RMB(A2,2),TEXT(A2),))文本(int (ABS (a2) 0.5%),“[dbnum 2]g/常用格式元素; ")文字(右(RMB (a2,2),2),"[dbnum2] 0角度0分钟;整”)、“零元”)、“零角”、if (a2 21、“零”))、“零分”、“整”)。

公式逐步分析

-人民币(A2,2)

将人民币格式的数值四舍五入为两位数,并转换为文本;

TEXT(A2,";否定的”)

如果A2的数量小于0,则返回字符“负”。

文本(int (ABS (a2) 0.5%),"[dbnum 2]g/常用格式元素; ")

取金额的绝对值,将整数部分换算成大写,避免0.5%为0.999元时的计算误差。

文字(右(RMB (a2,2),2),"[dbnum2] 0角度0分钟;整体”)

金额的小数部分转换为资本;

IF(-RMB(A2,2),TEXT(A2,";"))文本(int (ABS (a2) 0.5%),“[dbnum 2]g/常用格式元素; ")文字(右(RMB (a2,2),2),"[dbnum2] 0角度0分钟;整”)、“零元整”)

IF判断,如果金额不是0分,则返回资金结果,否则只返回零元;

最后,用“零”替换“零角度”,用“整体”替换“零点”,两个replace函数。

更多资讯
游戏推荐
更多+