Excel金额大写公式详解
利用Excel函数公式制作财务大写金额模板

利用Excel函数公式制作财务大写金额模板在Excel中制作财务大写金额模板可以通过使用Excel函数公式来实现。
下面将详细介绍如何使用Excel函数公式制作财务大写金额模板。
第一步:打开Excel并创建一个新的工作簿。
第二步:在第一个单元格(例如A1)输入要转换的数字金额。
第三步:在下一个单元格(例如B1)输入以下公式:=财务大写(A1)第四步:按下回车键,Excel将会自动把数字金额转换成大写金额。
接下来我们将详细介绍如何编写“财务大写”函数。
第一步:选中工具栏上的“开发工具”选项卡。
如果在Excel选项中没有找到该选项卡,请选择“文件”->“选项”->“自定义功能区”,然后勾选“开发工具”。
第四步:在新的模块中,编写下面的VBA代码:Function 财务大写(金额 As Variant) As StringDim 大写金额 As StringDim 数字金额 As DoubleDim 整数部分 As StringDim 小数部分 As StringDim 分号位置 As IntegerDim 节位 As IntegerDim 单位 As StringDim 数字 As IntegerDim i As IntegerDim 已分位 As BooleanDim 零位 As IntegerDim 位 As Integer如果 IsNumeric(金额) = False Then 财务大写="输入有误"Exit FunctionEnd If数字金额=金额如果数字金额 < 0 Then财务大写="负"&财务大写(-数字金额) Exit FunctionEnd If如果数字金额 = 0 Then财务大写="零元整"Exit FunctionEnd If财务大写="数值太大"Exit FunctionEnd If大写金额=""数字 = Int(n)数字金额=数字金额-数字小数部分 = Format(n * 100, "00") & "分"分号位置=0已分位 = False零位=-1Do While 数字 > 0节位=节位+1如果位 > 0 Then位 = 位 Mod 100位 = 位 Mod 10如果位 > 0 Then如果节位 >= 2 Then单位="亿"单位="万"Else单位=""End If如果位 = 1 Then LargeNum = "壹" & 单位ElseIf 位 = 2 Then LargeNum = "贰" & 单位ElseIf 位 = 3 Then LargeNum = "叁" & 单位ElseIf 位 = 4 Then LargeNum = "肆" & 单位ElseIf 位 = 5 Then LargeNum = "伍" & 单位ElseIf 位 = 6 Then LargeNum = "陆" & 单位ElseIf 位 = 7 Then LargeNum = "柒" & 单位LargeNum = "捌" & 单位ElseIf 位 = 9 ThenLargeNum = "玖" & 单位ElseIf 位 >= 10 And 位 <= 19 Then已分位 = True大写金额 = "拾" & Mid(LargeNum, 2) & 大写金额单位=""Else已分位 = True大写金额 = Mid(LargeNum, 位, 1) & 单位 & 大写金额单位=""End IfElseIf 节位 = 1 Then大写金额="零"&大写金额End If如果节位 = 2 And Val(右(Mid(大写金额, 1, 1))) = 0 Then 大写金额=大写金额&"零"End IfElseIf 已分位 = True And 零位 > 0 Then零位=零位-1大写金额 = Mid(LargeNum, 位, 1) & 单位 & 大写金额单位=""ElseIf 已分位 = False And 分号位置 > 0 Then分号位置=分号位置-1大写金额 = Mid(LargeNum, 位, 1) & 单位 & 大写金额单位=""ElseIf 单位 = "元" Then大写金额="零"&单位&大写金额单位=""零位=3已分位 = TrueElse大写金额="零"&大写金额End If数字金额=数字金额*100数字 = Int(数字金额)小数部分 = 在Excel里Format(n * 100, "00") & "分"If Asc(Right(Format(数字, "#.00"), 1)) = 0 Then小数部分=""End IfLoop大写金额="人民币"&大写金额&"元"&小数部分财务大写=大写金额End Function现在,你可以在Excel中使用“财务大写”函数公式来将数字金额转换成大写金额了。
超全的金额大写excel公式

