EXCEL表中如何用函数把数字转化成中文大写金额格式.docx_第1页
EXCEL表中如何用函数把数字转化成中文大写金额格式.docx_第2页
EXCEL表中如何用函数把数字转化成中文大写金额格式.docx_第3页
EXCEL表中如何用函数把数字转化成中文大写金额格式.docx_第4页
EXCEL表中如何用函数把数字转化成中文大写金额格式.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EXCEL表中如何用函数把数字转化成中文大写金额格式(2008-03-09 10:18:25) 转载标签: 教育分类: 份内工作 在EXCEL表中把数字转化成中文大写金额格式是财务人员在日常工作中的一个难题,虽然在EXCEL中的单元格格式设置中有一个特殊格式中可以转换在中文大写数字,但不能给出元、角、分整的中文金额特定格式,许多财务人员为之一筹莫展,最后只能手工输入,降低了EXCEL的使用效率,但如果TRUNC工作表函数,这个问题将迎刃而解,如单元格A1=123459.72,须在某一格记录其中文大写金额,则在该格内输入函数:=大写人民币:&IF(TRUNC(A1)=0,TEXT(TRUNC(A1),DBNum2G/通用格式)&元)&IF(TRUNC(A1*10)-TRUNC(A1*10,-1)=0,IF(TRUNC(A1*100)-TRUNC(A1*100,-1)0,零,),TEXT(TRUNC(A1*10)-TRUNC(A1*10,-1),DBNum2G/通用格式)&角)&IF(TRUNC(A1*100)-TRUNC(A1*100,-1)=0,TEXT(TRUNC(A1*100)-TRUNC(A1*100,-1),DBNum2G/通用格式)&分)&IF(TRUNC(A1*100)-TRUNC(A1*100,-1)=0,整,)回车后将得到完整的大写中文金额格式,这个函数将广泛应用于支票大家知道,在Excel中,可以通过设置单元格格式,把单元格的阿拉伯数字直接以中文数字形式来显示,但该格式并不适用于显示票据大写金额。 我以前在使用Foxpro时,是通过自定义函数,把小写金额的数字转化为字符后,进行分析转换的。当然,在Excel中也可以使用VBA来编写自定义函数,但这种方式对不利于表格共享。 实际上,Excel中的中文大写数字格式功能,已经基本能够解决整数的大写金额显示的问题,我们所要解决的是当金额出现角分位的情况。 解决的方法是使用复合函数,考虑到人民币的单位是元,辅币有角分两个单位,一般金额取值的精确度为小数后两位。同时,当金额有角位没有分位时,大写金额后可写“整”也可以不写“整”,此时较为规范的写法是不要写“整”字。那么,函数设置可以这样考虑:如果金额为零直接显示“”;对于数值元位以上部分,利用Excel的中文大写数字表示法在中文大写数字后直接加“元”字表示;如果元以上金额为空,则直接显示空字符;如果金额为整数,直接在中文数字后加“整”字;如果角位为零分位不为零,角位上写“零”;分位为零时,分位显示空字符。 于是,假定票据上的小写金额栏位在单元格K9上,那么,我们可以在对应的大写金额栏位上填入下面这个复合函数: =人民币&IF(ROUND(G10,2)0,负,)&IF(ROUND(ABS(K9),2)=0,IF(ROUND(K9,2)0,负,)&IF(ROUND(ABS(K9),2)1,TEXT(INT(ROUND(ABS(K9),2),dbnum2)&元)&IF(LEFT(RIGHT(TEXT(K9,0.00),2),1)=0,IF(RIGHT(TEXT(K9,0.00),1)=0,整,IF(ROUND(ABS(K9),2)1,零),TEXT(LEFT(RIGHT(TEXT(K9,0.00),2),1),dbnum2)&角)&IF(RIGHT(TEXT(K9,0.00),1)=0,TEXT(RIGHT(TEXT(K9,0.00),1),dbnum2)&分) 这里用到的几个函数有: TEXT(value,format_text)将数值转换为按指定数字格式表示的文本。 Value 是待转换的数值,可直接替换为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。 Format_text 指定的显示格式,为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。上述函数中dbnum2是中文大写数字的格式标志。 ABS(number)返回数字的绝对值。绝对值没有符号。 Number 需要计算其绝对值的实数。 INT(number)将数字向下舍入到最接近的整数也称为取整函数 Number 需要进行向下舍入取整的实数。 IF(logical_test,value_if_true,value_if_false)条件函数。执行真假值判断,根据逻辑计算的真假值,返回不同结果。 Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。 Value_if_true logical_test 为 TRUE 时函数返回值。 Value_if_false logical_test 为 FALSE 时函数返回值。 ROUND(number,num_digits)返回某个数字按指定位数取整后的数字。 Number 需要进行四舍五入的数字。 Num_digits 指定的位数,按此位数进行四舍五入。 本例中数字精确到小数后2位。 LEFT(text,num_chars) 取字符串左侧若干字符 Text 是包含要提取字符的文本字符串。 Num_chars 指定要由 LEFT 所提取的字符数。 RIGHT(text,num_chars) 取字符串右侧若干字符 Text 是包含要提取字符的文本字符串。 Num_chars 指定希望 RIGHT 提取的字符数。 &是字符连接符。 港币的中文大写显示方法与人民币相同,美元因为没有角位,其辅币单位只有美分,因此中文大写函数如下: =美元&IF(ROUND(G10,2)0,负,)&IF(ROUND(ABS(K9),2)=0,IF(ROUND(K9,2)0,负,)&IF(ROUND(K9,2)0,负,)&IF(ROUND(ABS(K9),2)1,TEXT(INT(ROUND(ABS(K9),2),dbnum2)&元)&IF(RIGHT(TEXT(K9,0.00),2)=00,整,TEXT(RIGHT(TEXT(K9,0.00),2),dbnum2)&分) 日元没有辅币,可以直接使用Execl提供的大写中文表达格式加“元”字进行转换: =IF(ROUND(ABS(K9),2)=0,IF(ROUND(K9,2)0,负,)&IF(ROUND(K9,2) 0 Number = Val(Mid(money, l, 1) If Number 0 Then umoney = umoney + Mid(dxmc, Number + 1, 1) umoney = umoney + Mid(dwmc, k, 1) Else If k 1 Then 如果没有分为零,则不显示分值及单位 If k Mod 4 3 Then 如果元、万上的值为零,则只显示单位 umoney = umoney + Mid(dxmc, Number + 1, 1) Else umoney = umoney + Mid(dwmc, k, 1) End If End If End If k = k - 1 l = l + 1 Loop Workbooks( Book2 ).Sheets( Sheet1 ). Range( A2 ).Value = umoney 将大写金额写入单元格 Book2 为文件名 Sheet1 为工作表名 A2 为存放大写金额的单元格 End Sub在D9中输入数字,粘贴以下内容到其他任意单元格内即可IF(D9=5,(INT(D9*100)-INT(D9*10)*10)+1,INT(D9*100)-INT(D9*10)*10),dbnum2)&分整) 标签: Access VBA. 假定你要在A5输入阿拉佰数字,B5转换成中文大写金额(含元角分),请在B5单元格输入如下公式: =IF(INT(A5*10)-INT(A5)*10)=0,TEXT(INT(A5),DBNum2G/通用格式)&元&IF(INT(A5*100)-INT(A5)*10)*10)=0,整,零&TEXT(INT(A5*100)-INT(A5*10)*10,DBNum2G/通用格式)&分),TEXT(INT(A5),DBNum2G/通用格式)&元&IF(INT(A5*100)-INT(A5)*10)*10)=0,TEXT(INT(A5*10)-INT(A5)*10),DBNum2G/通用格式)&角整,TEXT(INT(A5*10)-INT(A5)*10),DBNum2G/通用格式)&角&TEXT(INT(A5*100)-INT(A5*10)*10,DBNum2G/通用格式)&分)=IF(ROUND(K11,2)0,负&IF(ABS(ROUND(K11,2)1,TEXT(INT(ABS(ROUND(K11,2),dbnum2)&元)&IF(MOD(INT(ABS(ROUND(K11,2)*10),10)=0,IF(INT(ABS(ROUND(K11,2)*MOD(INT(ABS(ROUND(K11,2)*100),10)=0,零),TEXT(MOD(INT(ABS(ROUND(K11,2)*10),10),dbnum2)&角)&IF(MOD(INT(ABS(ROUND(K11,2)*100),10)=0,整,TEXT(MOD(INT(ABS(ROUND(K11,2)*100),10),dbnum2)&分),IF(ROUND(K11,2)=0,零,IF(ROUND(K11,2)1,TEXT(INT(ROUND(K11,2),dbnum2)&元)&IF(MOD(IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论