Excel数字大写转换
如何在EXCEL中实现数字金额转换成中文大写金额

如何在EXCEL中实现数字⾦额转换成中⽂⼤写⾦额如何在EXCEL中实现数字⾦额转换成中⽂⼤写⾦额?⼯作中经常会遇到这样的转换,特别是做财务⼯作的朋友,如果⼿⼯录⼊,很费时间⼜常常担⼼出错。
笔者参考了⼀些⽂章,根据实践,觉得下⾯的⽅法很实⽤:⽅法名:“⽤Excel函数将货币数值由阿拉伯数字⾃动⽣成为中⽂⼤写格式”假设输⼊阿拉伯数字格式⾦额的是A7单元格,要⾃动⽣成中⽂⼤写⾦额的是A8单元格,我们按照中⽂⼤写格式的特殊的要求,利⽤Excel函数对A8进⾏公式设置。
在A8单元格输⼊:=IF((A7-INT(A7))=0,TEXT(A7,"[DBNUM2]")&"元整",IF(INT(A7*10)-A7*10=0,TEXT(INT(A7)," [DBNUM2]")&"元"&TEXT((INT(A7*10)-INT(A7)*10),"[DBNUM2]")&"⾓整",TEXT(INT(A7),"[DBNUM2]")&"元"&IF(INT(A7*10)-INT(A7)*10=0,"零",TEXT(INT(A7*10)-INT(A7)*10,"[DBNUM2]")&"⾓")&TEXT(RIGHT(A7,1),"[DBNUM2]")&"分"))。
公式中共运⽤4种函数,⽂本连接符号“&”及相应的汉字。
IF函数:是⼀个条件判断函数,此函数的基本格式是:IF(a,b,c)其中“a”是⼀个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成⽴,那么结果是b,否则结果就是c。
以上公式是有四层嵌套条件判断函数,根据货币⾦额的不同情况⽣成不同格式的中⽂⼤写。
把单元格中数字快速转化为中文大写的方法

