单元格小写金额自动转换成大写金额

合集下载

金额小写自动生成大写公式

金额小写自动生成大写公式

金额小写自动生成大写公式金额小写转换成大写的公式主要依据中文的数字命名规则。

以下是一个可将金额小写转换成大写的公式:1.将金额小写以“元”为单位进行分组,每四位一组分组(从低位到高位),以方便命名。

2.对于每一组最高位的数字,根据其所在的组数命名单位(例如“元”、“万”、“亿”)。

其他位的数字分别根据其所在的位数加上相应的单位(例如“拾”、“佰”、“仟”、“拾万”、“佰万”、“仟万”、“拾亿”等)。

3.对于每一组中的数字,根据其大小进行命名。

命名规则如下:-0不进行命名,直接舍弃。

-1命名为“壹”或“一”(个别情况)。

-其他数字命名为“贰”、“叁”、“肆”、“伍”、“陆”、“柒”、“捌”、“玖”。

4.在每个数字后面添加相应的单位(例如“角”、“分”、“整”),其他位的单位根据需要进行命名,例如“拾角”、“佰角”、“仟分”等。

5.将每一组的命名和单位合并,组成完整的大写金额。

以下是一个具体的例子来说明公式的应用:假设要将金额小写1202.34转换成大写金额,根据公式:1.将金额小写以“元”为单位进行分组,得到两组数字:1202和342.对于最高位的数字1202,根据其所在的组数命名单位为“元”,其他位的数字分别命名为“壹仟”、“贰佰”、“零拾”、“贰”。

3.对于数字34,命名为“叁拾肆”。

4.在每个数字后面添加相应的单位:1202命名为“壹仟贰佰零拾贰元”,34命名为“叁拾肆分”。

5.将每一组的命名和单位合并,得到大写金额为“壹仟贰佰零拾贰元叁拾肆分”。

这就是将金额小写1202.34转换成大写的公式。

根据这个公式,可以将任何金额小写转换成大写。

如何将小写金额转换成大写金额函数公式

如何将小写金额转换成大写金额函数公式

如何将小写金额转换成大写金额函数公式一、小写金额转换为大写金额的函数公式小写金额转换成大写金额需要用到数学函数,具体的公式如下:设原小写金额为A,则大写金额为B1、先将原小写金额转换为整数,即A1=整(A),其中“整()”表示向下取整。

2、将整数A1每四位一组分别进行处理,即将A1最高端的四位数字作为第一组处理,将第二组从右向左数的四位数字作为第二组处理,以此类推,直到将所有的数位进行分组处理,设分别为B1、B2、B3、B4、B5、B6,其中B1为纯整数,并按照从高到低的顺序依次存放各个分组。

3、对每个分组进行翻译,将“0”到“9”这十个基本数字转换为中文大写数字,例如“1”转换成“壹”、“2”转换成“贰”、“3”转换成“叁”等;将每个分组转换成中文大写金额,例如“一亿”、“十万”、“万”等;最后将所有分组的大写金额连接起来,即可得到最终的大写金额,也就是B。

具体的实现方法可以看下面的例子。

二、小写金额转换为大写金额实现过程例如,现将小写金额100,000.5元转换为大写金额为“壹拾万元伍角”。

1、先将小写金额100,000.5元转换为整数100,000元。

2、将整数100,000元每四位一组分别进行处理,得到B1=0,B2=1,B3=万,B4=0,B5=0,B6=0。

3、将分组B2和B3进行翻译,分别得到“壹拾”和“万”。

4、将分组B1和B4进行翻译,得到“零”。

5、将分组B5进行翻译,得到“元”。

6、将分组B6进行翻译,得到“伍角”。

7、将所有分组的大写金额连接起来,得到最终结果“壹拾万元伍角”。

三、小写金额转换为大写金额的注意事项1、当小数部分存在时,需对小数部分进行额外处理,将小数部分转换为中文大写金额的“角”和“分”。

2、当小写金额为零时,转换结果为“零元”。

3、当小写金额全为“0”时,转换结果为“零元零角零分”。

4、当小写金额为负数时,转换结果为“负壹圆”等。

综上所述,小写金额转换为大写金额需要使用数学函数以及中文大写数字,按照上述公式和步骤进行处理即可,注意特殊情况的处理,从而得到准确、生动、全面、有指导意义的转换结果。

把单元格中数字快速转化为中文大写的方法

把单元格中数字快速转化为中文大写的方法

把单元格中数字快速转化为中文大写的方法将单元格中数字快速转化为中文大写的方法介绍在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数字小写金额转换汉字大写金额公式的简单设置

