在excel中,如何使用函数将数字人民币转换成大写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在excel中,如何使用函数将数字人民币转换成大写?相关的知识,希望对你有一定的参考价值。
通过设置单元格式可以使RMB数字转换成大写格式, 如123.56=壹佰贰拾叁元伍角陆分;
但我要使用函数编写。
利用相对应的函数即可在excel中将数字人民币转换成大写,具体操作请参照以下步骤,演示软件版本为Excel2007。
1、首先在电脑上打开一个Excel文件,进入编辑区,如图所示。
2、然后在B1单元格中输入目标数字123.56,如图所示。
3、然后选中B2单元格作为结果输出单元格,如图所示。
4、然后输入下图中的函数命令,公式中的B1是之前输入阿拉伯数字的单元格。
5、按下回车键,即可得到结果。完成以上设置后,即可在excel中,使用函数将数字人民币转换成大写。
参考技术A 可以用这个函数,相对比较简单一些:=IF(A1<=0,,TEXT(INT(A1),"[dbnum2]人民币G/通用格式")&"元"&IF(INT(A1*10)-INT(A1)*10=0,IF(INT(A1)*(INT(A1*100)-INT(A1*10)*10)=0,"","零"),TEXT(INT(A1*10)-INT(A1)*10,"[dbnum2]")&"角")&IF((INT(A1*100)-INT(A1*10)*10)=0,"整",TEXT((INT(A1*100)-INT(A1*10)*10),"[dbnum2]")&"分"))
这个是A1是数字的情况下,同理,数字在哪个单元格,就直接把A1进行替换就可以了。 参考技术B 假如数据在A1单元格
=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1),IF(A1<0,"负",)&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),),"零角",IF(A1^2<1,,"零")),"零分","整")追问
好长呀,可以解释一下吗?还有没有更简单一点的方法
追答没有简单的,这是最简单的了。解释起来比较麻烦,你先了解一下SUBSTITUTE、INT、RIGHT、TEXT等函数的用法。
追问我想知道那个【dbnum】是什么意思
追答可以下拉的,你再试试。
追问谢谢,可以用,求详解!
本回答被提问者采纳 参考技术C 假设A1是你输入的数字金额,在旁边加一列如下公式:=SUBSTITUTE(SUBSTITUTE(IF(A1<0,"负","")&TEXT(TRUNC(ABS(ROUND(A1,2))),"[DBNum2]")&"圆"&IF(ISERR(FIND(".",ROUND(A1,2))),"",TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A1,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A1,2),3))=".",TEXT(RIGHT(ROUND(A1,2)),"[DBNum2]")&"分",IF(ROUND(A1,2)=0,"","整")),"零圆零",""),"零圆","")追问
我想知道这么一大串的公式解释
追答SUBSTITUTE是文本替换函数,意义不用详细说明吧。
DBNum2是格式函数,数字转换为中文大写
公式处理过程是这样的:
如果是负数,先写一个“负”字,然后再用绝对值转换为中文大写;
对于数值转换,先转换小数点前面的,即元数;
然后再处理是否有小数位,如果没有则是加“整”
如果有,再处理角和分。
选中单元格,右击——》设置单元格式——》特殊——》中文大写数字追问
我知道,可是我要的是函数!
Js将数字转化为中文大写
参考技术A function number_chinese(str)var num = parseFloat(str);
var strOutput = "",
strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
num += "00";
var intPos = num.indexOf('.');
if (intPos >= 0)
num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
strUnit = strUnit.substr(strUnit.length - num.length);
for (var i=0; i < num.length; i++)
strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(num.substr(i,1),1) + strUnit.substr(i,1);
return strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零2,/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零0,3万/, '亿').replace(/^元/, "零元")
以上是关于在excel中,如何使用函数将数字人民币转换成大写?的主要内容,如果未能解决你的问题,请参考以下文章