Excel中金额大小写转换(四舍五入都OK)

合集下载

excel金额大小写转换公式的用法

excel金额大小写转换公式的用法

excel金额大小写转换公式的用法Excel中经常需要使用到金额大小写转换公式对金额进行转换,金额大小写转换公式具体该如何使用呢?接下来是店铺为大家带来的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]")&"分")步骤2:数字转人民币大写形式的公式是:="大写金额:"&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(B1))*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]")&"分","整")))excel金额大小写转换公式用法(二)步骤1:通过宏VBA自定义函数实现第一步:按下ALT+F11组合键,或者是单击工具——宏——Visual Basic编辑器,进入Visual Basic编程环境,单击“插入” 菜单——模块,复制下面代码,保存,退出关闭。

Excel如何设置四舍五入Excel四舍五入的设置方法

Excel如何设置四舍五入Excel四舍五入的设置方法

Excel如何设置四舍五⼊Excel四舍五⼊的设置⽅法我们在⽤excel办公软件制作报表的时候,可能需要对表格中的数据按照指定的要求进⾏四舍五⼊,保留指定的⼩数位数。

excel四舍五⼊怎么设置呢?当然,如果需要处理的数据不多,你可以⼈⼯进⾏四舍五⼊计算,如果需要处理很多数据,则需要利⽤到excel的四舍五⼊⼯具或者函数公式。

下⾯就来为⼤家介绍⼏种常见的excel四舍五⼊设置⽅法。

excel四舍五⼊设置⽅法1:利⽤excel的“减少⼩数位数”功能找到excel⼯具栏⾥的“减少⼩数位数”⼯具,点击⼀次即可向前四舍五⼊⼀位⼩数点,减少⼀位⼩数,依次类推,直到四舍五⼊到相应要求的⼩数位数。

这个⽅法其实很简单,就是⽐较繁琐⼀点,尤其是对于⼩数位数多,⽽需要减少的⼩数位数也多的数字,操作起来不太⽅便。

excel教程:excel四舍五⼊怎么设置excel四舍五⼊设置⽅法2:利⽤excel的“设置单元格格式”功能选中要四舍五⼊的数值所在单元格,⿏标右击,选择“设置单元格格式”,在“单元格格式”对话框中选择“数字”选项。

然后选择“数字”下的“数值”选项,可以通过设置“⼩数位数”来对excel表格⾥的数据进⾏四舍五⼊。

需要保留⼏位⼩数,就在“⼩数位数”中设置⼏,例如,要保留两位⼩数就设置“2”。

注:也可以通过快捷键ctrl+1来调出“单元格格式”对话框excel四舍五⼊设置⽅法3:利⽤excel的四舍五⼊函数公式做法1:选中四舍五⼊计算结果所在的单元格,点击excel菜单栏中的“公式”,在“数学和三⾓函数”的下拉菜单中选择“ROUND”函数公式,打开四舍五⼊函数的“函数参数”对话框,在“数值”中输⼊要四舍五⼊的数字,或者选取要四舍五⼊的数字所在单元格,在“⼩数位数”中输⼊要保留的⼩数位数。

做法2:选中excel表格中四舍五⼊计算结果所在的单元格,点击“⼯具栏”中的“插⼊函数”⼯具,选择“ROUND”四舍五⼊函数公式,后续的做法参见“做法1”。

excel数据四舍五入的方法

excel数据四舍五入的方法

excel数据四舍五入的方法
excel数据四舍五入的方法
大家在使用excel2007的时候,时常会用到数字的四舍五入,或者是只显示整数,但是很多人不会使用,接下来是店铺为大家带来的excel数据四舍五入的方法,供大家参考。

excel数据四舍五入的方法(一)
步骤1:首先,打开Excel2007,随意找一个单元格,打出一个带小数的数字。

步骤2:然后,选中这个单元格。

点击鼠标右键,打开菜单。

步骤3:在菜单中选择“设置单元格格式”,进入单元格格式设置对话框。

