EXCEL中小写转大写
- 格式:doc
- 大小:38.50 KB
- 文档页数:3
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单元格):收款单位、金额、用途,其他内容全部自动生成。
B1=IF(A1<0,"负",)&TEXT(TRUNC(ABS(A1)),"[DBNum2]G/通用格式")&"元"&IF(ROUND(A1,3)=ROUND(A2,),"整",TEXT(RIGHT(TRUNC(A1*10),1),"[DBNum2]G/通用格式")&"角"&IF(ROUND(A1,3)=ROUND(A1,1),"整",TEXT(RIGHT(ROUND((A1*100),),1),"[DBNum2]G/通用格式")&"分"))=IF(A1="","",IF(A1<0,"负",)&IF(INT(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的朋友,也会感觉其操作实际上是非常简单的。
excel字母大小写函数
在Excel中,可以使用以下函数来转换字母的大小写:
1.大写函数:UPPER
`=UPPER(text)`
该函数将文本中的字母转换为大写。
例如,`=UPPER("abc")` 的结果为 "ABC"。
2.小写函数:LOWER
`=LOWER(text)`
该函数将文本中的字母转换为小写。
例如,`=LOWER("ABC")` 的结果为 "abc"。
3.大小写互换函数:PROPER
`=PROPER(text)`
该函数将文本中的每个单词的首字母大写,其余字母小写。
例如,`=PROPER("apple banana")` 的结果为 "Apple Banana"。
需要注意的是,这些函数都是大小写敏感的,它们只会转换文本中的字母,而不会对数字或其他字符进行转换。
一、介绍Excel金额大写自动生成的公式在日常工作中,我们经常会遇到需要将阿拉伯数字金额转换为大写金额的情况。
而在Excel中,我们可以利用公式来实现这一转换,从而提高工作效率。
本文将介绍Excel中金额大写自动生成的公式的使用方法和注意事项。
二、公式的基本原理1. 在Excel中,可以利用VBA编程语言来编写宏以实现金额大写自动生成的功能。
通过编写相应的VBA代码,可以使Excel自动将输入的数字金额转换为大写金额。
2. 公式的基本原理是将输入的阿拉伯数字金额拆分成整数和小数部分,然后分别进行转换为大写金额,最后将整数和小数部分的大写金额合并为最终结果。
三、公式的具体实现步骤1. 在Excel中,首先需要按下Alt + F11组合键打开VBA编辑器,在项目资源管理器中选择需要添加宏的工作簿。
2. 在选中的工作簿中插入一个新的模块,然后在模块中编写相应的VBA代码。
可以借助搜索引擎查找金额大写自动生成的VBA代码,然后将其粘贴到模块中。
3. 在编写完成VBA代码后,可以利用快捷键Alt + F8来运行宏,或者将宏添加到快速访问工具栏,方便日常使用。
四、注意事项1. 在使用金额大写自动生成的公式时,需要确保输入的金额格式正确,且没有特殊符号和字母等非数字字符。
2. 由于VBA代码的复杂性和灵活性,建议在使用前充分了解其功能和运行原理,以避免出现不必要的错误和问题。
3. 在日常工作中,需要根据具体的需求,对金额大写自动生成的公式进行必要的修改和调整,以满足不同的应用场景。
五、结语通过以上介绍,相信大家对Excel金额大写自动生成的公式有了一定的了解。
在实际工作中,合理利用Excel的功能和公式,可以提高工作效率,减少重复劳动,帮助我们更好地处理各类金额转换的需求。
希望本文的介绍能够对大家有所帮助。
六、如何修改VBA代码以适应不同的需求1. 调整显示格式:根据实际需求,我们可以修改VBA代码中的显示格式,包括小数点后保留位数、显示大写金额的格式等。
如何在Excel中设置打印单元格数据大小写转换Excel是一个功能强大的电子表格软件,广泛应用于数据处理、分析和展示。
在日常工作中,我们经常需要将单元格中的数据进行大小写转换,以便满足特定的需求。
本文将介绍在Excel中设置打印单元格数据大小写转换的方法,帮助您更高效地处理数据。
一、使用公式进行大小写转换在Excel中,可以使用一些函数来实现对单元格数据的大小写转换。
以下是两个常用的函数:1. UPPER函数:将文本转换为大写UPPER函数可以将指定的文本转换为大写。
它的语法如下:=UPPER(text)其中text为需要转换为大写的文本或单元格引用。
例如,如果我们有一个单元格A1中的文本为"hello world",我们可以在另一个单元格B1中输入以下公式来实现转换:=UPPER(A1)这样,B1单元格中就会显示"HELLO WORLD"。
2. LOWER函数:将文本转换为小写LOWER函数可以将指定的文本转换为小写。
它的语法如下:=LOWER(text)其中text为需要转换为小写的文本或单元格引用。
例如,如果我们有一个单元格A1中的文本为"Hello World",我们可以在另一个单元格B1中输入以下公式来实现转换:=LOWER(A1)这样,B1单元格中就会显示"hello world"。
二、使用条件格式进行大小写转换除了使用公式进行大小写转换外,还可以使用条件格式来实现。
条件格式可以根据指定的条件对单元格进行格式化,包括文本大小写的转换。
1. 选择需要转换大小写的单元格范围首先,选择需要进行大小写转换的单元格范围。
可以是一列、一行或整个表格。
2. 添加条件格式规则接下来,点击Excel工具栏上的"开始"选项卡,然后点击"条件格式",选择"新建规则"。
有时工作中大小写母需要规范,如下图:
小写字母需要转化成大写字母
大写字母需要转化成小写字母
阿拉伯数字转化成罗马数字
虽然看起来很简单,但如果你不知道用什么函数,也会很麻烦,今天我们就来学习三个函数。
UPPER:
功能:
小写字母转大写
语法:
UPPER(text)
功能:
大写字母转小写
语法:
LOWER(text)
功能:
阿拉伯数字转化罗马数字
语法:
ROMAN(number, [form])
form省略,默认转化为上述例子中的效果。
以上前两个函数均只针对文本中的字母进行转化。
讲到这里,文章开头的例子你就应该知道怎么做了吧!当然实际的例子中可能需要配合left、right、mid等函数使用。
比如A1中为:iphone7plus
我们需要的格式是:iphone7PLUS
公式:=left(A1,7)&upper(right(A1,4))。
2019年excel小写数值如何转换为大写篇一:Excel表中小写金额直接转换成大写金额的公式Excel表中小写金额直接转换成大写金额的公式:一、=IF(OR(A1二、假定你要在B1输入阿拉佰数字,C1转换成中文大写金额(含元角分),请在C1单元格输入如下公式:=SUBSTITUTE(SUBSTITUTE(IF(-RMB(B1),IF(B1>0,,"")&TEXT(INT(AB S(B1)+0.5%),"[dbnum2]G/通用格负式元;;")&TEXT(RIGHT(RMB(B1,2),2),"[dbnum2]0角0分;;整"),),"零角",IF(B1^2<1,,"零")),"零分","整")三、用公式就可以,我不懂做会计的如何用大写表示如128.40这样的角不为0但分为0的值,是“壹佰贰拾捌元肆角整”还是“壹佰贰拾捌元肆角”?如果是“壹佰贰拾捌元肆角”,请用这个公式:=TEXT(INT(B2),"[DBNUM2]")&"元"&IF(INT(B2)=B2,"整",(IF(INT(B2*10)-INT(B2)*10>0,TEXT(INT(B2*10)-INT(B2)*10,"[ DBNUM2]")&"角","零")&IF(B2*100-INT(B2*10)*10>0,TEXT(B2*100-INT(B2*10)*10,"[db num2]")&"分","")))如果是“壹佰贰拾捌元肆角整”,请用这个公式:=TEXT(INT(B2),"[DBNUM2]")&"元"&(IF(INT(B2*10)-INT(B2)*10>0,TEXT(INT(B2*10)-INT(B2)*10,"[ DBNUM2]")&"角",IF(B2*100-INT(B2*10)*10>0,"零",""))&IF(B2*100-INT(B2*10)*10>0,TEXT(B2*100-INT(B2*10)*10, "[dbnum2]")&"分","整"))说明:1、将以上公式中的B2换成你要换算的值或对应的单元格。
用函数把小写数字转化为大写,大写就会随着小写数字而变化了。
假设小写数字放在A1中,B1中输入=text(a1*100,"[dbnum2]0万0千0佰0拾0元0角0分")试试。
经常有朋友问我怎么在电子表格里输入数字的时候,能让他自动输出的是大写金额。
因为如果你慢慢的输入大写金额的话,显得比较慢,不方便操作。
今天我就把这个方法写在这上边,让你一招就学会。
方法一:=IF(C15<0,"零元整",IF(C15=0,"",IF(TRUNC(C15)=C7,TEXT(TRUNC(C15)," [DBNum2][$-804]G/通用格式")&"元整",TEXT(TRUNC(C15),"[DBNum2][$-804] G/通用格式")&"元"&IF(TRUNC((C15)*10)-TRUNC(C15)*10=0,"零"&TEXT(TRUN C((C15)*100)-TRUNC((C15)*10)*10,"[DBNum2][$-804]G/通用格式")&"分",TE XT(TRUNC((C15)*10)-TRUNC(C15)*10,"[DBNum2][$-804]G/通用格式")&"角"& IF(TRUNC((C15)*100)-TRUNC((C15)*10)*10=0,"整",TEXT(TRUNC((C15)*10 0)-TRUNC((C15)*10)*10,"[DBNum2][$-804]G/通用格式")&"分")))))把这些代码复制到你要输出大写金额的格内,然后把C15改成你所要输出的小写金额的代号。
在Excel中,要将各个句子的首字母转换成大写,你可以使用以下公式:
=UPPER(LEFT(A1, 1))&MID(A1, 2, LEN(A1)-1)
以上公式中,A1是要转换的单元格。
按照以下步骤进行操作:
1. 把你的文本放入A列的某个单元格,比如A1。
2. 在B1或任何你需要将结果放入的单元格中键入上面的公式。
3. 按Enter,你会看到A1单元格中文本的首字母已经转换成大写了。
需要注意的是,如果你的文本包含多个句子,你需要逐个处理这种情况。
此时,可以使用如下函数来代替:
=SUBSTITUTE(PROPER(A1),". ",". ")
在这个函数中,A1是包含句子或者文本的单元格。
这种方法能够识别多个句子,并将每个句子的首字母都转换为大写。
excel金额大写转换公式Excel中的金额一般以数字形式表示,但有时候需要将其转换成中文大写的形式,如“1234.56”转换成“壹仟贰佰叁拾肆元伍角陆分”。
这时候可以通过使用公式来实现这个功能。
下面是一个示例的公式:=IF(A1<0,'负','')&CHOOSE(INT((LEN(SUBSTITUTE(A1,'-',''))+2)/3),'', '拾', '佰', '仟', '万', '拾万', '佰万', '仟万', '亿', '拾亿', '佰亿', '仟亿')&IF(MOD(A1,1000)=0,TEXT(A1/1000,'0'),TEXT(INT(A1/1000),'0 '))&IF(AND(MOD(A1,1000)>0,MOD(A1,1000)<100),'零','')&IF(MOD(A1,100)<10,'零','')&IF(AND(MOD(A1,100)>0,MOD(A1,100)<20),CHOOSE(MOD(A1,100),'壹','贰','叁','肆','伍','陆','柒','捌','玖','拾','十一','十二','十三','十四','十五','十六','十七','十八','十九'),CHOOSE(INT(MOD(A1,100)/10),'零','拾','廿','卅')&IF(MOD(A1,10)=0,'',CHOOSE(MOD(A1,10),'壹','贰','叁','肆','伍','陆','柒','捌','玖')))&IF(MOD(A1,1000)=0,'元整','元')&IF(MOD(A1,10)=0,'','角')&IF(MOD(A1*10,10)=0,'整','')&IF(MOD(A1*100,10)=0,'','分')这个公式可以将单元格A1中的金额转换成中文大写。
EXCEL中小写转大写 公式一: 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)),"[DBNum2]"))&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,"","整")),"零元零",""),"零元","") 公式二: CONCATENATE(IF(A1<0,"负",""),TEXT(IF(TRUNC(A1)=0,"",TRUNC(ABS(A1))),"[DBNum2]"),IF(INT(TRUNC(A1))=0,"","元"),TEXT(IF(OR(ABS(A1)<0.1,TRUNC(A1)=A1),"",RIGHT(TRUNC(A1*10),1)),"[DBNum2]"),IF(RIGHT(TRUNC(A1*10),1)="0","","角"),TEXT(IF(RIGHT(TRUNC(A1*100),1)="0","",RIGHT(TRUNC(A1*100),1)),"[DBNum2]"),IF(RIGHT(TRUNC(A1*100),1)="0","","分")) 公式三: IF(ROUND(A1,2)=0,"",IF(ROUND(ABS(A1),2)>=1,TEXT(INT(ROUND(ABS(A1),2)),"[DBNum2]")&"元","")&IF(RIGHT(TEXT(A1,".00"),2)*1=0,"整",IF(RIGHT(TEXT(A1,".00"),4)*1>=1,IF(RIGHT(TEXT(A1,".00"),2)*1>9,"","零"),IF(ROUND(ABS(A1),2)>=1,"零",""))&IF(RIGHT(TEXT(A1,".00"),2)*1>9,TEXT(LEFT(RIGHT(TEXT(A1,".00"),2)),"[DBNum2]")&"角","")&IF(RIGHT(TEXT(A1,".00"))*1>0,TEXT(RIGHT(TEXT(A1,".00")),"[DBNum2]")&"分","整"))) 我用不同的数值对这三个公式进行了一番测试,都达到了我的要求,至少到目前为止还没有发现上述公式存在着什么错误。上述公式对负数的处理采取了不同的方法。公式一和公式二对负数是在其前部加上一个“负”字,而公式三则是按正数进行处理。我比较推崇公式三的方式,不是还有条件格式可以设置吗?若是负数就用条件格式来变为红色。 我不准备在此对上述公式进行分析解说。撰写本文的目的是我也想自己来“组装”一个所谓的通用公式。我只所以说是“组装”而不是叫什么“开发”或者是“拼凑”,是因为EXCEL的函数现成地摆在了那里,使用时就是为了达到某种目的,按照其固有的规则,将其进行有机的组合,可谓“组装”。但是在这个过程中,也是要开动脑筋的,并非是随随便便“拼凑”就能成功的。本文的目的就是想将我在“组装”公式时的思路展现出来。 若用程序设计语言(比如用C语言)来写一个人民币数字金额转大写金额会怎样考虑呢?我想每一位数字都要考虑到。但在EXCEL中,单元格格式中有一个“特殊”格式,里面就有将小写数字转换为大写数字的格式。但要注意的是,这里转换的是数字而不是金额。所以转换出来后并不存在“元”、“角”、“分”、“整”等在大写金额中出现的字。但是,“元”只出现在整数部分的后面,而小数部分只有角分两位。这样只要利用EXCEL的“特殊”格式将数据分为整数部分、角位和分位三个部分来处理就行了。处理的顺序是先整数,再角位、再分位。 由于要分三个部分分别处理,然后根据情况分别与“元”,“角”,“分”及“整”相连接。连接的方式可以使用CONCATENATE()函数,如公式二,也可以使用连接符&。而用&来连接,公式结构似乎会相对简单清晰一些,所以我选择了用&来连接。 虽然对问题进行了分解,但需要考虑的细节相当多。 若单元格为0或者空,输出空,避免出现“零”、“零元”等字样。对非数字字符不进行处理,使用EXCEL自身的错误提示。 对负数按正数处理,再用条件格式将其转换为红色,不拟采用“负XXXXXX”的形式。 整数加“元”,若是纯整数,就只处理整数且加“整”,不再处理小数部分。若是纯小数,放在小数部分处理,不单独列出处理。角为0且分不为0,应输出“零”,只有角的就加“整” 如果有尾数,即有3位以上小数(这种情况也许很少发生,但作为一个“通用”公式,却不能不考虑这种情况)。则有两种处理方式,一是截尾,另一则是四舍五入。由于两种方式的排它性。决定做两个公式。 如果数值小于分,截尾公式输出空,而四舍五入公式则要考虑舍入问题。若有舍入输出分,没有则输出空。 根据这个思路,我“组装”了下面两个公式。 公式四: IF(A1=0,"",IF(ABS(A1)<0.995,"",TEXT(INT(ROUND(ABS(A1),2)),"[DBNum2]")&"元")&IF(RIGHT(TEXT(A1,".00"),2)*1=0,IF(ABS(A1)<0.005,"","整"),TEXT(IF(ABS(A1)<0.095,"",LEFT(RIGHT(TEXT(A1,".00"),2))),"[dbnum2]")&IF(LEFT(RIGHT(TEXT(A1,".00"),2))*1=0,"","角")&IF(RIGHT(TEXT(A1,".00"))*1=0,"整",TEXT(RIGHT(TEXT(A1,".00")),"[dbnum2]")&"分"))) 公式五: IF(A1=0,"",IF(ABS(A1)<1,"",TEXT(TRUNC(ABS(A1)),"[DBNum2]")&"元")&IF(RIGHT(TRUNC(A1*100),2)*1=0,IF(ABS(A1)<0.01,"","整"),IF(ABS(A1)<0.1,"",TEXT(RIGHT(TRUNC(A1*10)),"[dbnum2]"))&IF(RIGHT(TRUNC(A1*10))*1=0,"","角")&IF(RIGHT(TRUNC(A1*100))*1=0,"整",TEXT(RIGHT(TRUNC(A1*100)),"[dbnum2]")&"分"))) 公式四是四舍五入公式,公式五则是截尾公式。两个公式的结构其实是一样的,只是使用了不同的函数。下面用公式四来说明。 TEXT(INT(ROUND(ABS(A1),2)),"[DBNum2]")&"元"用来处理整数部分,考虑到纯小数及舍入问题,增加一个判断ABS(A1)<0.995,用0.995,即保证了正常的舍入,又避免了出现0.9945也进行舍入的错误。 用RIGHTB(TEXT(A1,".00"),2)*1=0来判断是不是纯整数,是就输出“整”,后面就不用处理了。因为TEXT函数输出的是文本值,所以在这里有两种处理方法,一是就是本式,二是RIGHTB(TEXT(A1,".00"),2)="00"。 LEFT(RIGHT(TEXT(A1,".00"),2))是取出角位数,增加一个判断ABS(A1)<0.095是为了在只有分票的情况下角位避免出现“零”的字样,0.095也是考虑了尾数的舍入问题。 IF(LEFT(RIGHT(TEXT(A1,".00"),2))*1=0,"","角"),角位是0输出空,否则输出“角”。同样,这里的判断表达式也可改为LEFT(RIGHT(TEXT(A1,".00"),2))="0 " 用RIGHT(TEXT(A1,".00"))取出分位数,分位为零输出“整”,否则输出分位数。 对于负数,如果一定要用“负XXXXXX”的形式,则直接在第二个判断前加上“IF(A1<0,"负","")&”。 还有网友提出来说万位为零时不输出零不符合规范,为此我专门去查了一下相关规定。结果如下: 大写金额中间有“0”时,大写金额要写“零”字;小写金额中间连续有几个“0”时,大写金额中间可以只写一个“零”字;小写金额万位或元位是“ 0”,或者数字中间连续有几个“0”,万 位、元位也是“0”,但千位、角位不是“0”时,大写金额中可以只写一个“零”字,也可以不写“零”字。 所以上述公式在当万位为零而千位不为零时,以不输出零的方式处理,应该是符合规范的。也许正是EXCEL采取这种样式的原因。当然,如果遵照习惯非要加上这个零字也不是不可能。只不过要增加一点公式复杂度罢了。 在一个数中,万会出现几次?不管是万、十万、百万、千万,这个万就出现一次,如果是万万则是亿,如果是万亿又是兆,万兆呢?已经超出EXCEL的处理能力了。所以答案是万字在大写金额中只可能出现一次,且只出现在整数部分。即然是这样,用SUBSTITUTE()函数就能解决问题。即判断当万位为零而千位不为零时,用“万零”来替换“万”,其它情况下不进行替换。因为EXCEL只有在这种情况下不会输出“零”。 在四舍五入公式中,因为还要考虑尾数舍入问题,判断使用了四舍五入函数ROUND(),公式四的输出整数的部分公式改为: IF(AND(RIGHT(INT(ROUND(ABS(A1),2)/10000))="0",RIGHT(INT(ROUND(ABS(A1),2)/1000))<>"0"),SUBSTITUTE(TEXT(INT(ROUND(ABS(A1),2)),"[DBNum2]"),"万","万零"),TEXT(INT(ROUND(ABS(A1),2)),"[DBNum2]")) 而截断公式不用考虑尾数舍入问题,直接用TRUNC()取万位和千位数来判断。相应地公式五的整数部分亦改为: IF(AND(RIGHT(TRUNC(ABS(A1)/10000))="0",RIGHT(TRUNC(ABS(A1)/1000))<>"0"),SUBSTITUTE(TEXT(TRUNC(ABS(A1)),"[DBNum2]"),"万","万零"),TEXT(TRUNC(ABS(A1)),"[DBNum2]")) 为了一个我认为不是很必要的“零”字使公式臃肿了许多,而我喜欢简单清晰的公式,所以不愿在正式公式中采用。