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