步骤4:点击其中的“数字”,再选“数值”,来设置数值选项。

步骤5:可以看到右边有一些数值的设置选项,点击“小数位数”选项,把它设置为“0”,点击确定。

步骤6:设置好后,就可以看到“7.7”四舍五入为“8”了。

在这种设置方法下,虽然四舍五入为8,但如果进行计算,计算时系统还是按7.7来计算。

excel数据四舍五入的方法(二)
步骤1:点击选中单元格之后,看左上角的工具栏,在里面找到“公式”。

步骤2:在公式之中选择“数学和三角函数”,点击看到下拉菜单。

步骤3:选择“ROUND”公式,打开设置对话框。

步骤4:在第一行中打出“7.7”(即你要四舍五入的数字),在第二行中打“0”(即小数点后面保留几位),点击确定,就会显示四舍五入后的8了,这种保留整数的方法在计算时是按四舍五入之后的数字来计算的,和方法一不同。

excel表格金额大小写转换

excel表格金额大小写转换

竭诚为您提供优质文档/双击可除excel表格金额大小写转换篇一:excel表中小写金额直接转换成大写金额的公式excel表中小写金额直接转换成大写金额的公式:一、=iF(oR(a1 三、用公式就可以,我不懂做会计的如何用大写表示如128.40这样的角不为0但分为0的值,是“壹佰贰拾捌元肆角整”还是“壹佰贰拾捌元肆角”?如果是“壹佰贰拾捌元肆角”,请用这个公式:=text(int(b2),"[dbnum2]"),text((int(c10*100)-int(c1 0*10)*10),"[dbnum2]")nascurrencyconstcnumasstring="零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"constcchaasstring="零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整"dimsnumasstringdimiaslongif(n0)and(abs(n)snum=trim(str(int(abs(n)*100)))Fori=1tolen(snum)逐位转换baituRmbdx=baituRmbdx+mid(cnum,(mid(snum,i,1))+1,1) +mid(cnum,26-len(snum)+i,1)nextFori=0to11去掉多余的零baituRmbdx=Replace(baituRmbdx,mid(ccha,i*2+1,2),mid (ccha,i+26,1))nextifn elsebaituRmbdx=iif(n=0,"零元","溢出")endifendFunction11Functionuppernum(n)nassingle数字大写函数ifn 正负判断="负"endifn=n+0.0001ifint(n*1000)-int(n*100)*10>4thenn=(int(n*100)+1)/100+0.001elsen=int(n*100)/100+0.001endifselectcasencaseis>9999999999999.99uppernum="数据不符"msgbox"金额不能大于9999999999999.99!",vbokonly,"出错提示"caseelseconstcnum="零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"constccha="零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整"uppernum=""snum=""s=trim(str(n))Fori=1tolen(s)-1ifmid(s,i,1)"."thensnum=snum+mid(s,i,1)Fori=1tolen(snum)逐位转换uppernum=uppernum+mid(cnum,(mid(snum,i,1))+1,1)+mid (cnum,26-len(snum)+i,1)nextiFori=0to11去掉多余的零uppernum=Replace(uppernum,mid(ccha,i*2+1,2),mid(cch a,i+26,1))nextiendselectif正负判断="负"thenuppernum="负"&uppernumendFunction12Functionjezh(xasRange)ifx>=1thenifint(x)=xorRound(x,2)=int(x)thenjezh=application.worksheetFunction.text(int(x),"[db num2]")&"元"elseifint(x*10)=x*10orint(x*10)=Round(x,2)*10then。

EXCEL中如何把金额自动转换成大写方法一至五

EXCEL中如何把金额自动转换成大写方法一至五

EXCEL中如何把金额自动转换成大写方法一至五EXCEL中如何把金额自动转换成大写方法一至五一、在EXCEL单元格中建立函数公式:(1)单元格准备:A列为金额,B列为金额大写(2)在B1单元格中按Fx,把鼠标移动到函数库里的数学函数,选择数值转换,点击公式输入,在A1输入框输入:=数值转换(A1,"大写")(3)按Enter,函数公式就构成,点击B1单元格,金额就转换成大写了二、利用EXCEL中的格式转换:(1)A列为金额,B列为金额大写(2)选中A列,双击A列的标题,出现“格式”对话框,在“数字”选项卡中,选择“文本”,确定(3)选中A列,以B1单元格为起点,单击鼠标右键,选择“复制”(4)将鼠标移至B1单元格,单击鼠标右键,选择“粘贴特性”,在“粘贴特性”对话框中,选择“文本转换”,确定(5)B列就转换成金额大写了三、EXCEL中的VBS脚本编程:(1)A列为金额,B列为金额大写Dim add(16)add(0)="零"add(1)="壹" add(2)="贰" add(3)="叁" add(4)="肆" add(5)="伍" add(6)="陆" add(7)="柒" add(8)="捌" add(9)="玖" add(10)="拾" add(11)="佰" add(12)="仟" add(13)="万" add(14)="亿"。

Excel中金额大小写转换(四舍五入都OK)

Excel中金额大小写转换(四舍五入都OK)

Excel中金额大小写转换(四舍五入都OK)工程造价,财务常用,小写金额自动转换为大写金额,四舍五入都OK Excel中金额大小写转换编制工程造价很有用编制EXCEL财务表也很有用Excel中金额大小写转换函数[=ntoc(单元格)]一、使用加载宏方法:对于有四舍五入都没问题啊“工具栏”→ “宏”→ “Visual Basic编辑器”,在“Visual Basic编辑器”中顶部选“插入”→ “模块”,在“模块”对话框中选“通用”,并在编辑区域内粘贴以下内容:Function NtoC(n) 'n as singleConst cNum = "零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"Const cCha = "零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整" NtoC = ""n = Round(n, 2)sNum = Trim(Str(Int(n * 100)))For i = 1 To Len(sNum) '逐位转换NtoC = NtoC + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)NextFor i = 0 To 11 '去掉多余的零NtoC = Replace(NtoC, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1))NextEnd Function然后单击“保存”,关闭“Visual Basic编辑器”,回到“工作表1”,输入函数“=NtoC(单元格)”即可。

例如在单元格A1输入:A1=222, 在单元格A2输入:A2=NTOC(A1) 即可,这样A1单元格输入的数变化,A2单元格的大写自动变化。

A2单元格最好进行单元锁定。

EXCEL金额大小写转换公式大全

EXCEL金额大小写转换公式大全

EXCEL‎金额大小写‎转换公式大‎全2007-12-15 16:08先选中需要‎转换的单元‎格,在格式(或者右击设‎置单元格格‎式中)——单元格格式‎——数据——特殊——右边类型:中文小写、中文大写=NUMBE‎R STRI‎N G($A$1,1)1=IF(A5=0,"",CONCA‎TENA T‎E(IF(INT(A5)=0,"",TEXT(INT(A5),"[DBNum‎2]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)),"[DBNum‎2]G/通用格式角‎")),IF(INT(MID(RIGHT‎(FIXED‎(A5,2,1),1),1,1))=0,"整",TEXT(INT(MID(RIGHT‎(FIXED‎(A5,2,1),1),1,1)),"[DBNum‎2]G/通用格式分‎"))))2=IF(A5<0,"負","")&IF(ABS(A5)>1,TEXT(TRUNC‎(ABS(ROUND‎(A5,2))),"[DBNum‎2]")&"元","")&IF(ISERR‎(FIND(".",ROUND‎(A5,2))),"",TEXT(RIGHT‎(TRUNC‎(ROUND‎(A5,2)*10)),"[DBNum‎2]"))&IF(ISERR‎(FIND(".0",TEXT(A5,"0.00"))),"角","")&IF(LEFT(RIGHT‎(ROUND‎(A5,2),3))=".",TEXT(RIGHT‎(ROUND‎(A5,2)),"[DBNum‎2]")&"分","整")3=IF(A5<0,"负","")&IF(TRUNC‎(ROUND‎(A5,2))=0,"",TEXT(TRUNC‎(ABS(ROUND‎(A5,2))),"[DBNum‎2]")&"元")&IF(ISERR‎(FIND(".",ROUND‎(A5,2))),"",TEXT(RIGHT‎(TRUNC‎(ROUND‎(A5,2)*10)),"[DBNum‎2]"))&IF(ISERR‎(FIND(".0",TEXT(A5,"0.00"))),"角","")&IF(LEFT(RIGHT‎(ROUND‎(A5,2),3))=".",TEXT(RIGHT‎(ROUND‎(A5,2)),"[DBNum‎2]")&"分","整")4=SUBST‎ITUTE‎(SUBST‎ITUTE‎(IF(A5<0,"負","")&TEXT(TRUNC‎(ABS(ROUND‎(A5,2))),"[DBNum‎2]")&"元"&IF(ISERR‎(FIND(".",ROUND‎(A5,2))),"",TEXT(RIGHT‎(TRUNC‎(ROUND‎(A5,2)*10)),"[DBNum‎2]"))&IF(ISERR‎(FIND(".0",TEXT(A5,"0.00"))),"角","")&IF(LEFT(RIGHT‎(ROUND‎(A5,2),3))=".",TEXT(RIGHT‎(ROUND‎(A5,2)),"[DBNum‎2]")&"分",IF(ROUND‎(A5,2)=0,"","整")),"零元零",""),"零元","")5=IF(ROUND‎(A5,2)<0,"无效数值",IF(ROUND‎(A5,2)=0,"零",IF(ROUND‎(A5,2)<1,"",TEXT(INT(ROUND‎(A5,2)),"[dbnum‎2]")&"元")&IF(INT(ROUND‎(A5,2)*10)-INT(ROUND‎(A5,2))*10=0,IF(INT(ROUND‎(A5,2))*(INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10)=0,"","零"),TEXT(INT(ROUND‎(A5,2)*10)-INT(ROUND‎(A5,2))*10,"[dbnum‎2]")&"角")&IF((INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10)=0,"整",TEXT((INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10),"[dbnum‎2]")&"分")))6=IF(ISNUM‎B ER(A5),IF(A5<0,"无效数值",IF(A5<0.005,"零",IF(A5<0.995,"",TEXT(INT(A5+0.005),"[dbnum‎2]")&"元")&IF(LEFT(RIGHT‎(FIXED‎(A5,2),2),1)="0",IF(RIGHT‎(FIXED‎(A5,2),1)="0","",IF(A5>0.995,"零","")),TEXT(LEFT(RIGHT‎(FIXED‎(A5,2),2),1),"[dbnum‎2]")&"角")&IF(RIGHT‎(FIXED‎(A5,2),1)="0","整",TEXT(RIGHT‎(FIXED‎(A5,2),1),"[dbnum‎2]")&"分"))),"非数值!")7=IF(ISNUM‎B ER(A5),IF(ROUND‎(A5,2)<0,"无效数值",IF(ROUND‎(A5,2)=0,"零",IF(ROUND‎(A5,2)<1,"",TEXT(INT(ROUND‎(A5,2)),"[dbnum‎2]")&"元")&IF(INT(ROUND‎(A5,2)*10)-INT(ROUND‎(A5,2))*10=0,IF((INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10)=0,"","零"),TEXT(INT(ROUND‎(A5,2)*10)-INT(ROUND‎(A5,2))*10,"[dbnum‎2]")&"角")&IF((INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10)=0,"整",TEXT((INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10),"[dbnum‎2]")&"分"))),"非数值!!!")8=IF(ROUND‎(A5,2)<0,"无效数值",IF(ROUND‎(A5,2)=0,"零",IF(ROUND‎(A5,2)<1,"",TEXT(INT(ROUND‎(A5,2)),"[dbnum‎2]")&"元")&IF(INT(ROUND‎(A5,2)*10)-INT(ROUND‎(A5,2))*10=0,IF(INT(ROUND‎(A5,2))*(INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10)=0,"","零"),TEXT(INT(ROUND‎(A5,2)*10)-INT(ROUND‎(A5,2))*10,"[dbnum‎2]")&"角")&IF((INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10)=0,"整",TEXT((INT(ROUND‎(A5,2)*100)-INT(ROUND‎(A5,2)*10)*10),"[dbnum‎2]")&"分")))9=TEXT(INT(A5),"[dbnum‎2]")&"元"&IF(INT(A5*10)-INT(A5)*10=0,"",TEXT(INT(A5*10)-INT(A5)*10,"[dbnum‎2]")&"角")&IF(INT(A5*100)-INT(A5*10)*10=0,"整",TEXT(INT(A5*100)-INT(A5*10)*10,"[dbnum‎2]")&"分")10Funct‎i on BAITU‎R MBDX‎(ByVal‎n) As Strin‎g 'n as Curre‎n cyConst‎ cNum As Strin‎g = "零壹贰叁肆‎伍陆柒捌玖‎-万仟佰拾亿‎仟佰拾万仟‎佰拾元角分‎" Const‎ cCha As Strin‎g= "零仟零佰零‎拾零零零零‎零亿零万零‎元亿万零角‎零分零整-零零零零零‎亿万元亿零‎整整"Dim sNum As Strin‎gDim i As LongIf (n <> 0) And (Abs(n) < 10000‎00000‎0000#) ThensNum = Trim(Str(Int(Abs(n) * 100)))For i = 1 To Len(sNum) '逐位转换BAITU‎R MBDX‎= BAITU‎R MBDX‎+ Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)NextFor i = 0 To 11 '去掉多余的‎零BAITU‎R MBDX‎= Repla‎c e(BAITU‎R MBDX‎, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1)) NextIf n < 0 Then BAITU‎RMBDX‎= "(负)" + BAITU‎RMBDX‎ElseBAITU‎RMBDX‎= IIf(n = 0, "零元", "溢出")End IfEnd Funct‎i on11Funct‎i on Upper‎N um(n) 'n as singl‎e '数字大写函‎数If n < 0 Then正负判断= "负"n = -nEnd Ifn = n + 0.0001If Int(n * 1000) - Int(n * 100) * 10 > 4 Thenn = (Int(n * 100) + 1) / 100 + 0.001Elsen = Int(n * 100) / 100 + 0.001End IfSelec‎t Case nC ase Is > 99999‎99999‎999.99Upper‎N um = "数据不符"MsgBo‎x "金额不能大‎于9999‎99999‎9999.99!", vbOKO‎nl y, "出错提示"Case ElseConst‎ cNum = "零壹贰叁肆‎伍陆柒捌玖‎-万仟佰拾亿‎仟佰拾万仟‎佰拾元角分‎"Const‎ cCha = "零仟零佰零‎拾零零零零‎零亿零万零‎元亿万零角‎零分零整-零零零零零‎亿万元亿零‎整整"Upper‎N um = ""sNum = ""s = Trim(Str(n))For i = 1 To Len(s) - 1If Mid(s, i, 1) <> "." Then sNum = sNum + Mid(s, i, 1)Next iFor i = 1 To Len(sNum) '逐位转换U pper‎N um = Upper‎N um + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)Next iFor i = 0 To 11 '去掉多余的‎零U pper‎N um = Repla‎c e(Upper‎N um, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1)) Next iEnd Selec‎tIf 正负判断= "负" Then Upper‎N um = "负" & Upper‎N umEnd Funct‎i on12Funct‎i on JEZH(X As Range‎)If X >= 1 ThenIf Int(X) = X Or Round‎(X, 2) = Int(X) ThenJEZH = Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Int(X), "[DBNUM‎2]") & "元"ElseI‎f Int(X * 10) = X * 10 Or Int(X * 10) = Round‎(X, 2) * 10 ThenJEZH = Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Int(X), "[DBNUM‎2]") & "元" & Appli‎catio‎n.Works‎h eetF‎u ncti‎o n.Text(Right‎(Round‎(X, 2), 1), "[DBNUM‎2]") & "角"ElseJEZH = Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Int(X), "[DBNUM‎2]") & "元" & Appli‎catio‎n.Works‎h eetF‎u ncti‎o n.Text(Left(Right‎(Round‎(X, 2), 2), 1), "[DBNUM‎2]") & "角" & Appli‎catio‎n.Works‎h eetF‎u ncti‎o n.Text(Right‎(Round‎(X, 2), 1), "[DBNUM‎2]") & "分"End IfElseI‎f X = 0 ThenJEZH = Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Int(X), "[DBNUM‎2]") & "元"ElseI‎f X < 1 And X > 0 ThenIf Int(X * 10) = X * 10 ThenJEZH = Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Right‎(X, 1), "[DBNUM‎2]") & "角"ElseJEZH = Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Left(Right‎(Round‎(X, 2), 2), 1), "[DBNUM‎2]") & "角" & Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Right‎(Round‎(X, 2), 1), "[DBNUM‎2]") & "分"End IfElseIf Int(X) = X Or Round‎(Abs(X), 2) = Int(Abs(X)) ThenJEZH = "负" & Appli‎ca tio‎n.Works‎h eetF‎u ncti‎o n.Text(Int(Abs(X)), "[DBNUM‎2]") & "元"ElseI‎f Int(X * 10) = X * 10 ThenJEZH = "负" & Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Int(Abs(X)), "[DBNUM‎2]") & "元" & Appli‎c atio‎n.W orks‎h eetF‎u ncti‎o n.Text(Right‎(X, 1), "[DBNUM‎2]") & "角"ElseJEZH = "负" & Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Int(Abs(X)), "[DBNUM‎2]") & "元" & Appli‎ca tio‎n.Works‎h eetF‎u ncti‎o n.Text(Left(Right‎(Round‎(X, 2), 2), 1), "[DBNUM‎2]") & "角" & Appli‎c atio‎n.Works‎h eetF‎u ncti‎o n.Text(Right‎(Round‎(X, 2), 1), "[DBNUM‎2]") & "分"End IfEnd IfEnd Funct‎i on。

excel中如何将数字变成大写金额的函数

excel中如何将数字变成大写金额的函数

excel中如何将数字变成大写金额的函数如何在Excel中将数字转化为大写金额在Excel中,我们经常需要将数字转化为大写金额,以便更直观地展示数值。

虽然Excel本身并没有提供直接将数字转化为大写金额的函数,但我们可以通过一些方法来实现这个功能。

本文将介绍两种常用的方法,分别是使用Excel的内置函数和使用自定义宏。

一、使用Excel的内置函数Excel提供了一个内置的函数——“人民币大写”函数,可以将数字转化为大写金额。

下面是使用该函数的步骤:步骤1:打开Excel并选择一个单元格,例如A1,用于输入要转化的数字。

步骤2:在另一个单元格中,例如B1,输入以下公式:=人民币大写(A1)步骤3:按下回车键,即可将A1单元格中的数字转化为大写金额。

需要注意的是,“人民币大写”函数只能将数字转化为中文大写金额,而不能转化为其他语言的大写金额。

如果需要转化为其他语言的大写金额,可以考虑使用自定义宏的方法。

二、使用自定义宏自定义宏是一种基于VBA(Visual Basic for Applications)语言的编程方式,可以在Excel中实现各种自定义功能。

下面是使用自定义宏将数字转化为大写金额的步骤:步骤1:按下Alt+F11键,打开VBA编辑器。

步骤2:在VBA编辑器中,选择“插入”菜单,然后选择“模块”。

步骤3:在新建的模块中,输入以下VBA代码:```Function ConvertToChineseNumber(ByVal MyNumber)Dim MyCurrency, DecimalPlace, CountReDim Place(9) As StringPlace(2) = " Thousand "Place(3) = " Million "Place(4) = " Billion "Place(5) = " Trillion "' Convert MyNumber to String, trimming extra spaces.MyNumber = Trim(CStr(MyNumber))' Check for valid input.If MyNumber = "" ThenConvertToChineseNumber = ""Exit FunctionEnd If' Convert MyNumber to Currency figures.ReDim DecimalPlace(9) As StringDecimalPlace(2) = " Hundred "DecimalPlace(3) = " Thousand "DecimalPlace(4) = " Million "DecimalPlace(5) = " Billion "' Convert MyNumber to Currency figures.MyNumber = Trim(CStr(MyNumber))' Remove leading zeros' DecimalPlace = GetVal(Trim(Mid(MyNumber, DecimalPlace + 1, 2)))Count = 1Do While MyNumber <> ""ReDim Preserve MyCurr(Count) As StringCount = Count + 1MyCurr(Count - 1) = GetTens(Trim(Mid(MyNumber, 1, 2)), MyNumber)If Len(MyNumber) > 2 ThenMyNumber = Trim(Mid(MyNumber, 3))ElseMyNumber = ""End IfLoopCount = Count - 1For DecimalPlace = Count To 1 Step -1MyCurrency = MyCurrency & " " & MyCurr(DecimalPlace) If DecimalPlace = 1 Then' -- If place is ten thousand and greater than 0 set nother name to RupeesIf Len(MyNumber) = 1 Then MyCurr(1) = " and " & MyCurr(1)MyCurrency = MyCurrency & Place(DecimalPlace)End IfNext DecimalPlaceConvertToChineseNumber = MyCurrencyEnd FunctionFunction GetTens(TensText, ByVal Amount)Dim Result As StringResult = "" ' Null out the temporary function value.If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...Select Case Val(TensText)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 ' If value between 20-99...Select Case Val(Left(TensText, 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 SelectResult = Result & GetDigit _(Right(TensText, 1)) ' Retrieve ones place. End IfGetTens = ResultEnd FunctionFunction GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = "One"Case 2: GetDigit = "Two"Case 3: GetDigit = "Three"Case 4: GetDigit = "Four"Case 5: GetDigit = "Five"Case 6: GetDigit = "Six"Case 7: GetDigit = "Seven"Case 8: GetDigit = "Eight"Case 9: GetDigit = "Nine"Case Else: GetDigit = ""End SelectEnd Function```步骤4:按下Ctrl+S保存宏,并关闭VBA编辑器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Excel中金额大小写转换
编制工程造价很有用
编制EXCEL财务表也很有用
Excel中金额大小写转换函数[=ntoc(单元格)]
一、使用加载宏方法:对于有四舍五入都没问题啊
“工具栏”→“宏”→“Visual Basic编辑器”,在“Visual Basic编辑器”中顶部选“插入”→“模块”,在“模块”对话框中选“通用”,并在编辑区域内粘贴以下内容:
Function NtoC(n) 'n as single
Const cNum = "零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"
Const cCha = "零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整"
NtoC = ""
n = Round(n, 2)
sNum = Trim(Str(Int(n * 100)))
For i = 1 To Len(sNum) '逐位转换
NtoC = NtoC + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)
Next
For i = 0 To 11 '去掉多余的零
NtoC = Replace(NtoC, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1))
Next
End Function
然后单击“保存”,关闭“Visual Basic编辑器”,回到“工作表1”,输入函数“=NtoC(单元格)”即可。

例如在单元格A1输入:A1=222, 在单元格A2输入:A2=NTOC(A1) 即可,这样A1单元格输入的数变化,A2单元格的大写自动变化。

A2单元格最好进行单元锁定。

相关文档
最新文档