Excel--手把手教你转换出中文大写金额

合集下载

如何在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 金额大写转换公式

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)(wotd)
1、运用输入法来实现,如极点中文(QQ五笔)输入平台,在极点
五笔(QQ五笔)中,输入“;阿拉伯数字;”(注意分号是半角英文分号),
后面是所要的金额数字,如输入;123.45即得壹佰贰拾叁圆肆角伍分。

注意不要关闭输入法,一定在输入汉字状态下。

这个是我用过所有的当
中最好用也是最方便的一个,而且还有一个好处就是word和Excel通
用。

如用搜狗拼音输入法(v模式):v123.45即得壹佰贰拾叁圆肆角
伍分。

示例:
日期转换按;(分号)后输入数字;2005.8.26 输出二〇〇五年八月二十金额转换按;(分号)后输入数字;2088.82 输出贰仟零捌拾捌元捌角
假设你要造一个能输入当前日期及时间的词组,编码是now,那么你可以根据自己的格式要求使用上面的变量来造出此词组。

比如,我们造了一个"$y年$m年$d日$20$h时$mi分$0s秒"的词组,当你输入编码:空格now后在输入
2008.6.24.20.45.06,输出的内容会是类似下面这样的:
2008年6月24日 20时45分06秒(只有在极点五笔中才有此功能)
2.EXCEL中,选中数字金额的单元格,打开“设置单元格格式”对
话框,“数字”分类下“特殊”,有中文大写,小写数字,不过此方法
只是把阿拉伯数字原样改成大写金额而已,比较生搬硬套。

以上的公式
就是根据此选项定义变通改编而来。

excel数字转大写金额函数

excel数字转大写金额函数

excel数字转大写金额函数
Excel数字转大写金额函数
在实际工作中,我们经常会用到把数字表示的金额转换成大写汉字,在Excel中也可以实现这样的转换。

本文介绍利用Excel函数实现转换金额数字为大写汉字的方法。

1、定义函数
在Excel中,要实现将数字转换为大写汉字,可以使用函数:DOLLAR(货币文本)。

其中,具体使用规则如下:
DOLLAR(num,[position])
参数说明:
Num为必需参数,表示要转换的金额数字。

Position为可选参数,表示以几位小数点货币格式显示,默认为2位小数;
2、使用函数
例如,在Excel中,我们想将数字100000转换为大写汉字,通常应该如何操作呢?
首先,我们在Excel中输入数字100000,然后在它旁边的单元格输入函数DOLLAR,最后,在函数后输入参数100000,按回车即可。

此时,可以看出,Excel已经将100000转换为大写汉字“壹拾万元整”了。

- 1 -。

引用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中如何把金额自动转换成大写方法一至五

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)="亿"。

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

手把手教你转换出中文大写金额大家在使用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中较常用到的SUM函数来说,如果要计算从A1到A100单元格的数值总和,写公式时是用不着写成“=A1+A2+A3+……A100”的,而只是简单地写成“=SUM(A1:A10)”就可以了。

Excel中有上百种函数,今天我们只讲我们将要用到的几个。

其实所有这些函数的功能及详细用法在Excel帮助文件里都有介绍,当你遇到具体计算要求时,只要你点击常用工具栏中“粘贴函数”按钮,Excel会将所有的函数一一展示在你眼前,结合相应的帮助文件,你可以迅速挑选到一个适合你的函数。

1、IF函数这是Excel里最常用到的函数之一,它的功能是执行真假值判断,根据逻辑测试的真假值返回不同的结果。

其语法为IF(判断表达式,当条件值为真时返回的值,当条件值为假时返回的值)。

通俗地说,就是“如果……就……否则”的语法结构。

比如A1单元格内为学生成绩,我们现在要在B1单元格计算此成绩是否及格,则公式为“=IF (A1<60,"不及格","及格")”,这样一来,如果A1的数值小于60,B1就会显示“不及格”,否则就显示“及格”,是不是挺简单?IF函数是允许嵌套的,也就是说IF函数里面还可以有IF函数,这样就可以执行比较复杂的判断了。

2、TRUNC函数这个函数可以截去指定位数的小数,如果将小数部分全部截去,就可以得到一个整数。

要注意,截去是指直接舍弃,而不是四舍五入。

比如A1单元格为21.147,要想在B1单元格内将它转换为只有两位小数的数字,则公式为“=TRUNC(A1,2)”,计算结果为21.14。

3、文本函数文本函数是一系列对文本进行截取、合并、查找、转换等操作的函数。

下面简单介绍一下下文中将用到的几个:A、LEN函数:用来计算指定文本的字符数,任何字符都将被计数,包括字母、数字、标点符号甚至空格。

如“LEN("Excel Home")”等于10。

B、LEFT函数:可以从文本字符串的左边开始截取指定长度的文本,如“LEFT("Excel Home",5)”等于“Excel”。

C、RIGHT函数:这个函数的功能与LEFT函数相似,只不过它是从右边开始截取文本的。

如“RIGHT("Excel Home",4)”等于“Home”。

D、MID函数:这个函数还是用来截取文本的,但方式与上两种都不同,它是从指定的位数开始截取指定长度的文本。

“MID("Excel Home",2,4)”等于“xcel”。

E、&函数:实际上这个函数的全称应该是CONCA TENA TE,只不过这个名字太长不容易记住,所以干脆就叫做&.函数,它的功能是将几个文本连结起来。

