要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的[dbnum2]G/通用格式改为[dbnum2] G/通用格式元来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为陆仟零伍拾.零玖圆。那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)一、在三个连续的同行单元格中转换
1. B2中输入公式 =IF(B1〈0,"金额为负无效",INT(B1)),计算结果为¥6,050.00,然后点击格式→单元格→数字→特殊→中文大写数字→确定,B2显示陆仟零伍拾,再点击格式→单元格→数字→自定义,将类型编辑框中的[dbnum2]G/通用格式修改为:[dbnum2](人民币)G/通用格式元,此时B2显示:(人民币)陆仟零伍拾元。
2. C2中输入=IF(B1〈0,"",INT(B110)-INT(B1)10),同样C2改为:[DBNum2]G/通用格式角,C2显示:零角。
3. D2中输入=IF(B1〈0,"",INT(B1100)-INT(B110)10),同样D2改为:[DBNum2]G/通用格式分, D2显示:玖分。
这样在连续的三个同行单元格中实现了大写金额格式的转换。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。
二、用Excel提供的函数转换
个位为0,则不显示;不为0,显示XXX元;不为0、且角位和分位均为0,显示XXX元整;元角分位均为0,则显示零元整。
小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示零;不为0,显示X角。
小数点后面第二位为0,则显示整;不为0,显示X分。
根据以上思路在B2中输入公式:
IF(B1〈0,"金额为负无效",IF(OR(B1=0,B1=""),"(人民币)零元整"));
IF(B1〈1,"(人民币)",TEXT(INT(B1),"[dbnum2](人民币)G/通用格式")&&"元")&&IF(INT(B110)-INT(B1)10=0);
IF(INT(B1)(INT(B1100)-INT(B110)10)=0,"","零"),TEXT(INT(B110)-INT(B1)10,"[dbnum2]")&&"角")&&IF((INT(B1100)-INT(B110)10)=0,"整",TEXT((INT(B1100)-INT(B1*10)*10),"[dbnum2]")&&"分")))。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)确认后B2显示:(人民币)陆仟零伍拾元零玖分。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击编辑→替换将B1替换掉。