公式如下:
=IF(ROUND(A1,2)=0,&uot;&uot;,IF(A1&lt;0,&uot;
&uot;,&uot;&uot;)&amp;IF(ABS(A1)&gt;=1,TEXT(INT(ROUND(ABS(A1),2)),&uot;[dbnum2]&uot;)&amp;&uot;
公式可以对正数、零(本公式转换为空白,与支票一致,如需转换为“零元整”,只需在公式第一个双引号内加入即可)、负数(会计数据有时也涉及到)均可进行转换。
最近,在网上看到高手设计的更简洁的转换公式,缺点是只能把“0”转换为空白,不能转换为“零元整”,公式如下:
=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1),IF(A1&gt;0,,&uot;负&uot;)&amp;TEXT(INT(ABS(A1)+0.5%),&uot;[dbnum2]G/通用格式元;;&uot;)&amp;TEXT(RIGHT(RMB(A1,2),2),&uot;[dbnum2]0角0分;;整&uot;),),&uot;零角&uot;,IF(A1^2&lt;1,,&uot;零&uot;)),&
A1)*100,&uot;###&uot;),1))=0,&uot;整&uot;,IF(ABS(A1)&gt;=1,&uot;负元零


角&uot;,&uot;&uot;)&amp;IF(VALUE(MID(RIGHT(TEXT((ABS(A1)*100+100),&uot;###&uot;),2),1,1))=0,IF(VALUE(RIGHT(TEXT(ABS(&uot;,&uot;&uot;)&amp;TEXT(VALUE(RIGHT(TEXT(ABS(A1)*100,&uot;###&uot;),1)),&uot;[dbnum2]&uot;)&amp;&uot;00),&uot;###&uot;),2),1,1)),&uot;[dbnum2]&uot;)&amp;&uot;角&uot;),IF(VALUE(RIGHT(TEXT(ABS(A1)*100,&uot;###&uot;),1))=0,TEXT(VALUE(MID(RIGHT(TEXT((ABS(A1)*100+1&uot;,TEXT(VALUE(MID(RIGHT(TEXT((ABS(A1)*100+100),&uot;###&uot;),2),1,1)),&uot;[dbnum2]&uot;)&amp;&uot;

引用EXCEL中金额小写转大写[技巧]

引用EXCEL中金额小写转大写[技巧]

引用EXCEL中金额小写转大写到现在为止EXCEL中自带的金额小写转大写功能都不能如我们中国人的习惯,曾有朋友问过我如何做到人性化点,还真惭愧,我的EXCEL办公方面的软件使用很差,我相信会有公式可以完成,于是上面到处找,但当时都没有找到,只好作罢!今天又再有朋友问起,我决定要找到一个为止.没有想到竟真的被我找了,以下就是我本人从网络上收集到的,因为不知作者为何人,在此只能为这些默默奉献的朋友说声谢谢!在网上找到有二篇,功能相对完善的是第二篇.现在一一转贴过来!=======================第一篇========================要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2] G/通用格式“元””来实现。

但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。

那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。

一、在三个连续的同行单元格中转换1. B2中输入公式“=IF(B1〈0,"金额为负无效",INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。

2. C2中输入“=IF(B1〈0,"",INT(B1 10)-INT(B1) 10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。

3. D2中输入“=IF(B1〈0,"",INT(B1 100)-INT(B1 10) 10)”,同样D2改为:[DBNum2]G/通用格式“分”,D2显示:“玖分”。

EXCEL中小写数字转换为中文大写货币金额格式方法

EXCEL中小写数字转换为中文大写货币金额格式方法

学习使人进步心之所向,所向披靡关于EXCEL中小写数字转换为中文大写货币金额格式方法第一种方法:复制红字体部分至需大写金额单元格=TEXT(INT(B12),"[DBNum2]G/通用格式")&"元"&IF((INT(B12*10)-INT(B12)*10)=0,IF((INT(B12*100)-INT(B12)*100)>0,"零",""),TEXT(IN T(B12*10)-INT(B12)*10,"[DBNum2]G/通用格式")&"角")&IF((INT(B12*100)-INT(B12*10)*10) =0,"整",TEXT(INT(B12*100)-INT(B12*10)*10,"[DBNum2]G/通用格式")&"分")B12为小写金额所在单元格()第二种方法:复制红字体部分至需大写金额单元格=IF(ROUND(B12,2)<0,"无效数值",IF(ROUN D(B12,2)=0,"零",IF(ROUND(B12,2)<1,"",TEXT(INT(ROUND(B12,2)),"[dbnum2]")&"元")&IF(I NT(ROUND(B12,2)*10)-INT(ROUND(B12,2))*10=0,IF(INT(ROUND(B12,2))*(INT(ROUND(B12, 2)*100)-INT(ROUND(B12,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(B12,2)*10)-INT(ROUND (B12,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(B12,2)*100)-INT(ROUND(B12,2)*10)*10)= 0,"整",TEXT((INT(ROUND(B12,2)*100)-INT(ROUND(B12,2)*10)*10),"[dbnum2]")&"分")))B12为小写金额所在单元格1、这个看起来比较烦琐,不过终究达到了效果。

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

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

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(NUMBERSTRING(INT(A1),2)&"元"&TEXT(MOD(A1,1)*100,"[dbnum2]0角0分"),"零角零分","整"),"零 角","零"),"零分","")
注: 数字太多会溢出
而提示公 式错误
例题:
检查方法: 1、选择小写金额单元格。看上方的fx上的数字,看后面是否还有小数位数
2、选择小写金额单元格。点右键-->设置单元格格式-->"数字"标签-->数值,看小数位数显示多少
7 最大金额绝对值为
214 748 364 7
例题:
¥1,234,506.78
壹佰贰拾叁万肆仟伍佰零陆元柒角捌分
EXCEL中如何把金额自动转换成大写方法二
3
答案补充 我的已经是最简化的了,再简的话就要通过VBA了
答案补充 4 把命令直接复制过去,把B11改为你的小写金额单元格。
不会有错的!
5
首先,检查一下你的公式.公式里面的4个B11,你都改过来了吗? 如果确定的话,那你这里应该是小写金额的小数显示位数的问题
你检查一下,你的小写金额的显示位数的问题
6
例题: ¥1,801,230,526.24
壹拾捌亿零壹佰贰拾叁万零伍佰贰拾陆元贰角肆分
EXCEL中如何把数字自动转换成大写方法
右键点击需要转换的
阿拉伯数字单元格→
选择“设置单元格格
式”→选择“特殊”
中的“中文大写数字
”类型→点击“确定

单元格小写金额自动转换成大写金额

单元格小写金额自动转换成大写金额

Excel中怎么实现小写金额自动转换成中文大写金额EXCEL中数字小写换大写方法一:在单元格A2中输入小写数字123.12B2处输入以下公式=SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10) ),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBN um2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","")EXCEL中数字小写换大写方法二:在单元格A2中输入小写数字123.12B2处输入以下公式=IF((INT(A2*10)-INT(A2)*10)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,"整","零"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"),TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,TEXT((INT(A2*10)-INT(A2)*10),"[D BNum2]G/通用格式")&"角整",TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"))EXCEL中数字小写换大写方法三:=IF(A2-INT(A2)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆整",TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆"&TEXT(INT((A2-INT(A2))*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT((A2*10-INT(A2*10))*10),"[DBNum2]G/通用格式")&"分") EXCEL中数字小写换大写方法四:=IF((A2-INT(A2))=0,TEXT(A2,"[DBNUM2]")&"元整",IF(INT(A2*10)-A2*10=0,TEXT(INT(A2),"[DBNUM2]")&"元"&TEXT((INT(A2*10)-INT(A2)*10),"[DBNUM2]")&"角整",TEXT(INT(A2),"[DBNUM2]")&"元"&IF(INT(A2*10)-INT(A2)*10=0,"零",TEXT(INT(A2*10)-INT(A2)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(A2,1),"[DBNUM2]")&"分"))看看结果是不是出现了你想要的?应该有你需要的大写金额了公式的由来:仟分位公式如下:=TEXT(IF(LEN(INT($A1))>=4,MID($A1,LEN(INT($A1))-3,1),""),"[DBNum2]") 佰分位公式如下:=TEXT(IF(LEN(INT($A1))>=3,MID($A1,LEN(INT($A1))-2,1),""),"[DBNum2]") 第一位小数的公式:=TEXT(MID($A1,FIND(".",$A1)+1,1),"[DBNum2]")第二位小数的公式:=TEXT(MID(TEXT($A1,"0.00"),FIND(".",$A1)+2,1),"[DBNum2]") 其他依此类推^^^^^^^^^^^^^^^^用Excel函数将货币数值由阿拉伯数字自动生成为中文大写格式如图是全部用Excel函数自编农业银行转帐支票套打工具,图中内容是需要打印到转帐支票上内容,其中A-D列为支票存根部分,我们利用Excel函数对要填写大部分内容建立公式后,只要输入支票存根部分的三项基本信息(A6-A8单元格):收款单位、金额、用途,其他内容全部自动生成。

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

Excel中怎么实现小写金额自动转换成中文大写金额
EXCEL中数字小写换大写方法一:
在单元格A2中输入小写数字123.12
B2处输入以下公式
=SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负
","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元
"&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10) ),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角
","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBN um2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","")
EXCEL中数字小写换大写方法二:
在单元格A2中输入小写数字123.12
B2处输入以下公式
=IF((INT(A2*10)-INT(A2)*10)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,"整","零
"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分
"),TEXT(INT(A2),"[DBNum2]G/通用格式")&"元
"&IF((INT(A2*100)-INT((A2)*10)*10)=0,TEXT((INT(A2*10)-INT(A2)*10),"[D BNum2]G/通用格式")&"角整",TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"))
EXCEL中数字小写换大写方法三:
=IF(A2-INT(A2)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆整
",TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆
"&TEXT(INT((A2-INT(A2))*10),"[DBNum2]G/通用格式")&"角
"&TEXT(INT((A2*10-INT(A2*10))*10),"[DBNum2]G/通用格式")&"分") EXCEL中数字小写换大写方法四:
=IF((A2-INT(A2))=0,TEXT(A2,"[DBNUM2]")&"元整
",IF(INT(A2*10)-A2*10=0,TEXT(INT(A2),"[DBNUM2]")&"元
"&TEXT((INT(A2*10)-INT(A2)*10),"[DBNUM2]")&"角整
",TEXT(INT(A2),"[DBNUM2]")&"元"&IF(INT(A2*10)-INT(A2)*10=0,"零
",TEXT(INT(A2*10)-INT(A2)*10,"[DBNUM2]")&"角
")&TEXT(RIGHT(A2,1),"[DBNUM2]")&"分"))
看看结果是不是出现了你想要的?应该有你需要的大写金额了
公式的由来:
仟分位公式如下:
=TEXT(IF(LEN(INT($A1))>=4,MID($A1,LEN(INT($A1))-3,1),""),"[DBNum2]") 佰分位公式如下:
=TEXT(IF(LEN(INT($A1))>=3,MID($A1,LEN(INT($A1))-2,1),""),"[DBNum2]") 第一位小数的公式:
=TEXT(MID($A1,FIND(".",$A1)+1,1),"[DBNum2]")
第二位小数的公式:
=TEXT(MID(TEXT($A1,"0.00"),FIND(".",$A1)+2,1),"[DBNum2]") 其他依此类推^^^^^^^^^^^^^^^^
用Excel函数将货币数值由阿拉伯数字自动生成为中文大写格式
如图是全部用Excel函数自编农业银行转帐支票套打工具,图中内容是需要打印到转帐支票上内容,其中A-D列为支票存根部分,我们利用Excel函数对要填写大部分内容建立公式后,只要输入支票存根部分的三项基本信息(A6-A8单元格):收款单位、金额、用途,其他内容全部自动生成。

图中输入阿拉伯数字格式金额的是支票存根中A7单元格,要自动生成中文大写金额的是H3单元格,我们按照支票中的金额中文大写格式的特殊的要求,利用Excel函数对H3进行公式设置。

在H3单元格输入:=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。

以上公式是有四层嵌套条件判断函数,根据货币金额的不同情况生成不同格式的中文大写。

TEXT函数:TEXT函数可以将阿拉伯格式数字转换为中文大写格式,如公式中“TEXT(A7,"[DBNUM2]”结果是将单元格A7的阿拉伯数字转换为中文大写。

INT函数:这是一个取整函数,如公式中“INT(A7)”就是取单元格A7数字整数部分。

A7-INT(A7)表示A7为整数,INT(A7*10)-A7*10=0表示A7有一位小数。

RIGHT函数:用该函数可以提取字符串右边的若干个字符,如公式中的“RIGHT(A7,1)”表示从A7单元格数字右起提取一个字符。

从整体来讲,这是一个多层嵌套条件函数公式,共有4层嵌套来完成条件判断。

可以将整个条件函数公式表述为:
如果单元格A7中数字为整数(假如为35566),那么人民币大写就是“叁万伍仟伍佰陆拾陆元整”,否则:
如果单元格A7中数字为含有一位小数数字(假如位35566.2),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角整”,否则:
如果单元格A7中数字为两位小数数字,且十分位为0(假如为35566.08),那么人民币大写就是“叁万伍仟伍佰陆拾陆元零捌分”。

否则:
如果单元格A7中数字为两位数小数,且十分位不为0(假如为35566.28),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角捌分”。

相关文档
最新文档