比如“"电脑"&"界"&"应用"&"文萃"”等于“电脑界应用文萃”。

F、TEXT函数:这个函数其实也是一个文本函数,但因为在转换中文大写金额时这是一个起关键作用的函数,而在Excel帮助中又未详述,所以要着重介绍一下。

TEXT函数可以将一数值转换为按指定数字格式表示的文本,比如是否带千分号,显示几位小数,是否带货币符号,还有日期,时间等等。

当然,最重要的是它可以将数值转换为中文大写,虽然不能直接将阿拉伯数字转换为中文大写金额,但已经足够了。

TEXT的语法是TEXT(目标数值,格式),这个格式的种类及写法与单元格格式中数字选项卡中显示的相同。

如TEXT(100.1,"0.00")=100.10。

注意,任何数值只要被TEXT函数转换过,不单单是显示格式被改变了,内容也彻底变成了文本,不能再参与计算了。

要将数值转换为中文大写,应该在函数中用“[DBNum2]”格式参数,这是在Excel帮助中没提到的一个参数,但却非常实用!首先,我们要分析一下计算要求——在进行较复杂的公式创建之前,这是非常必要的一个步骤,就好像写论文前要先列好提纲一样,一定要先有好的规划,才能有好的解决方案。

我们已经知道,TEXT 函数只能简单地把数字转换为中文大写,而且只适合于整数,这也就是说,需要我们将目标数值分成元、角、分三段来转换,然后再用&函数拼接在一起。

标准的货币型数值包含两位小数,因为目标数值是未知的,所以我们首先要将要转换的数值转换成"0.00"的格式,比如“588.1”,我们要把它转换为“588.10”,这样才便于后面进行分段转换。

还有一点要注意的地方是目标数值可能不只两位小数,这时我们就要截掉多余位数的小数(是截掉,可不是取整哟,不然的话,1.998可要变成2.00了!)下面进行分段转换,我们先假设一个某工作表中C2单元格中存在一个需要转换的目标数值:5188.15,则各段计算公式分别为:各部分转换值整数部分=TEXT(TRUNC(C2),"[DBNUM2]")&"元"角位=TEXT(MID(C2,LEN(TEXT(TRUNC(C2,2),"0.00"))-1,1),"[DBN UM2]")&"角"分位=TEXT(RIGHT(TEXT(TRUNC(C2,2),"0.00"),1),"[DBNUM2]")&"分"角分位=D6&D7我们把以上公式分别输入到D5到D9单元格中,计算结果为各部分转换值、单元格、整数部分、伍仟壹佰捌拾捌元、 D5、角位、壹角、 D6、分位、伍分、D7、角分位、壹角伍分、 D8 。

会不会觉得公式太长?对了,Excel的函数都是允许嵌套的,但无论怎么嵌套,都有其固定的计算顺序——与四则混合运算的计算顺序一样,先算最里头的一个括号,先乘除,后加减(逻辑函数例外)。

按照这个规则,再加上我在前面已经把要用到的函数一一为大家进行了介绍,相信稍稍动动脑筋就能明白。

万一暂时难以理解也别着急,待一会儿在Excel里亲自试试就明白了。

好了,已经成功一半了,下面的工作是把分段转换好的中文大写金额连结起来,可别小看这个过程,这比刚才的工作要难得多!对于需要进行转换的数值,可能会有如下几种类型:一、零二、整数三、既有小数部分又有整数部分的有理数1、只有一位小数2、两位以上小数,但第一位为零四、纯小数1、只有一位小数2、两位以上小数,但第一位为零对于不同的类型,连结方式是不同的,不然就会出现“零元”、“零角”、“零分”以及其他一些不符合中文大写金额规则的连结结果。

那样的话就前功尽弃了。

所以我们在分段转换时不必考虑的这些问题在连结的时候就要好好考虑清楚了。

现在IF函数要大派用场了,只有它才能进行严密的判断,并根据判断的情况进行相应的连结。

以目标数值5188.1在C2单元格为例,我们先列表说明要进行哪些判断。

在以后需要进行较复杂的判断工作之前,建议大家也能这样做,这样有助于保持清醒的头脑以组织条理分明的语句。

判断公式是否为零=IF(TRUNC(C2,2)=0,TRUE,FALSE)是否只有整数部分=IF(TRUNC(C2,2)=TRUNC(C2),TRUE,FALSE)是否没有整数部分=IF(TRUNC(C2)=0,TRUE,FALSE)是否只有角位=IF(RIGHT(TEXT(TRUNC(C2,2),"0.00"),1)="0",TRUE,FALSE) 是否只有分位=IF(MID(C2,LEN(TEXT(TRUNC(C2,2),"0.00"))-1,1)="0",TRUE, FALSE)我们把以上公式分别输入到D11到D15单元格中,判断结果如下表所列:目标数值:5188.1 判断结果单元格是否为零FALSED11是否只有整数部分FALSED12是否没有整数部分FALSED13是否只有角TRUED14是否只有分FALSED15TRUE表示判断结果为真,FALSE则为假。

好了,最后,我们要综合以上各项判断结果来写出这个连结的公式:=IF(D11,"数值为零",IF(D12,D5&"整",IF(D13,IF(D14,D6&"整",IF(D15,D7,D8)),IF(D14,D5&D6&"整",IF(D15,D5&"零"&D7,D5&D8)))))。

相关文档
最新文档