超全的金额大写excel公式作为财会人,一定会在excel中涉及到人民币金额大写的问题,这里搜集了一些,公式很多,也很复杂,有兴趣的同学可以研究一下,不想研究的就收藏起来备用。
使用方法很简单,把下面公式中的A2换成你表中数字所在单元格地址即可。
1 =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,,"零")),"零分","整")2 =SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&TEXT(INT(FIXED(ABS(A2))),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")3 =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,,"零")),"零分","整")4 =SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&TEXT(INT(FIXED(ABS(A2))),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")5 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&TEXT(INT(FIXED(ABS(A2))),"[dbnum2]")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]元0角0分;;元"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零元",),"零分","整")6 =SUBSTITUTE(SUBSTITUTE(IF(A2>-0.5%,,"负")&IF(ABS(A2)+0.5%<1,,TEXT(INT(ABS(A2)+0.5%),"[dbnum2]")&"元")&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")7 =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,,"零")),"零分","整"))8 =SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A2)),"[dbnum2]G/通用格式元;负[dbnum2]G/通用格式元;"&IF(A2>-0.5%,,"负"))&TEXT(RIGHT(FIXED(A2),2),"[dbnum2]0角0分;;"&IF(ABS(A2)>1%,"整",)),"零角",IF(ABS(A2)<1,,"零")),"零分","整")9 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(B8<0,"负",)&TEXT(INT(ABS(B8)),"[dbnum2];; ")&TEXT(MOD(ABS(B8)*100,100),"[>9][dbnum2]圆0角0分;[=0]圆整;[dbnum2]圆零0分"),"零分","整")," 圆零",)," 圆",)10 =SUBSTITUTE(SUBSTITUTE(TEXT(INT(A1),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(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]")&"分"))11 =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,,"零")),"零分","整"))12 =SUBSTITUTE(SUBSTITUTE(IF(A1>-0.5%,,"负")&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;"&IF(ABS(A1)>1%,"整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整")13 =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,,"零")),"零分","整"))14 =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,,"零")),"零分","整"),"")15 =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分;整"),""),"零分","整")16 =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分;整"),""),"零分","整")17 =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,,"零")),"零分","整")18 =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,,"零")),"零分","整"))19 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分;整"),),"零分",)20 =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分;整"),),"零分","整")21 =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,,"零")),"零分","整")22 =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分;整"),),"零分",)23 =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分;整"),),"零分",)24 =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,,"零")),"零分","整"))25 =SUBSTITUTE(IF(-RMB(A2),TEXT(A2,";负")&TEXT(INT(ABS(A2)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[>9][dbnum2]0角0分;"&IF(A2^2<1,,0)&"[>][dbnum2]0分;整"),),"零分","整")26 =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,,"零")),"零分","整")27 =TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),"[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;") & TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整")28 = 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(INT(A3*100)-INT(A3*10)*10,"[dbnum2]")&"分")29 =IF(OR(B1="",B1=0),"",TEXT(INT(B1),"[dbnum2]G/通用格式元;[dbnum2]G/通用格式元;;")&TEXT(--RIGHT(INT(B1*10)),"[dbnum2]#角;;;")&TEXT(--RIGHT(INT(B1*100)),"[dbnum2]#分;;整;"))▎本文作者蓝色幻想-赵志东。
Excel中如何利用公式将数字金额转化成大写

