关于数字转人民币大写形式的几种方法(包含宏)
10种Excel人民币小写转大写的函数公式
分享10种Excel人民币小写转大写的函数公式=TEXT(INT(A5),”[DBNum2]“)&”元”&TEXT(INT(A5*10)-INT(A5)*10,”[DBNum2]“)&”角”&TEXT(INT(A5*100)-INT(A5*10)*10,”[DBNum2]“)&”分”=IF(A5<0,REPLACE(IF(TRUNC(A5)=A5,TEXT(A5,”[DBNum2]“)&”元整”,IF(TRUNC(A5*10)=A5*10,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&TEXT(RIGHT(A5),”[DBNum2]“)&”角整”,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&IF(ISNUMBER(FIND(“.0″,A5)),”零”,TEXT(LEFT(RIGHT(A5,2)),”[DBNum2]“)&”角”)&TEXT(RIGHT(A5),”[DBNum2]“)&”分”)),1,1,”负”),IF(TRUNC(A5)=A5,TEXT(A5,”[DBNum2]“)&”元整”,IF(TRUNC(A5*10)=A5*10,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&TEXT(RIGHT(A5),”[DBNum2]“)&”角整”,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&IF(ISNUMBER(FIND(“.0″,A5)),”零”,TEXT(LEFT(RIGHT(A5,2)),”[DBNum2]“)&”角”)&TEXT(RIGHT(A5),”[DBNum2]“)&”分”)))=IF(A5<0,REPLACE(IF(TRUNC(A5)=A5,TEXT(A5,”[DBNum2]“)&”元整”,IF(TRUNC(A5*10)=A5*10,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&TEXT(RIGHT(A5),”[DBNum2]“)&”角整”,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&IF(ISNUMBER(FIND(“.0″,A5)),”零”,TEXT(LEFT(RIGHT(A5,2)),”[DBNum2]“)&”角”)&TEXT(RIGHT(A5),”[DBNum2]“)&”分”)),1,1,”负”),IF(TRUNC(A5)=A5,TEXT(A5,”[DBNum2]“)&”元整”,IF(TRUNC(A5*10)=A5*10,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&TEXT(RIGHT(A5),”[DBNum2]“)&”角整”,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&IF(ISNUMBER(FIND(“.0″,A5)),”零”,TEXT(LEFT(RIGHT(A5,2)),”[DBNum2]“)&”角”)&TEXT(RIGHT(A5),”[DBNum2]“)&”分”)))=IF(ISNUMBER(A5),IF(TRUNC(A5)=0,IF(AND(MID(TEXT(TRUNC(A5,2),”0.00″),LEN(TEXT (TRUNC(A5,2),”0.00″))-1,1)=”0″,RIGHT(TEXT(TRUNC(A5,2),”0.00″),1)=”0″),”零元”,”"),TEXT(TRUNC(A5),”[DBNUM2]“)&”元”)&(IF(MID(TEXT(TRUNC(A5,2),”0.00″),LEN(TEXT(TRUNC(A5,2),”0.00″))-1,1)=”0″,IF( OR(TRUNC(A5)=0,RIGHT(TEXT(TRUNC(A5,2),”0.00″),1)=”0″),”",”零”),TEXT(MID(A5,LEN(TEXT(TRUNC(A5,2),”0.00″))-1,1),”[DBNUM2]“)&”角”))&(IF(RIGHT(TEXT(TRUNC(A5,2),”0.00″),1)=”0″,”",TEXT(RIGHT(TEXT(TRUNC(A5,2) ,”0.00″),1),”[DBNUM2]“)&”分”)),IF(A5=”",”",”不是有效金额,请重新输入!”))=IF(ISNUMBER(A5),IF(TRUNC(A5)=0,IF(AND(MID(TEXT(TRUNC(A5,2),”0.00″),LEN(TEXT (TRUNC(A5,2),”0.00″))-1,1)=”0″,RIGHT(TEXT(TRUNC(A5,2),”0.00″),1)=”0″),”零元”,”"),(IF(A5<0,”负”,”"))&TEXT(TRUNC(ABS(A5)),”[DBNUM2]“)&”元”)&(IF(MID(TEXT(TRUNC(ABS(A5),2),”0.00″),LEN(TEXT(TRUNC(ABS(A5),2),”0.00″))-1 ,1)=”0″,IF(OR(TRUNC(ABS(A5))=0,RIGHT(TEXT(TRUNC(ABS(A5),2),”0.00″),1)=”0″),”",”零”),TEXT(MID(ABS(A5),LEN(TEXT(TRUNC(ABS(A5),2),”0.00″))-1,1),”[DBNUM2]“)&”角”))&(IF(RIGHT(TEXT(TRUNC(ABS(A5),2),”0.00″),1)=”0″,”",TEXT(RIGHT(TEXT(TRUNC( ABS(A5),2),”0.00″),1),”[DBNUM2]“)&”分”)),”不是有效金额,请重新输入!”)=IF(A5=0,”",CONCATENATE(IF(INT(A5)=0,”",TEXT(INT(A5),”[DBNum2]G/通用格式元”)),IF(INT(MID(RIGHT(FIXED(A5,2,1),2),1,1))=0,IF(INT(MID(RIGHT(FIXED(A5,2,1),1), 1,1))=0,”",IF(INT(A5)=0,”",”零”)),TEXT(INT(MID(RIGHT(FIXED(A5,2,1),2),1,1)),”[DBNum2]G/通用格式角”)),IF(INT(MID(RIGHT(FIXED(A5,2,1),1),1,1))=0,”整”,TEXT(INT(MID(RIGHT(FIXED(A5,2,1),1),1,1)),”[DBNum2]G/通用格式分”))))=IF(A5=0,”",CONCATENATE(IF(INT(ABS(A5))=0,”",TEXT(INT(ABS(A5)),”[DBNum2]G/通用格式元”)),IF(INT(MID(RIGHT(FIXED(ABS(A5),2,1),2),1,1))=0,IF(INT(MID(RIGHT(FIXED(A5,2 ,1),1),1,1))=0,”",IF(INT(ABS(A5))=0,”",”零”)),TEXT(INT(MID(RIGHT(FIXED(A5,2,1),2),1,1)),”[DBNum2]G/通用格式角”)),IF(INT(MID(RIGHT(FIXED(A5,2,1),1),1,1))=0,”整”,TEXT(INT(MID(RIGHT(FIXED(A5,2,1),1),1,1)),”[DBNum2]G/通用格式分”))))=IF(A5<0,”负”,”")&IF(TRUNC(A5)=A5,TEXT(IF(A5<0,-A5,A5),”[DBNum2]“)&”元整”,IF(TRUNC(A5*10)=A5*10,TEXT(TRUNC(IF(A5<0,-A5,A5)),”[DBNum2]“)&”元”&TEXT(RIGHT(A5),”[DBNum2]“)&”角整”,TEXT(TRUNC(A5),”[DBNum2]“)&”元”&IF(ISNUMBER(FIND(“.0″,A5)),”零”,TEXT(LEFT(RIGHT(A5,2)),”[DBNum2]“)&”角”)&TEXT(RIGHT(A5),”[DBNum2]“)&”分”))=IF(ISERROR(FIND(“.”,A5)),NUMBERSTRING(INT(A5),2)&”元整”,IF(ISERROR(NUMBERSTRING(MID(A5,FIND(“.”,A5)+2,1),2)),NUMBERSTRING(INT(A 5),2)&”元”&NUMBERSTRING(MID(A5,FIND(“.”,A5)+1,1),2)&”角”,NUMBERSTRING(INT(A5),2)&”元”&NUMBERSTRING(MID(A5,FIND(“.”,A5)+1,1),2)&”角”&NUMBERSTRING(MID(A5,FIND(“.”,A5)+2,1),2)&”分”))=IF(MOD(A5,1)=0,NUMBERSTRING(A5,2)&”元整”,IF(ISERROR(NUMBERSTRING(MID(A5,FIND(“.”,A5)+2,1),2)),NUMBERSTRING(INT(A 5),2)&”元”&NUMBERSTRING(MID(MOD(A5,1),3,1),2)&”角”,NUMBERSTRING(INT(A5),2)&”元”&NUMBERSTRING(MID(MOD(A5,2),3,1),2)&”角”&NUMBERSTRING(MID(ROUND(MOD(A5,1),3),4,1),2)&”分”))。
把单元格中数字快速转化为中文大写的方法
把单元格中数字快速转化为中文大写的方法将单元格中数字快速转化为中文大写的方法介绍在Excel中,有时我们需要将数字转化为中文大写,例如将12345转化为一万二千三百四十五。
本文将介绍几种快速将单元格中数字转化为中文大写的方法。
方法一:使用Excel自带函数Excel自带了一个函数=TEXT(value, "[$-0804][DBNum2]G/通用格式"),可以将数字转化为中文大写形式。
使用步骤: 1. 在一个空白单元格中输入=TEXT(A1, "[$-0804][DBNum2]G/通用格式"),其中A1为要转化的数字所在的单元格。
2. 按下Enter键即可看到转化后的中文大写数字。
方法二:使用VBA宏如果需要频繁使用该功能,可以使用VBA宏将其封装为一个函数,以便更加方便地调用。
使用步骤: 1. 按下ALT + F11打开VBA编辑器。
2. 在VBA编辑器中,选择要添加宏的工作簿。
3. 在模块中,插入以下VBA代码:Function ChineseNumber(ByVal Value As Variant) As S tringDim MyNumber As CurrencyDim DecimalPlace As IntegerDim Count As IntegerDim DecimalSeparator As StringDim Temp As StringDim DecimalValue As StringDim DecimalWords As StringDim ReturnValue As StringDecimalSeparator = "点"ReDim Place(9) As StringPlace(2) = "十"Place(3) = "百"Place(4) = "千"Place(5) = "万"Place(6) = "十"Place(7) = "百"Place(8) = "千"Place(9) = "亿"' Convert MyNumber to string, separate integral and decimalMyNumber = Trim(CStr(Value))DecimalPlace = InStr(MyNumber, ".")If DecimalPlace > 0 ThenDecimalValue = GetTens(Left(Mid(MyNumber, Decima lPlace + 1) & "00", 2))MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))If Temp <> "" Then ReturnValue = Temp & Place(Co unt) & ReturnValueIf Len(MyNumber) > 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3) ElseMyNumber = ""End IfCount = Count + 1LoopSelect Case ReturnValueCase ""ReturnValue = "零"Case "一十"ReturnValue = "十"End SelectChineseNumber = ReturnValue & DecimalSeparator & Dec imalValueEnd FunctionFunction GetHundreds(ByVal MyNumber)Dim Result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" & MyNumber, 3)' Convert the hundreds place.If Mid(MyNumber, 1, 1) <> "0" ThenResult = GetDigit(Mid(MyNumber, 1, 1)) & "百"End If' Convert the tens and ones place.If Mid(MyNumber, 2, 1) <> "0" ThenResult = Result & GetTens(Mid(MyNumber, 2))ElseResult = Result & GetDigit(Mid(MyNumber, 3))End IfGetHundreds = ResultEnd FunctionFunction GetTens(TensText)Dim Result As StringResult = "" ' Null out the temporary funct ion value.If Val(Left(TensText, 1)) = 1 Then ' If value betw een 10-19...Select Case Val(TensText)Case 10: Result = "十"Case 11: Result = "十一"Case 12: Result = "十二"Case 13: Result = "十三"Case 14: Result = "十四"Case 15: Result = "十五"Case 16: Result = "十六"Case 17: Result = "十七"Case 18: Result = "十八"Case 19: Result = "十九"Case ElseEnd SelectElse ' If value betw een 20-99...Select Case Val(Left(TensText, 1))Case 2: Result = "二十"Case 3: Result = "三十"Case 4: Result = "四十"Case 5: Result = "五十"Case 6: Result = "六十"Case 7: Result = "七十"Case 8: Result = "八十"Case 9: Result = "九十"Case ElseEnd SelectResult = Result & GetDigit _(Right(TensText, 1)) ' Retrieve ones place. End IfGetTens = ResultEnd FunctionFunction GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = "一"Case 2: GetDigit = "二"Case 3: GetDigit = "三"Case 4: GetDigit = "四"Case 5: GetDigit = "五"Case 6: GetDigit = "六"Case 7: GetDigit = "七"Case 8: GetDigit = "八"Case 9: GetDigit = "九"Case Else: GetDigit = ""End SelectEnd Function4.按下CTRL + S保存宏。
Excel中如何将货币数值由数字金额自动转为中文大写金额
Excel中如何将货币数值由数字金额自动转为中文大写金额使用Excel时有时会用数据的转换,尤其是做财务工作,如工资表等时就需要用中文大写金额。
如果手动输入,就会麻烦一些,多的时候也会增加了工作量。
我们可以使用Excel中的函数来实现将货币数值由数字金额自动转换成中文大写金额。
本文以一份表格为例讲解如何将数字金额转换为中文大写金额。
先在Excel表格中算出合计金额,如下图。
利用公式把小写的货币转换为中文大写,并写在合并的单元格中。
公式如下:=IF((I41-INT(I41))=0,TEXT(I41,"[DBNUM2]")&"元整",IF(INT(I41*10)-I41*10=0,TEXT(INT(I41),"[DBNUM2]")&"元"&TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角整",TEXT(INT(I41),"[DBNUM2]")&"元"&IF(INT(I41*10)-INT(I41)*10,"零",TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(I41,1),"[DBNUM2]")&"分"))。
把公式输入合计右边的合并单元格中,如下图。
输入后的显示结果如下图。
公式中一共用到了4函数,文本连接符“&”及相应的汉字。
下面对这4种函数做个讲解:IF函数:是一个条件判断函数,该函数的基本格式是:IF(a,b,c),其中“a”是一个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成立,那么结果是b,否则结果就是c。
excel数字大写转换公式
excel数字大写转换公式Excel是一款功能强大的电子表格软件,它不仅可以进行数据的计算和分析,还可以对数据进行格式化和展示。
其中一个常用的功能就是将数字转换为大写的金额,这在一些财务报表和合同中非常常见。
本文将介绍关于Excel数字大写转换公式的使用方法和注意事项。
我们需要明确一点,Excel并没有内置的函数来直接将数字转换为大写金额。
因此,我们需要使用一些自定义的公式来实现这个功能。
下面是一个常用的公式:```=UPPER(TEXT(A1,"[$-0804][DBNum2]G/通用格式"))```这个公式使用了TEXT函数和UPPER函数来实现金额的大写转换。
其中,A1表示要转换的单元格,你可以根据自己的需求来修改。
这个公式的一个特点是,它可以将小数点后两位的金额转换为大写,而不仅仅是整数部分。
需要注意的是,这个公式中的“[$-0804][DBNum2]G/通用格式”部分是一个格式代码,它可以将金额以大写的形式显示出来。
在使用时,你可以根据自己的需要选择其他的格式代码,比如“[$-0804][DBNum2]G/货币”可以将金额以货币的形式显示出来。
这个公式还有一个限制,就是它只能将金额转换为大写的中文形式。
如果你需要将金额转换为其他语言的大写形式,那么你可能需要使用其他的公式或者宏来实现。
除了上面介绍的公式,还有一些其他的方法可以实现金额的大写转换。
比如,你可以使用VBA宏来编写一个自定义的函数,然后在Excel中调用这个函数来实现转换。
不过,这个方法需要一些编程的知识,对于一般用户来说可能比较复杂。
除了将数字转换为大写金额,Excel还有很多其他的数字格式化功能。
比如,你可以使用“¥0.00”格式将数字显示为带有货币符号的两位小数形式。
你还可以使用“0.00%”格式将数字显示为百分比形式。
这些功能都可以在Excel的格式化选项中找到,非常方便。
Excel的数字大写转换功能是一个非常实用的功能,可以帮助我们更好地展示和格式化数据。
大写金额转换使用方法
大写金额转换使用方法在日常生活和工作中,我们常常需要将数字金额转换成大写金额,以便于书写和阅读。
本文将介绍大写金额转换的使用方法。
一、规则概述大写金额转换的规则主要包括以下几点:1.整数部分要先转换成大写,然后加上“元”字;2.小数部分要先转换成大写,然后依次加上“角”、“分”字;3.如果金额是整数,可以省略小数部分;4.如果金额是零,应该写成“零元整”。
二、整数部分的转换整数部分的转换需要掌握数字和单位的对应关系。
下面是数字和单位的对应表:数字单位0 零1 壹2 贰3 叁4 肆5 伍6 陆7 柒8 捌9 玖单位单位1 元10 十100 百1000 千10000 万100000000 亿在转换整数部分时,需要先将金额按四位一组进行分割,然后依次转换每一组的金额。
例如,假设我们要将“123456789”转换成大写金额,可以按以下步骤进行:1.将“123456789”分割成三组:“1234”、“5678”、“9”;2.依次转换每一组的金额,得到“壹万贰仟叁百肆十五亿陆仟柒百八十九元”。
三、小数部分的转换小数部分的转换需要掌握数字和单位的对应关系。
下面是数字和单位的对应表:数字单位0 零1 壹2 贰3 叁4 肆5 伍6 陆7 柒8 捌9 玖单位单位0.1 角0.01 分在转换小数部分时,需要先将小数点后面的数字依次转换成大写金额,然后依次加上“角”和“分”字。
例如,假设我们要将“123.45”转换成大写金额,可以按以下步骤进行:1.将小数点后面的数字依次转换成大写金额,得到“壹佰贰拾叁角肆分”;2.依次加上“角”和“分”字,得到“壹佰贰拾叁元肆角伍分”。
四、特殊情况的处理在实际使用中,可能会遇到一些特殊情况,需要特别注意。
下面是一些常见的特殊情况及其处理方法:1.金额为零的情况:应该写成“零元整”。
2.金额为整数的情况:可以省略小数部分。
3.金额为一百或一千的情况:应该写成“壹佰元整”或“壹仟元整”,而不是“一百元整”或“一千元整”。
在EXCEL中将数字转换为人民币大写的三种方式
鉴于本身提供将数字转换为大写表示地功能根本不能正常应用在实际投标或财务应用之中,所以要自己建设,暂时找到了三种实现途径,经过测试均功能正常,还有一种是在书上找到地,懒得进来了,反正也差不多了.方法,通过在表格框(例如在“”单元)中直接输入以下公式:(<,"金额为负无效",(((""),"(人民币)零元",(<,"(人民币)",((),"[](人民币)通用格式")"元"))))(((*)()*),((*)(*)*,"","零"),(((*)()*,"[]")"角"))(((*)(*)*),"整",(((*)(*)*),"[]")"分") 个人收集整理勿做商业用途然后在“”中输入数字,就可看到效果.方法,通过(宏)输入转换公式: 点击菜单“工具”>“宏”>“编辑器”,在编辑器窗口中,点击菜单“插入”>“模块”,在出现地窗口中输入以下内容:个人收集整理勿做商业用途( ) ' 人民币中文大写函数"分角元拾佰仟万拾佰仟亿拾佰仟万""壹贰叁肆伍陆柒捌玖""整零元零零零万零零零亿零零零万"< "(负)"((), "") *> : "数字超出转换范围!!":: "零元零分":(())()' 数字转换过程((, , ))<> ' 非零数字转换(, , ) (, , )' 数字零地转换(, ) <> "零"(, , )' 特殊数位转换(, () ) (, , ),(, () ) (, , ) "零"(, () , ) <> "亿"(, () ) (, , ) "零""(人民币)" ()个人收集整理勿做商业用途然后切换回,在“”单元中输入数字,在“”单元中输入:“()”,就可看到效果.个人收集整理勿做商业用途方法,同样是通过公式,方法同上,公式如下:( ) ',"" '定义位置代码"" '定义汉字缩写"零壹贰叁肆伍陆柒捌玖拾佰仟萬億圆整角分" '定义大写汉字(, ".") > (, (, ".") )个人收集整理勿做商业用途() > "数目太大,无法换算!请输入一亿亿以下地数字", , "错误提示": '只能转换一亿亿元以下数目地货币!个人收集整理勿做商业用途(, "") '格式化货币""()(, , ) (, () , )(, ) """" '***元整((, ), ) "" (, ) "" '*元*角*分(, "", "") '避免零千(如:肆萬零千零贰佰)(, "", "") '避免零百(如:肆萬壹千零佰)(, "", "") '避免零十(如:贰佰零拾零肆)个人收集整理勿做商业用途<> (, "", "")(, "", "") '避免双零(如:壹仟零零肆)(, "", "") '避免零億(如:億贰佰壹十零億)(, "", "") '避免零萬(如:萬贰佰壹十零萬)(() (, ) "", (, () ), ) '避免壹十(如:壹拾肆;壹拾)(() , (, ".", ""), (, ".", ".")) '避免零元(如:贰拾零圆;零圆壹角贰分)个人收集整理勿做商业用途(, (, , ), (, , )) '大写汉字"(人民币)"个人收集整理勿做商业用途切换回,在“”单元中输入数字,在“”单元中输入:“()”,就可看到效果.个人收集整理勿做商业用途实现地效果比较如下:(人民币)壹仟贰佰叁拾肆元伍角整直接公式(人民币)壹仟贰佰叁拾肆元伍角整()(人民币)壹仟贰佰叁拾肆圆伍角零分()。
关于把金额转换成大写技巧集萃
关于把金额转换成大写技巧集萃这段时间不少朋友在询问怎样把金额转换成大写的办法。
本来坛子里已经有不少这方面的帖子了,为了避免重复发帖,特在此将论坛里关于这一问题的办法汇聚于此。
当然,大家如果有什么新的思路和办法也可以在此跟帖。
今后如果有类似提问将被指向此帖假设A1单元格为原始数据一、公式法一:=IF(A1=0,"零元整",IF(A1<0,"负",)&IF(INT(ABS(A1)),TEXT(INT(ABS(A1)),"[dbnum2]")&"元",)&IF(INT(ABS(A1)*10)-INT(ABS(A1))*10,TEXT(INT(ABS(A1)*10)-INT(ABS(A1))*10,"[db num2]")&"角",IF(INT(ABS(A1))=ABS(A1),,"零"))&IF(ROUND(ABS(A1)*100-INT(ABS(A1)*10)*10,),TEXT(ROUND(ABS(A1)*100-INT(AB S(A1)*10)*10,),"[dbnum2]")&"分","整"))二、公式法二:=IF(A1<0,"负",)&TEXT(TRUNC(ABS(A1)),"[DBNum2]G/通用格式")&"元"&IF(ROUND(A1,3)=ROUND(A1,),"整",TEXT(RIGHT(TRUNC(A1*10),1),"[DBNum2]G/通用格式")&"角"&IF(ROUND(A1,3)=ROUND(A1,1),"整",TEXT(RIGHT(ROUND((A1*100),),1),"[DBNum2]G/通用格式")&"分"))三、公式法三:=CONCA TENATE(TEXT(INT(A1),"[DBNum2][$-804]G/通用格式")&"元"&IF((INT(A1*10)-INT(A1)*10)=0,"",TEXT(IF(AND(CEILING(A1*100,1)-INT(A1*10)*10=1 0,INT(A1*1000)-INT(A1*100)*10>=5),INT(A1*10)-INT(A1)*10+1,INT(A1*10)-INT(A1)*10), "[DBNum2][$-804]G/通用格式")&"角")&IF(OR(INT(A1*100)-INT(A1*10)*10=0,(IF(INT(A1*1000)-INT(A1*100)*10>=5,CEILING( A1*100,1)-INT(A1*10)*10=10,FALSE))),"整",(IF(INT(A1*1000)-INT(A1*100)*10>=5,(IF(CEILING(A1*100,1)-INT(A1*10)*10=10,"",(TE XT(CEILING(A1*100,1)-INT(A1*10)*10,"[DBNum2][$-804]G/通用格式")&"分"))),(TEXT(INT(A1*100)-INT(A1*10)*10,"[DBNum2][$-804]G/通用格式")&"分")))),"(¥",FIXED(A1,2,TRUE),"元)")四、VBA代码法(自定义函数)Public Function BigNum(xiaoxie As Currency)Application.VolatileDim fuhao As Stringfuhao = ""If xiaoxie < 0 Thenxiaoxie = -xiaoxiefuhao = "负"End IfIf xiaoxie = 0 ThenBigNum = "零元整"ElseConst cNum = "零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"Const cCha = "零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整"BigNum = ""sNum = Trim(Str(Int(Round(xiaoxie, 2) * 100)))For i = 1 To Len(sNum)BigNum = BigNum + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)Next iFor i = 0 To 11BigNum = Replace(BigNum, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1))Next iBigNum = fuhao + BigNumEnd IfEnd Function上面四种办法中,方法一和方法四等价;方法二、三和方法一、四的区别只是整数部分为零时,方法一、四不显示“零元”,而直接显示“角分”;方法三在方法2的基础上加上了数字显示,下面是不同数据在四种方法中的显示结果:原始数据方法一方法二方法三方法四0.12 壹角贰分零元壹角贰分零元壹角贰分(¥0.12元) 壹角贰分1.02 壹元零贰分壹元零角贰分壹元贰分(¥1.02元) 壹元零贰分1001001 壹佰万壹仟零壹元整壹佰万壹仟零壹元整壹佰万壹仟零壹元整(¥1001001.00元) 壹佰万壹仟零壹元整0 零元整零元整零元整(¥0.00元) 零元整-25001 负贰万伍仟零壹元整负贰万伍仟零壹元整-贰万伍仟零壹元整(¥-25001.00元) 负贰万伍仟零壹元整这个功能更强大、全面下面是转的其他朋友的VBA作品,功能更为强大:Public Function AAA(number As Variant) As StringIf (IsNull(number)) ThenAAA = "错误:传入负值或Null值"ElseSelect Case numberCase 0: AAA = "零"Case 1: AAA = "壹"Case 2: AAA = "贰"Case 3: AAA = "叁"Case 4: AAA = "肆"Case 5: AAA = "伍"Case 6: AAA = "陆"Case 7: AAA = "柒"Case 8: AAA = "捌"Case 9: AAA = "玖"Case 10 ^ 1: AAA = "分"Case 10 ^ 2: AAA = "角"Case 10 ^ 3: AAA = "元"Case 10 ^ 4, 10 ^ 8, 10 ^ 12: AAA = "拾"Case 10 ^ 5, 10 ^ 9, 10 ^ 13: AAA = "佰"Case 10 ^ 6, 10 ^ 10, 10 ^ 14: AAA = "仟"Case 10 ^ 7: AAA = "萬"Case 10 ^ 11: AAA = "亿"End SelectEnd IfEnd FunctionPublic Function abc(number As Variant, canshu As Long) As StringDim C, D, Y, X, Z As StringDim A, b, kA = Int(number * 100 + 0.5)b = Len(CStr(A))D = CStr(A)If (b > 14) Then MsgBox "数字过大无法转换": Exit FunctionIf (number < 0) Then MsgBox "错误:不可传入负值": Exit FunctionIf A = 0 Then abc = "": Exit FunctionFor k = 1 To bSelect Case canshuCase 1Y = AAA(Mid(D, b - k + 1, 1)) + AAA(10 ^ k)Select Case kCase 1If Mid(D, b, 1) = "0" Then C = "整" Else C = Y + CCase 2, 4, 5, 6, 8, 9, 10, 12, 13, 14If Mid(D, b - k + 1, 2) = "00" Then C = C _Else: _If Mid(D, b - k + 1, 1) = "0" And Mid(D, b - k + 2, 1) <> "0" Then _ C = "零" + C Else: C = Y + CCase 7If b >= 11 ThenIf Mid(D, b - k - 2, 4) = "0000" ThenC = CElseIf Mid(D, b - k + 1, 1) = "0" And Mid(D, b - k + 2, 1) = "0" _Then C = AAA(10 ^ k) + C _Else: If Mid(D, b - k + 1, 1) = "0" And Mid(D, b - k + 2, 1) <> "0" _ Then C = AAA(10 ^ k) + "零" + C Else: C = Y + CEnd IfElseIf Mid(D, b - k + 1, 1) = "0" And Mid(D, b - k + 2, 1) = "0" _Then C = AAA(10 ^ k) + C _Else: If Mid(D, b - k + 1, 1) = "0" And Mid(D, b - k + 2, 1) <> "0" _ Then C = AAA(10 ^ k) + "零" + C Else: C = Y + CEnd IfCase 3, 11If Mid(D, b - k + 1, 1) = "0" And Mid(D, b - k + 2, 1) = "0" _Then C = AAA(10 ^ k) + C _Else: If Mid(D, b - k + 1, 1) = "0" And Mid(D, b - k + 2, 1) <> "0" _Then C = AAA(10 ^ k) + "零" + C Else: C = Y + CEnd SelectCase 2C = AAA(Mid(D, b - k + 1, 1)) + " " + CCase 3C = AAA(Mid(D, b - k + 1, 1)) + AAA(10 ^ k) + CEnd SelectNextabc = CEnd Function好,我也来发一个Function dxje(q)ybb = Round(q * 100)y = Int(ybb / 100)j = Int(ybb / 10) - y * 10f = ybb - y * 100 - j * 10zy = Application.WorksheetFunction.Text(y, "[dbnum2]")zj = Application.WorksheetFunction.Text(j, "[dbnum2]")zf = Application.WorksheetFunction.Text(f, "[dbnum2]")dxje = zy & "元" & "整"d1 = zy & "元"If f <> 0 And j <> 0 Thendxje = d1 & zj & "角" & zf & "分" If y = 0 Thendxje = zj & "角" & zf & "分"End IfEnd IfIf f = 0 And j <> 0 Thendxje = d1 & zj & "角" & "整"If y = 0 Thendxje = zj & "角" & "整"End IfEnd IfIf f <> 0 And j = 0 Thendxje = d1 & zj & zf & "分"If y = 0 Thendxje = zf & "分"End IfEnd IfIf q = "" Thendxje = 0End IfEnd Function。
在EXCEL中将数字转换为人民币大写的三种方式
在EXCEL中将数字转换为人民币大写的三种方式鉴于EXCEL本身提供将数字转换为大写表示的功能根本不能正常应用在实际投标或财务应用之中,所以要自己建设,暂时找到了三种实现途径,经过测试均功能正常,还有一种是在书上找到的,懒得KEYIN进来了,反正也差不多了。
方法1,通过在EXCEL表格框(例如在“B1”单元)中直接输入以下公式:=IF(A1<0,"金额为负无效",(IF(OR(A1=0,A1=""),"(人民币)零元",IF(A1<1,"(人民币)",TEXT(INT(A1),"[dbnum2](人民币)G/通用格式")&"元"))))&IF((INT(A1*10)-INT(A1)*10)=0,IF(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”中输入数字,就可看到效果。
方法2,通过VBA(宏)输入转换公式: 点击菜单“工具”->“宏”->“VisualBasic编辑器”,在编辑器窗口中,点击菜单“插入”->“模块”,在出现的窗口中输入以下内容:Function daxie(ByVal Num) ' 人民币中文大写函数Application.Volatile TruePlace = "分角元拾佰仟万拾佰仟亿拾佰仟万"Dn = "壹贰叁肆伍陆柒捌玖"D1 = "整零元零零零万零零零亿零零零万"If Num < 0 Then FuHao = "(负)"Num = Format(Abs(Num), "###0.00") * 100If Num > 999999999999999# Then: daxie = "数字超出转换范围!!": Exit FunctionIf Num = 0 Then: daxie = "零元零分": Exit FunctionNumA = Trim(Str(Num))NumLen = Len(NumA)For J = NumLen To 1 Step -1 ' 数字转换过程temp = Val(Mid(NumA, NumLen - J + 1, 1))If temp <> 0 Then ' 非零数字转换NumC = NumC & Mid(Dn, temp, 1) & Mid(Place, J, 1) Else ' 数字零的转换If Right(NumC, 1) <> "零" ThenNumC = NumC & Mid(D1, J, 1)ElseSelect Case J ' 特殊数位转换Case 1NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1)Case 3, 11NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"Case 7If Mid(NumC, Len(NumC) - 1, 1) <> "亿" ThenNumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"End IfCase ElseEnd SelectEnd IfEnd IfNextdaxie = "(人民币)" & FuHao & Trim(NumC)End Function然后切换回excel,在“A2”单元中输入数字,在“B2”单元中输入:“=DaXie(A2)”,就可看到效果。
Excel--手把手教你转换出中文大写金额
手把手教你转换出中文大写金额大家在使用Excel的时候,是否会遇到要把一个或一些阿拉伯数字转换成中文大写金额的计算要求呢?如果只是偶尔需要对少数几个数字进行转换,干脆手工操作啦,但如果要进行转换的数字较多或经常要转换时,该怎么办呢?一向无往不胜的Excel能为你做些什么呢?其实,这个不难,最少有三种方法可以实现。
一、设置单元格格式:用这个办法能直接将阿拉伯数字转换成中文大写金额,而且操作简单。
右击需要转换的单元格,在弹出的快捷菜单中选择“单元格格式”,然后在“数字”选项卡中选择“自定义”,在“类型”中写入“[DBNum2]G/通用格式"元"”后按确定即可。
瞧,321是不是已经变成了“叁佰贰拾壹元”了?可惜的是,这个办法只能处理整数,而对带有小数的数字无能为力。
当然也有过朋友通过对此法进行一定的扩展而可以处理部分带小数的数字,但效果不是很理想。
二、利用公式进行转换:所谓“自力更生,丰衣足食”,这第三种方法就是自己编写公式进行转换。
为了照顾一些Excel初学者,我们先来了解一下什么是Excel里的公式与函数。
Excel之所以计算功能异常强大,百分之八十的功劳就在于用户可以创建公式进行计算。
所谓公式,实际上就是一个计算表达式(通常是包含函数与单元格引用的计算表达式)。
在Excel里,以“=”作为公式的标志,在任何一个非文本值类型的单元格内,只要以“=”开头,就必定是Excel公式,举一最简单的例子:如果A1、B1单元格的值为别为1和2,那么如果在C3单元格内输入“=A1+B1”,则Excel会自动将A1和B1的值相加,得到数值3,再返回给C3单元格。
再来说函数,函数其实就是包装好的公式,它能根据你提供的参数自动进行复杂的计算,从而最大限度地减轻你的工作量。
Excel内置了大量具备各种功能的函数,而且Excel还允许用户自己添加函数,这样一来,在Excel里几乎没有计算不出来的东西了。
excel金额转大写的公式用法
excel金额转大写的公式用法Excel中经常需要把金额转换成大写的形式,具体该怎么用公式进行转换大写格式呢?接下来是小编为大家带来的excel金额转大写的公式用法,供大家参考。
excel金额转大写的公式用法:金额转换大写步骤1:将小写数字转换成大写中文:右击需要转换的单元格,在弹出的快捷菜单中选择设置单元格格式,然后在数字选项卡中选择特殊,在类型中选择中文大写数字,这时候原来的数字为12345,在示例里已变成大写的壹万贰仟叁佰肆拾伍,然后按确定即可。
金额转换大写步骤2:右击需要转换的单元格,在弹出的快捷菜单中选择设置单元格格式,然后在数字选项卡中选择自定义,在类型中写入【[DBNum2][$-804]G/通用格式元整】,同样,在示例里已变成大写的壹万贰仟叁佰肆拾伍,然后按确定即可。
金额转换大写步骤1:= 人民币:[DBNUM2])元整,IF(INT(SUM(E2:E4)*10)-SUM(E2:E4)*10=0,TEXT(INT(SUM(E2 :E4)),[DBNUM2])元[DBNUM2])角整,TEXT(INT(SUM(E2:E4)),[DBNUM2])元零,TEXT(INT(SUM(E2:E4)*10)-INT(SUM(E2:E4))*10,[DBNUM2])角)[DBNUM2])分))(¥元)前后加插了字符串的方法,其中SUM(E2:E4)是一个求合函数,请按实际要求替换为某个单元格或另外的内容。
使用记事本的替换功能就可以了。
看了excel金额转大写的公式用法还看了:1.excel 数字小写转大写公式的教程(2种)2.怎么将Excel2007小写金额转换为大写金额3.怎么利用Excel2013把数字转为中文大写数字4.excel小写换大写函数的教程5.Excel大写字母怎么转换为小写6.excel利用公式数字转换文本的方法7.Excel2007中怎么让单元格英文小写转为大写。
中文大写金额的转换方法
中文大写金额的转换方法
将金额转换为中文大写的方法如下:
1. 将金额分为整数部分和小数部分,分别进行转换。
2. 将整数部分转换为中文大写数字。
一般来说,中文大写数字有以下几个规律:
- 数字 0 到 10 分别对应“零”、“壹”、“贰”、“叁”、“肆”、“伍”、“陆”、“柒”、“捌”、“玖”、“拾”。
- 千位、万位、亿位等整数位上的数字依次对应“仟”、“佰”、“拾”、“万”、“仟”、“佰”、“拾”、“亿”、“仟”、“佰”、“拾”等单位。
- 若某一位上的数字为 0,需要注意不重复出现 0,而是直接
跳过该位。
- 若某一位和其后面(权值较低)位上的数字都为 0,也需
要注意不重复出现单位。
3. 将小数部分转换为中文大写数字。
小数部分一般只有两位数,可以直接按照数字对应的中文大写写出即可,如“角”和“分”。
4. 合并整数部分和小数部分的转换结果,用“元”连接。
例如,假设金额为 12345.67,转换为中文大写金额的过程如下:
整数部分的转换:
12 345 的中文大写为“壹万贰仟叁佰肆拾伍”。
小数部分的转换:
67 的中文大写为“陆角柒分”。
合并整数和小数部分的结果:
“壹万贰仟叁佰肆拾伍元陆角柒分”。
excel小写转大写金额的三种常见方法Excel人民币金额自动大写
excel小写转大写金额的三种常见方法Excel人民币金额自动大写之前有财务岗的伙伴问过小雅这个问题,在工作中经常要填写中文大写金额,如果一个个填写大写金额,既耗时费力,又事半功倍。
并且面对大量数据,效率低下且极易出错。
今天小雅休息,给大家整理出来一起学习。
第一,单元格格式转大写金额1、将A列的数字小写金额,复制到B列,单击右键,选择设置单元格。
2、在左侧的类别栏中,单击:特殊,就会在右侧出现类型,选择---中文大写数字即可。
总结:这种excel自动大写金额方法优势在于速度快,不过如果带转换的小写数字含有小数,则会出错。
该方法只适合整数的转换。
第二, Numberstring函数转大写金额在Excel中有一个隐藏函数:numberstring函数,专门用来将小写数字金额转为大写金额的函数。
其函数语法为:Numberstring(number,参数),有三种参数,分别为1、2、3,其对应的转为大写的格式分别为中文大写金额,会计大写金额,数学大写金额。
请参考下面小雅的截图:总结:excel人民币金额大写使用到了numberstring函数,仅能将整数部分转为大写,无法将小数部分也转为大写金额,小数部分将四舍五入到整数部分。
第三,公式转大写金额我们在B2中输入公式:=SUBSTITUTE(SUBSTITUTE(TEXT(INT(A2),"[DBNum2][$-804]G/通用格式元"&IF(INT(A2)=A2,"整",""))&TEXT(MID(A2,FIND(".",A2&".0")+1,1),"[DBNum2][$-804]G/通用格式角")&TEXT(MID(A2,FIND(".",A2&".0")+2,1),"[DBNum2][$-804]G/通用格式分"),"零角","零"),"零分","")按回车键,双击之后就能自动填充,迅速将小写的数字金额转为标准的会计的大写数字金额。
在EXCEL中将数字转换为人民币大写的三种方式
在EXCEL中将数字转换为人民币大写的三种方式鉴于EXCEL本身提供将数字转换为大写表示的功能根本不能正常应用在实际投标或财务应用之中,所以要自己建设,暂时找到了三种实现途径,经过测试均功能正常,还有一种是在书上找到的,懒得KEYIN进来了,反正也差不多了。
方法1,通过在EXCEL表格框(例如在“B1”单元)中直接输入以下公式:=IF(A1<0,"金额为负无效",(IF(OR(A1=0,A1=""),"(人民币)零元",IF(A1<1,"(人民币)",TEXT(INT(A1),"[dbnum2](人民币)G/通用格式")&"元"))))&IF((INT(A1*10)-INT(A1)*10)=0,IF(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”中输入数字,就可看到效果。
方法2,通过VBA(宏)输入转换公式: 点击菜单“工具”->“宏”->“VisualBasic编辑器”,在编辑器窗口中,点击菜单“插入”->“模块”,在出现的窗口中输入以下内容:Function daxie(ByVal Num) ' 人民币中文大写函数Application.Volatile TruePlace = "分角元拾佰仟万拾佰仟亿拾佰仟万"Dn = "壹贰叁肆伍陆柒捌玖"D1 = "整零元零零零万零零零亿零零零万"If Num < 0 Then FuHao = "(负)"Num = Format(Abs(Num), "###0.00") * 100If Num > 999999999999999# Then: daxie = "数字超出转换范围!!": Exit FunctionIf Num = 0 Then: daxie = "零元零分": Exit FunctionNumA = Trim(Str(Num))NumLen = Len(NumA)For J = NumLen To 1 Step -1 ' 数字转换过程temp = Val(Mid(NumA, NumLen - J + 1, 1))If temp <> 0 Then ' 非零数字转换NumC = NumC & Mid(Dn, temp, 1) & Mid(Place, J, 1) Else ' 数字零的转换If Right(NumC, 1) <> "零" ThenNumC = NumC & Mid(D1, J, 1)ElseSelect Case J ' 特殊数位转换Case 1NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1)Case 3, 11NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"Case 7If Mid(NumC, Len(NumC) - 1, 1) <> "亿" ThenNumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"End IfCase ElseEnd SelectEnd IfEnd IfNextdaxie = "(人民币)" & FuHao & Trim(NumC)End Function然后切换回excel,在“A2”单元中输入数字,在“B2”单元中输入:“=DaXie(A2)”,就可看到效果。
Excel中数字转换为中文大写的几种方法
Excel中数字转换为中文大写的几种方法记得几年之前,一个朋友问我,如何在EXCEL中将金额转换成中文大写?本以为用单元格格式很容易解决,其实不然,因这其中涉及到小数点的转换及元角分的判断,所以它比想象中的问题要麻烦很多。
现整理出来,供大家参考!仔细想来,其实实现数字读法的方法实际上至少有五种,即单元格替换、VB编程法、自动更正法及工作表函数的替换法等。
用VB编程实际上是最复杂的一种方法(但也是一劳永逸的方法),在很多时候完全可以用较简单的方法实现。
以下分别介绍这几种方法。
1、单元格替换如果只是为了将数值转换为中文大写,可直接选择单元格,然后单击…格式/单元格‟,在单元格格式对话框中选择…分类/特殊‟,在…类型‟中选择…中文大写数字‟,最后单击…确定‟。
2、自动更正法使用自动更正功能,可以简化用户对大写汉字的输入操作,例如可以将“1//”定义更正为“壹”,那么当要输入“壹”时,就可通过键入“1//”来实现。
另外,这种定义以后不仅在Excel中有效,在Word中也同样有效,因为“自动更正”程序是Office组件所公用的。
用“自动更正”是最简单易行的,用户可自由、方便地输入要写的大写读法。
然而它的局限性也很明显,即它虽然给使用者提供了输入大写数字的方便手段,但终究还是需要人工输入,不能自动、实时地依当前的实际数字结果进行更新。
3、工作表函数替换法要做到数值的自动更新,一般都会想到用VB构造函数法,但其实我们可采用一个简单的方法,即工作表函数的替换法。
顾名思义,所谓“工作表函数的替换法”,就是将原来的结果换去一部分。
那么换什么,又怎样换?我们知道,在Excel中,提供了多种数字的显示格式。
其中文版实际上也包括数字的大写读法显示格式,但遗憾的是这个功能对一般用户来说基本上不能用,因为Microsoft在实现这个数字显示格式时犯了一个小小的错误,例如“33.56”这个数,它显示出来的是“叁拾叁.伍陆”。
很显然,没有将小数点作有效处理。
Excel中公式数字转化成中文人民币大写的操作方法
Excel中公式数字转化成中文人民币大写的操作方法
通过用公式以及各式法快速将数字转化为中文大写格式,中文小写格式以及纯中文计数格式。
今天,店铺就教大家在Excel中公式数字转化成中文人民币大写的操作方法。
Excel中公式数字转化成中文人民币大写的操作步骤:
打开软件在单元格输入数字,以254431031为例.
鼠标右键-单元格格式-数字-特殊-中文大写,确定后直接转化成大写.
如果转化成人民币,可直接选人民币大写,确定后在大写后加上元整.
如果微软office2003无人民币选项,可选中文大写然后选择自定义后加上"元整"即可.。
将表示金额的阿拉伯数字转换成中文大写形式
将表示金额的阿拉伯数字转换成中文大写形式对于用EXCEL来处理日常统计报表的财务人员来说,一个最令人头痛的问题,就是如何将表示金额的阿拉伯数字转换成中文大写形式。
这里给出将阿拉伯金额数字转换成中文大写形式的两种方法:内置函数法、自定义函数法,供大家参考。
本文所涉及到的Excel函数如下,点击可查阅具体的函数用法。
1、ABS(number)2、CONCATENATE(Text1,Text……)3、INT(number)4、TEXT(value,format_text)5、自定义函数一、内置函数法如图1所示,我们来将C12单元格中的数值转换为中文大写形式,并将结果保存在D12单元格中。
1、分别选中E13、F13、G13单元格,依次输入公式:=TEXT(INT(ABS(C12)),"[DBNum2]")=TEXT(INT(ABS(C12*10))-INT(ABS(C12))*10,"[DBNum2]")=TEXT(INT(ABS(C12*100))-INT(ABS(C12*10))*10,"[DBNum2]")公式含义解析:分别确定统计结果的元、角、分的数值,并将其转换为中文大写格式。
2、选中E10单元格,输入公式:=E13&"元"&F13&"角"&G13&"分",或者:=CONCATENATE(E13,"元",F13,"角",G13,"分")。
公式含义解析:将E13至G13单元格中的文本组合为一个整体,并在相应位置加上单位“元、角、分”文字。
3、再次选中E12单元格,执行“格式→条件格式”命令,打开“条件格式”对话框(如图2)。
按“条件1”下面的下拉按钮,选中“公式”选项,在后面的方框中输入“=$C$12<0”(如图2),再按“格式”按钮,在随后弹出的“单元格格式”对话框中(如图3),将“字体”颜色设置为红色,确定退出。
怎样在EXCEL中数字转人民币大写
怎样在EXCEL中数字转人民币大写1.第一种方法:通过函数嵌套实现数字转人民币大写形式的公式是:=IF(B1<0,"金额为负无效",(IF(OR(B1=0,B1=""),"(人民币)零元",IF(B1<1,"(人民币)",TEXT(INT(B1),"[dbnum2](人民币)G/通用格式")&"元"))))&IF((INT(B1*10)-INT(B1)*10)=0,IF(INT(B1*100)-INT(B1*10)*10=0,"","零"),(TEXT(INT(B1*10)-INT(B1)*10,"[dbnum2]")&"角"))&IF((INT(B1*100)-INT(B1*10)*10)=0,"整",TEXT((INT(B1*100)-INT(B1*10)*10),"[dbnum2]")&"分")数字转人民币大写形式的公式是:="大写金额:"&IF(TRIM(B1)="","",IF(B1=0,"","人民币"&IF(B1<0,"负",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B 1))*10,"[dbnum2]")&"角",IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)<0.1,,"零")))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100 -INT(ABS(B1)*10)*10,),"[dbnum2]")&"分","整")))12508.34 大写金额:壹万贰仟伍佰零捌元叁角肆分数字转人民币大写形式的公式是:="大写金额:"&IF(TRIM(B1)="","",IF(B1=0,"",""&IF(B1<0,"负",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B 1))*10,"[dbnum2]")&"角",IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)<0.1,,"零")))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100 -INT(ABS(B1)*10)*10,),"[dbnum2]")&"分","整")))这类转换的格式没有“人民币”字样1.第二种方法:通过宏VBA自定义函数实现第一步:按下ALT+F11组合键,或者是单击工具——宏——Visual Basic 编辑器,进入Visual Basic编程环境,单击“插入” 菜单——模块,复制下面代码,保存,退出关闭。
VBA数字转换中文货币大写
VBA数字转换中文货币大写《VBA数字转换中文货币大写》使用说明:本程序可在各种支持VBA语言的软件上直接使用,其中MS Excel 和MS Access已成功测试。
(把程序复制到VBA编程器里即可直接使用)程序使用方法如下图:程序:Public Function CRMB(ByVal StrRMB As String) As StringDim i As Long, k As Long, j As Long, N As LongDim RMB As String, intString As String, decString As String, tmpString() As String, cnNumber() As String, cnUnit() As String On Error GoTo cnstr_err:'初始化中文数字、单位cnNumber = Split("零,壹,贰,叁,肆,伍,陆,柒,捌,玖", ",")cnUnit = Split("分,角,元,拾,佰,仟,万,拾,佰,仟,亿,拾,佰,仟,兆,拾,佰,仟,京,拾,佰,仟,垓,拾,佰,仟", ",") decString = ""intString = StrRMBtmpString = Split(StrRMB, ".")If UBound(tmpString) ThenintString = tmpString(0)decString = tmpString(1)End IfintString = intString & Left(decString & "00", 2) k = Len(intString) - 1If k > 25 Then 'Len(cnUnit) - 1RMB = StrRMB '超出转换范围,返回原值ElseIf Val(intString) = 0 ThenRMB = ""ElseFor i = 0 To kj = Val(Mid(intString, i + 1, 1))RMB = RMB & cnNumber(j) & cnUnit(k - i) Next i RMB = Replace(RMB, "零分", "零")RMB = Replace(RMB, "零角", "零")RMB = Replace(RMB, "零拾", "零")RMB = Replace(RMB, "零佰", "零")RMB = Replace(RMB, "零仟", "零")RMB = Replace(RMB, "零零零", "零")RMB = Replace(RMB, "零零", "零")RMB = Replace(RMB, "零元", "元")RMB = Replace(RMB, "零万", "万")RMB = Replace(RMB, "零亿", "亿")RMB = Replace(RMB, "零兆", "兆")RMB = Replace(RMB, "零京", "京")RMB = Replace(RMB, "零垓", "垓")RMB = Replace(RMB, "垓京兆亿万", "垓")RMB = Replace(RMB, "垓京兆亿", "垓")RMB = Replace(RMB, "京兆亿万", "京")RMB = Replace(RMB, "垓京兆", "垓")RMB = Replace(RMB, "京兆亿", "京")RMB = Replace(RMB, "兆亿万", "兆")RMB = Replace(RMB, "垓京", "垓")RMB = Replace(RMB, "垓兆", "垓")RMB = Replace(RMB, "垓亿", "垓")RMB = Replace(RMB, "垓万", "垓")RMB = Replace(RMB, "京兆", "京")RMB = Replace(RMB, "京亿", "京")RMB = Replace(RMB, "京万", "京")RMB = Replace(RMB, "兆亿", "兆")RMB = Replace(RMB, "兆万", "兆")RMB = Replace(RMB, "亿万", "亿")If Right(RMB, 2) = "元零" Then '整元时RMB = Left(RMB, Len(RMB) - 1) & "整"ElseIf Right(RMB, 2) = "角零" Then '有角或分时RMB = Left(RMB, Len(RMB) - 1)End IfEnd Ifcnstr_exit: CRMB = RMB Exit Function cnstr_err:RMB = "" Resume cnstr_exit End Function。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于数字转人民币大写形式的几种方法
1、输入法
①QQ五笔(其他五笔未知):先键入分号,再接着键入数字,即可显示大写内容
②拼音输入(搜狗、QQ等):先键入 “V”,再接着键入数字,即可显示大写内容
以下仅限于EXCEL
2、单元格格式
①先在单元格内输入数字,再更改单元格格式为“特殊”
-一百二十三万四千五百六十七.八九
②先在单元格内输入数字,再更改单元格格式为“自定义”,选择最后一个格式:[DBNum1][$-804]G/通用格式,也可修改为[DBNum1][$-804]G/通用格式"元"
-一百二十三万四千五百六十七.八九元
3、工作表函数(具体使用时,请将下面公式其中的4处引用单元格换成实际表格里引用的单元格位置):=IF(单元格=0,"",IF(单元格<0,"负
","")&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(INT(ABS(单元格)),"[DBNum2]")&"元"&TEXT(RIGHT(TEXT(单元格,".00"),2),"[DBNum2]0角0分"),"零角零分","整"),"零分","整"),"零角","零"),"零元零",""))
-1234567.89负壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分
4、自定义函数(本文档包含自定义函数宏)
-1234567.89负壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分。