把单元格中数字快速转化为中文大写的方法将单元格中数字快速转化为中文大写的方法介绍在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数字转大写的方法数字转换成大写,如果只是一般的数字转换。
可以按下面的步骤操作:1 格式/单元格/数字选项卡中分类选“特殊”-在右侧可以找到大写格式。
如果是转换金额大写,下面是收集的超全的金额大小写转换的公式187个字符=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A2)),"[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")183个字符=SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&TEXT(INT(FIXED(ABS(A2))),"[ dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(AB S(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")既然已加为精品,那再简化一点,并把200以内的公式贴出,请大家精简或指正.作者公式长度公式wshcw 181 =SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&TEXT(INT(ABS(A2) +0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;; "&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")wshcw 183 =SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&TEXT(INT(FIXED(A BS(A2))),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")x.f.zhao 194 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&TEX T(INT(FIXED(ABS(A2))),"[dbnum2]")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]元0角0分;;元"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零元",),"零分","整"),,TEXT(INT(ABS(A2)+0.5%),"[dbnum2]")&"元")&TEXT(RIGHT(FIXED(A2),2),"[dbn um2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整") 69 =IF(A2=0,"零",IF(A2>-0.5%,,"负")&TEXT(INT(ABS(A2)),"[dbnum2]G/通用格式元;;")&SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;; "),"零角",IF(ABS(A2)<1,,"零")),"零分","整"))=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A2)),"[dbnum2]G/通用格式元;负[dbnum2]G/通用格式元;"&IF(A2>-0.5%,,"负"))&TEXT(RIGHT(FIXED(A2),2),"[db num2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整") =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(B8<0,"负",)&TEXT(INT(ABS(B8))," [dbnum2];; ")&TEXT(MOD(ABS(B8)*100,100),"[>9][dbnum2]圆0角0分;[=0]圆整;[db num2]圆零0分"),"零分","整")," 圆零",)," 圆",)=SUBSTITUTE(SUBSTITUTE(TEXT(INT(A1),"[dbnum2]G/通用格式元;;")&TEXT(R IGHT(A1/1%,2),"[dbnum2]0角0分;;"&IF(A1,"整",)),"零角","零"),"零分","整")"大写(人民币):"&IF(A1-INT(A1)<0.005,TEXT(INT(A1),"[dbnum2]")&"元整",IF(A1* 10-INT(A1*10)<0.05,TEXT(INT(A1),"[dbnum2]")&"元"&TEXT(INT(A1*10-INT(A1)* 10),"[dbnum2]")&"角整",TEXT(INT(A1),"[dbnum2]")&"元"&TEXT(INT(A1*10-INT( A1)*10),"[dbnum2]")&"角"&TEXT((FIXED(A1*100,0)-INT(A1*10)*10),"[dbnum2]") &"分"))=IF(ABS(A2)<0.5%,"",SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负",)&TEXT(INT(ABS (A2)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;整"),"零角",IF(ABS(A2)<1,,"零")),"零分","整"))um2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;"&IF(ABS(A1) >1%,"整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整")=IF(ABS(A2)<0.5%,"",SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负",)&TEXT(INT(ABS (A2)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整"),"零角",IF(ABS(A2)<1,,"零")),"零分","整"))IF(-RMB(A2),SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负",)&TEXT(INT(ABS(A2)+0.5 %),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整"),"零角",IF(ABS(A2)<1,,"零")),"零分","整"),"")=SUBSTITUTE(IF(-RMB(A2),IF(A2<0,"负",)&TEXT(INT(ABS(A2)+0.5%),"[dbnum2] G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分;[>][dbnum2]0分;整"),""),"零分","整")=SUBSTITUTE(IF(-RMB(A2),IF(A2<0,"负",)&TEXT(INT(ABS(A2)+0.5%),"[dbnum2] G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分;零[>][dbnum2]0分;整"),""),"零分","整")=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(ABS(A1)<1,,"零")),"零分","整")=TEXT(RMB(A1),"[=]g;"&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")& SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(ABS(A1)<1,,"零")),"零分","整"))SUBSTITUTE(IF(-RMB(A2),IF(A2<0,"负",)&TEXT(INT(ABS(A2)+0.5%),"[dbnum2] G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分整;"&IF(ABS(A2 )<1,,0)&"[>][dbnum2]0分;整"),),"零分",)=SUBSTITUTE(IF(-RMB(A2),IF(A2>0,,"负")&TEXT(INT(ABS(A2)+0.5%),"[dbnum2] G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分;"&IF(A2^2<1,,0)&"[>][dbnum2]0分;整"),),"零分","整")167个字符=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2),IF(A2>0,,"负")&TEXT(INT(ABS(A2)+0 .5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整") ,),"零角",IF(A2^2<1,,"零")),"零分","整")=SUBSTITUTE(IF(-RMB(A2),IF(A2<0,"负",)&TEXT(INT(ABS(A2)+0.5%),"[dbnum2] G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分整;"&IF(A2^2<1, ,0)&"[>][dbnum2]0分;整"),),"零分",)另外稍为改一下(166个字符):=TEXT(A2,";负")&SUBSTITUTE(TEXT(INT(ABS(A2)+0.5%),"[dbnum2]G/通用格式元;;")&IF(-RMB(A2),TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分整;"&IF(A2^2 <1,,0)&"[>][dbnum2]0分;整"),),"零分",)=TEXT(RMB(A1),"[=]g;"&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")& SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1^2<1,,"零")),"零分","整"))=SUBSTITUTE(IF(-RMB(A2),TEXT(A2,";负")&TEXT(INT(ABS(A2)+0.5%),"[dbnum 2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分;"&IF(A2^2<1, ,0)&"[>][dbnum2]0分;整"),),"零分","整")=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2,2),TEXT(A2,";负")&TEXT(INT(ABS(A2 )+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2,2),2),"[dbnum2]0角0分; ;整"),),"零角",IF(A2^2<1,,"零")),"零分","整")=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),"[>0][dbnum2]G/通用格式元;[<0]负[dbnu m2]G/通用格式元;;") & TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整")TEXT(INT(A3),"[dbnum2]")&"元"&IF(INT(A3*10)-INT(A3)*10=0,"",TEXT(INT(A3* 10)-INT(A3)*10,"[dbnum2]")&"角")&IF(INT(A3*100)-INT(A3*10)*10=0,"整",TEXT(I NT(A3*100)-INT(A3*10)*10,"[dbnum2]")&"分")=IF(OR(B1="",B1=0),"",TEXT(INT(B1),"[dbnum2]G/通用格式元;[dbnum2]G/通用格式元;;")&TEXT(--RIGHT(INT(B1*10)),"[dbnum2]#角;;;")&TEXT(--RIGHT(INT(B1*1 00)),"[dbnum2]#分;;整;"))。
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的数字大写转换功能是一个非常实用的功能,可以帮助我们更好地展示和格式化数据。
手把手教你转换出中文大写金额

手把手教你转换出中文大写金额大家在使用Excel的时候,是否会遇到要把一个或一些阿拉伯数字转换成中文大写金额的计算要求呢?如果只是偶尔需要对少数几个数字进行转换,干脆手工操作啦,但如果要进行转换的数字较多或经常要转换时,该怎么办呢?一向无往不胜的Excel能为你做些什么呢?其实,这个不难,最少有三种方法可以实现。
<br>一、设置单元格格式:<br>用这个办法能直接将阿拉伯数字转换成中文大写金额,而且操作简单。
右击需要转换的单元格,在弹出的快捷菜单中选择“单元格格式”,然后在“数字”选项卡中选择“自定义”,在“类型”中写入“[DBNum2]G/通用格式"元"”后按确定即可。
瞧,321是不是已经变成了“叁佰贰拾壹元”了?<br> 可惜的是,这个办法只能处理整数,而对带有小数的数字无能为力。
当然也有过朋友通过对此法进行一定的扩展而可以处理部分带小数的数字,但效果不是很理想。
<br>二、利用中文大写金额转换函数:<br>先别急,这个函数你在Excel里是找不到的,微软毕竟不是大陆公司!这个函数被收集在本站开发的“Excel扩展函数集”里,下载这个函数集,按说明进行安装后,在Excel中运用一个叫EHDXRMB()的函数就可以将任意数字转换成中文大写金额。
具体情况在此就不多进行介绍了。
<br>三、利用公式进行转换:<br>所谓“自力更生,丰衣足食”,这第三种方法就是自己编写公式进行转换。
虽然吝啬的小编连白开水也舍不得给我,但我还是一如既往地发扬大公无私之精神将独门密技告之天下,包学包会,不会免费再学……(小编:STOP!再要是废话就OUT!)<br>为了照顾一些Excel初学者,我们先来了解一下什么是Excel里的公式与函数。
Excel之所以计算功能异常强大,百分之八十的功劳就在于用户可以创建公式进行计算。
Excel表格怎么自动换算金额大写

Excel表格怎么自动换算金额大写EXCEL表格怎么自动换算金额大写:A1是123.45,A2我怎么能出现壹佰贰拾叁元肆角伍分第一步,打开已有的表格,同时把这个网页也打开,稍后能用到这个公式。
因为公式太长,必须得用复制,粘贴的方法,才保准。
第二步,复制公式,冒号后一个也不能落下。
即:=SUBSTITUTE(SUBSTITUTE(IF(A1<0,"负","")&TEXT(TRUNC(ABS(ROUND(A1,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(A1,2))),"",TEXT(RIGHT(TRUNC(R OUND(A1,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A1,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A1,2),3))=".",TEXT(RIGHT(ROU ND(A1,2)),"[D BNum2]")&"分",IF(ROUND(A1,2)=0,"","整")),"零元零",""),"零元","") 。
第三步,双击进入A2,使A2单元格中有光标在闪,点粘贴。
第四步,回车。
2.如果没有小数点的,就直接在单元格右击-设置单元格格式-特殊-中文大写数字。
3. a列格式为数值-货币,b列格式为特殊-中文大写数字-自定义-格式后加上圆整函数:b1=a1EXCEL表格中怎么设置美元的大写金额1.比如说1.2美元输入自动变成“壹美元贰美分”这样。
在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制作财务报表的时候,经常需要将数字表示为大写的中文数字金额,可以用设置“单元格格式”的方法来实现自动转换大写金额。
用Excel制作财务报表的时候,经常需要将数字表示为大写的中文数字金额,可以用设置“单元格格式”的方法来实现自动转换大写金额。 首先鼠标右键单击需要用大写金额显示的单元格,在弹出的快捷菜单中选择“设置单元格格式”,如下图。 在弹出的对话框中选择“数字”选项卡,并且在“分类”列表中选择“特殊”,在类型框中选择“中文大写数字”,然后单击“确定”选中此类型即可。 经过设置后,E大写这么麻烦了!
具体操作如下:
在单元格中输入想要转换的数字。如“12345”——选中该单元格右键选择“设置单元格格式”——选择“数字”——“特殊”,如图
选择“中文大写与数字”——“确定”
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.阿拉伯数字转换中文大写。
=IF((A7-INT(A7))=0,TEXT(A7,"[DBNUM2]")&"元整",IF(INT(A7*10)-A7*10=0,TEXT(INT(A7),"[DBNUM2]")&"元"&TEXT((INT(A7*10)-INT(A7)*10),"[DBNUM2]")&"角整",TEXT(INT(A7),"[DBNUM2]")&"元"&IF(INT(A7*10)-INT(A7)*10=0,"零",TEXT(INT(A7*10)-INT(A7)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(A7,1),"[DBNUM2]")&"分"))该函数中只需将A7换成你要转换的数值所在单元格即可。
2.阿拉伯数字转换英文大写(编写SpellNumber实例函数)2.1启动Microsoft Excel。
2.2按Alt+F11 启动Visual Basic 编辑器。
2.3在“插入”菜单上,单击“模块”。
2.4在模块表中键入下面的代码。
Function ConvertCurrencyToEnglish(ByVal MyNumber)Dim TempDim Dollars, CentsDim DecimalPlace, CountReDim Place(9) As StringPlace(2) = " Thousand "Place(3) = " Million "Place(4) = " Billion "Place(5) = " Trillion "' Convert MyNumber to a string, trimming extra spaces.MyNumber = Trim(Str(Round(MyNumber, 2)))' Find decimal place.DecimalPlace = InStr(MyNumber, ".")' If we find decimal place...If DecimalPlace > 0 Then' Convert centsTemp = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)Cents = ConvertTens(Temp)' Strip off cents from remainder to convert.MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))End IfCount = 1Do While MyNumber <> ""' Convert last 3 digits of MyNumber to English dollars.Temp = ConvertHundreds(Right(MyNumber, 3))If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > 3 Then' Remove last 3 converted digits from MyNumber.MyNumber = Left(MyNumber, Len(MyNumber) - 3)ElseMyNumber = ""End IfCount = Count + 1Loop' Clean up dollars.Select Case DollarsCase ""Dollars = "No Dollars"Case "One"Dollars = "One Dollar"Case ElseDollars = Dollars & " Dollars"End Select' Clean up cents.Select Case CentsCase ""Cents = " Only"Case "One"Cents = " And One Cent"Case ElseCents = " And " & Cents & " Cents"End SelectConvertCurrencyToEnglish = Dollars & CentsEnd FunctionPrivate Function ConvertHundreds(ByVal MyNumber) Dim Result As String' Exit if there is nothing to convert.If Val(MyNumber) = 0 Then Exit Function' Append leading zeros to number.MyNumber = Right("000" & MyNumber, 3)' Do we have a hundreds place digit to convert?If Left(MyNumber, 1) <> "0" ThenIf Right("000" & MyNumber, 2) <> 0 ThenResult = ConvertDigit(Left(MyNumber, 1)) & " Hundred and "ElseResult = ConvertDigit(Left(MyNumber, 1)) & " Hundred "End IfEnd If' Do we have a tens place digit to convert?If Mid(MyNumber, 2, 1) <> "0" ThenResult = Result & ConvertTens(Mid(MyNumber, 2))Else' If not, then convert the ones place digit.Result = Result & ConvertDigit(Mid(MyNumber, 3))End IfConvertHundreds = Trim(Result)End FunctionPrivate Function ConvertTens(ByVal MyTens)Dim Result As String' Is value between 10 and 19?If Val(Left(MyTens, 1)) = 1 ThenSelect Case Val(MyTens)Case 10: Result = "Ten"Case 11: Result = "Eleven"Case 12: Result = "Twelve"Case 13: Result = "Thirteen"Case 14: Result = "Fourteen"Case 15: Result = "Fifteen"Case 16: Result = "Sixteen"Case 17: Result = "Seventeen"Case 18: Result = "Eighteen"Case 19: Result = "Nineteen"Case ElseEnd SelectElse' .. otherwise it's between 20 and 99.Select Case Val(Left(MyTens, 1))Case 2: Result = "Twenty"Case 3: Result = "Thirty"Case 4: Result = "Forty"Case 5: Result = "Fifty"Case 6: Result = "Sixty"Case 7: Result = "Seventy"Case 8: Result = "Eighty"Case 9: Result = "Ninety"Case ElseEnd Select' Convert ones place digit.If Val(Right(MyTens, 1)) = 0 ThenResult = Result & " " & ConvertDigit(Right(MyTens, 1))ElseResult = Result & "-" & ConvertDigit(Right(MyTens, 1))End IfEnd IfConvertTens = ResultEnd FunctionPrivate Function ConvertDigit(ByVal MyDigit)Select Case Val(MyDigit)Case 1: ConvertDigit = "One"Case 2: ConvertDigit = "Two"Case 3: ConvertDigit = "Three"Case 4: ConvertDigit = "Four"Case 5: ConvertDigit = "Five"Case 6: ConvertDigit = "Six"Case 7: ConvertDigit = "Seven"Case 8: ConvertDigit = "Eight"Case 9: ConvertDigit = "Nine"Case Else: ConvertDigit = ""End SelectEnd Function在Excel 2003要使用“插入函数”,请按照下列步骤操作:1.选择所需的单元格。