1、EXCEL表中如何用函数把数字转化成中文大写金额格式(2008-03-09 10:18:25) 转载标签: 教育分类: 份内工作 在 EXCEL 表中把数字转化成中文大写金额格式是财务人员在日常工作中的一个难题,虽然在 EXCEL 中的单元格格式设置中有一个特殊格式中可以转换在中文大写数字,但不能给出元、角、分整的中文金额特定格式,许多财务人员为之一筹莫展,最后只能手工输入,降低了 EXCEL 的使用效率,但如果 TRUNC 工作表函数,这个问题将迎刃而解,如单元格 A1=123459.72,须在某一格记录其中文大写金额,则在该格内输入函数:=“大写人民币:“&IF(TRUNC(A1)=0,“
2、,TEXT(TRUNC(A1),“DBNum2G/通用格式“)&“元“)&IF(TRUNC(A1*10)-TRUNC(A1*10,-1)=0,IF(TRUNC(A1*100)-TRUNC(A1*100,-1) 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,
3、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*10
4、0)-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
5、(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,I
6、F(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(INT(ROUND(K11,2)*10),10)=0,IF(INT(ROUND(K11,2)*MOD(INT(ROUND(K11,2)*100),10)=0,“,“零“),TEXT(MOD(INT(ROUND(K11,2)*10),10),“dbnum2“)&“角“)&IF(MOD(INT(ROUND(K11,2)*100),10)=0,“整“,TEXT(MOD(INT(ROUND(K11,2)*100),10),“dbnum2“)&“分“)