Excel中如何利用公式将数字金额转化成大写用Excel制作财务报表的时候,经常需要将数字表示为大写的中文数字金额。
一般情况下,我们可以用设置“单元格格式”的方法来实现自动转换大写金额,但是这种方法转换出来的大写金额存在两个方面的问题(见图一):1、当数字为整数时,比如B1单元格的数值为5560,将D1单元格设置格式为中文大写数字,输入公式“=B1”,其转换出来的大写为“伍仟伍佰陆拾”,实际工作中,D1单元格的值应该为“伍仟伍佰陆拾元整”,才能满足财务要求。
2、当数字带有小数时,比如B2单元格的数值为5824.56,将D2单元格设置格式为中文大写数字,输入公式“=B2”,其转换出来的大写为“叁仟捌佰贰拾肆点伍陆”,实际工作中,D2单元格的值应该为“叁仟捌佰贰拾肆元伍角陆分”,才能满足财务要求。
实际工作中,我们可以采取公式的方法来解决上述问题。
具体做法如下:在D1单元格输入公式:=IF(INT(B2)=0,"",TEXT(INT(B2),"[DBNum2]")&"元")&IF(INT(B2*100)=INT(B2)*100,"整",IF(OR(INT(B 2*10)=0,INT(B2)=B2),"",IF(INT(B2*10)=INT(B2)*10,"零",RIGHT (TEXT(INT(B2*10),"[DBNum2]"),1)&"角")&IF(INT(B2*100)=INT (B2*10)*10,"整",RIGHT(TEXT(ROUND(B2,2),"[DBNum2]"),1)&"分")))。
效果见图二。
excel 金额大写转换公式

excel 金额大写转换公式摘要:一、介绍Excel 金额大写转换公式二、分析金额大写转换公式的原理三、讲解如何使用Excel 金额大写转换公式四、总结Excel 金额大写转换公式的优点与局限性五、提供使用Excel 金额大写转换公式时的注意事项正文:在Excel 中,我们常常需要将数字金额转换为大写金额。
为了方便用户实现这一功能,Excel 提供了一个金额大写转换公式。
本文将详细介绍这个公式,并分析其原理及使用方法。
首先,我们来了解一下Excel 金额大写转换公式的原理。
这个公式基于汉字数字与阿拉伯数字的对应关系,通过嵌套IF 函数,实现将阿拉伯数字转换为大写金额的功能。
接下来,我们来讲解如何使用Excel 金额大写转换公式。
假设A1 单元格中存储的数字金额为1234.56,我们可以在B1 单元格中输入以下公式:```=IF(A1>=10000, "壹万零" & TRANSPOSE(TEXT(A1-10000, ";负数;零;壹;贰;叁;肆;伍;陆;柒;捌;玖;拾")), IF(A1>=1000, "壹仟零" & TRANSPOSE(TEXT(A1-1000, ";负数;零;壹;贰;叁;肆;伍;陆;柒;捌;玖;拾")),IF(A1>=100, "壹佰零" & TRANSPOSE(TEXT(A1-100, ";负数;零;壹;贰;叁;肆;伍;陆;柒;捌;玖;拾")), IF(A1>=10, "十元" & TRANSPOSE(TEXT(A1-10, ";负数;零;壹;贰;叁;肆;伍;陆;柒;捌;玖;拾")), TEXT(A1, ";负数;零;壹;贰;叁;肆;伍;陆;柒;捌;玖;拾")))```以上公式可以根据需要进行调整,以适应不同的金额格式需求。
人民币大小写转换Excel公式

人民币大小写转换Excel公式以下假设你在A1单元格中输入金额数字,在其它单元格输入以下公式就可以了公式1=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)),"[DBN um2]"))&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,"","整")),"零元零",""),"零元","")公式2=IF((A1-INT(A1))=0,TEXT(A1,"[DBNUM2]")&"元整",IF(INT(A1*10)-A1*10=0,TEXT(INT(A1),"[DBNUM2]")&"元"&TEXT((INT(A1*10)-INT(A1)*10),"[DBNUM2]")&"角整",TEXT(INT(A1),"[DBNUM2]")&"元"&IF(INT(A1*10)-INT(A1)*10=0,"零",TEXT(INT(A1*10)-INT(A1)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(A1,1),"[DBNUM2]")&"分"))公式3=IF(ABS(A1)<0.005,"",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(ABS(A1)<0.1,,"零")))&IF(ROUND(ABS(A1)*100-INT(ABS(A1)*10)*10,),TEXT(ROUND(ABS(A1)*100-INT(A BS(A1)*10)*10,),"[dbnum2]")&"分","整"))以上公式包含在附件的excel表格中。
excel中实现自动生成金额大写公式

