excel格式人民币阿拉伯数字转换成中文大写
前一篇文章提到了一种将人民币数字转换成中文大写的方法: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函数。
版权声明:excel格式人民币阿拉伯数字转换成中文大写是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。