2、解除excel密码保护
Excel—“撤销工作表保护密码”的破解并获取原始密码
在日常工作中,您是否遇到过这样的情况:您用Excel编制的报表、表格、程序等,在单元格中设置了公式、函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能,但时间久了保护密码容易忘记,这该怎么办?有时您从网上下载的Excel格式的小程序,您想修改,但是作者加了工作表保护密码,怎么办?您只要按照以下步骤操作,Excel工作表保护密码瞬间即破!
DBLSPACE & "Also, remember that the password was " & _
"put there for a reason. Don't stuff up crucial formulas " & _
"or data." & DBLSPACE & "Access and use of some data " & _
'
' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)
' Modified 2003-Apr-04 by JEM: All msgs to constants, and
' eliminate one Exit Sub (Version 1.1.1)
Const MSGNOPWORDS2 As String = "There was no protection to " & _
"workbook structure or windows." & DBLSPACE & _
Ecel金额大写公式详解

Excel金额大写公式详解人民币大写的公式很多,随便百度就能找到一堆,但网上的公式多无原理解析,知其然而不知其所以然,用的时候只能将公式复制过去,总有几分不完美那么一起来追根究底吧,长文预警,今天的内容1400字================先搜个金额大写公式再就公式进行解析网上相关公式太多,选个稍微短点的,公式如下▼=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),'[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;') &TEXT(RIGHT(RMB(A1),2),'[dbnum2]0角0分;;整')表示完全看不懂1、如何快速看懂长公式?▼ Excel公式求值Excel自带公式求值,可查看公式每步计算结果,通过查看每步计算结果分析思路在A1单元格中输入小写金额,B1中输入以上公式选中B1单元格,【公式】-【公式审核】-【公式求值】运行求值,查看每一步运算结果,如下图:通过查看计算步骤得知,金额小写转为大写主要通过格式转换函数TEXT函数,将金额分两部分转换为大写金额,整数部分大写小数点部分大写提到格式转换,Excel单元格格式设置中就有金额大写转换【数字】-【特殊】-【中文大写数字】如A1单元格金额201711.06单元格格式转换后显示为贰拾万壹仟柒佰壹拾壹.零陆距离我们想要的金额大写很接近了,如果能将数字大写格式转换的代码找到就可用于金额大写中2、如何查看格式转换代码?▼点击对应格式后,点击自定义,显示对应代码点击【特殊】-【中文大写数字】后点击自定义代码为【[DBNum2][$-804]G/通用格式】其中[$-804]表示国家或地区(语言)编号,一般可以不填,可直接忽略提取有用部分:[DBNum2]G/通用格式其中[DBNum2]表示将数字大写G/通用格式表示以常规的数字显示——数字不发生任何变化金额大写中,整数部分以元结尾,小数部分以角和分结尾▼则整数部分 - [DBNum2]G/通用格式元小数部分 - [DBNum2]0角0分如果金额为负怎么办?金额为负,则大写时金额前面加负,如-2对应负贰元,整数部分金额需分两种情况▼①为正数[>0][dbnum2]G/通用格式元②为负数[<0]负[dbnum2]G/通用格式元OK,数字大小写转换已解决,整数部分和小数部分用不同的格式转换代码,那么接下来需分别提取整数和小数部分=========金额格式一般为:xxxx.xx①小数部分:有且只有2位,最右边2位数字,=right(A1,2)②整数部分:除掉小数部分剩余为整数部分,整数部分位置在左边,但长度不定,长度=总长度-小数位长度=len(A1)-3小数位不是2个吗怎么减3?小数点也占一位整数部分=left(A1,len(A1)-3 )OK啦?漏了一个格式转换,A1单元格的内容为数字格式,金额大小写为货币格式,需将数字转换为货币格式,使用函数RMB在A1单元格外嵌套个RMB函数整数部分格式转换:=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),'[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;')小数部分格式转换:=TEXT(RIGHT(RMB(A1),2),'[dbnum2]0角0分;;整')3、TEXT函数中的的分号;表示什么内容呢?三个分号分别将【正数;负数;零;文本】需要显示的内容隔开如果小数部分为0,则金额大写时添加整[dbnum2]0角0分;;整正数 - [dbnum2]0角0分,用;间隔负数 - 不显示,用;间隔零 - 显示“整”。
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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
E x c e l金额大写公式详
解
IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】
E x c e l金额大写公式详解人民币大写的公式很多,随便百度就能找到一堆,但网上的公式多无原理解析,知其然而不知其所以然,用的时候只能将公式复制过去,总有几分不完美
那么一起来追根究底吧,长文预警,今天的内容1400字
================
先搜个金额大写公式再就公式进行解析网上相关公式太多,选个稍微短点的,公式如下▼
=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),'[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式
元;;')&TEXT(RIGHT(RMB(A1),2),'[dbnum2]0角0分;;整')
表示完全看不懂
1、如何快速看懂长公式?
▼Excel公式求值
Excel自带公式求值,可查看公式每步计算结果,通过查看每步计算结果分析思路在A1单元格中输入小写金额,B1中输入以上公式
选中B1单元格,【公式】-【公式审核】-【公式求值】
运行求值,查看每一步运算结果,如下图:通过查看计算步骤得知,金额小写转为大写主要通过格式转换函数TEXT函数,将金额分两部分转换为大写金额,整数部分大写小数点部分大写
提到格式转换,Excel单元格格式设置中就有金额大写转换【数字】-【特殊】-【中文大写数字】如A1单元格金额单元格格式转换后显示为贰拾万壹仟柒佰壹拾壹.零陆
距离我们想要的金额大写很接近了,如果能将数字大写格式转换的代码找到就可用于金额大写中
2、如何查看格式转换代码?
▼点击对应格式后,点击自定义,显示对应代码点击【特殊】-【中文大写数字】后点击自定义代码为【[DBNum2][$-804]G/通用格式】
其中[$-804]表示国家或地区(语言)编号,一般可以不填,可直接忽略
提取有用部分:[DBNum2]G/通用格式其中[DBNum2]表示将数字大写G/通用格式表示以常规的数字显示——数字不发生任何变化
金额大写中,整数部分以元结尾,小数部分以角和分结尾▼则整数部分-[DBNum2]G/通用格式元小数部分-[DBNum2]0角0分如果金额为负怎么办?
金额为负,则大写时金额前面加负,如-2对应负贰元,整数部分金额需分两种情况▼①为正数[>0][dbnum2]G/通用格式元②为负数[<0]负[dbnum2]G/通用格式元
OK,数字大小写转换已解决,整数部分和小数部分用不同的格式转换代码,那么接下来需分别提取整数和小数部分
=========
金额格式一般为:
①小数部分:有且只有2位,最右边2位数字,=right(A1,2)②整数部分:除掉小数部分剩余为整数部分,整数部分位置在左边,但长度不定,长度=总长度-小数位长度=len(A1)-3
小数位不是2个吗怎么减3?小数点也占一位整数部分=left
(A1,len(A1)-3)
OK啦?漏了一个格式转换,A1单元格的内容为数字格式,金额大小写为货币格式,需将数字转换为货币格式,使用函数RMB在A1单元格外嵌套个RMB函数
整数部分格式转换:=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),'[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;')
小数部分格式转换:=TEXT(RIGHT(RMB(A1),2),'[dbnum2]0角0分;;整')
3、TEXT函数中的的分号;表示什么内容呢?三个分号分别将【正数;负数;零;文本】需要显示的内容隔开
如果小数部分为0,则金额大写时添加整[dbnum2]0角0分;;整正数-[dbnum2]0角0分,用;间隔负数-不显示,用;间隔零-显示“整”。