您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 怎样在EXCEL中数字转人民币大写
怎样在EXCEL中数字转人民币大写1.第一种方法:通过函数嵌套实现数字转人民币大写形式的公式是:=IF(B10,金额为负无效,(IF(OR(B1=0,B1=),(人民币)零元,IF(B11,(人民币),TEXT(INT(B1),[dbnum2](人民币)G/通用格式)&元))))&IF((INT(B1*10)-INT(B1)*10)=0,IF(INT(B1*100)-INT(B1*10)*10=0,,零),(TEXT(INT(B1*10)-INT(B1)*10,[dbnum2])&角))&IF((INT(B1*100)-INT(B1*10)*10)=0,整,TEXT((INT(B1*100)-INT(B1*10)*10),[dbnum2])&分)数字转人民币大写形式的公式是:=大写金额:&IF(TRIM(B1)=,,IF(B1=0,,人民币&IF(B10,负,)&IF(INT(B1),TEXT(INT(ABS(B1)),[dbnum2])&元,)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B1))*10,[dbnum2])&角,IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)0.1,,零)))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),[dbnum2])&分,整)))12508.34大写金额:壹万贰仟伍佰零捌元叁角肆分数字转人民币大写形式的公式是:=大写金额:&IF(TRIM(B1)=,,IF(B1=0,,&IF(B10,负,)&IF(INT(B1),TEXT(INT(ABS(B1)),[dbnum2])&元,)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B1))*10,[dbnum2])&角,IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)0.1,,零)))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),[dbnum2])&分,整)))这类转换的格式没有“人民币”字样1.第二种方法:通过宏VBA自定义函数实现第一步:按下ALT+F11组合键,或者是单击工具——宏——VisualBasic编辑器,进入VisualBasic编程环境,单击“插入”菜单——模块,复制下面代码,保存,退出关闭。FunctionN2RMB(M)y=Int(Round(100*Abs(M))/100)j=Round(100*Abs(M)+0.00001)-y*100f=(j/10-Int(j/10))*10A=IIf(y1,,Application.Text(y,[DBNum2])&元)b=IIf(j9.5,Application.Text(Int(j/10),[DBNum2])&角,IIf(y1,,IIf(f1,零,)))c=IIf(f1,整,Application.Text(Round(f,0),[DBNum2])&分)N2RMB=IIf(Abs(M)0.005,,IIf(M0,负&A&b&c,A&b&c))EndFunction第二步:返回excel操作界面,在B1单元格输入:=N2RMB(A1),就可以将A1单元格的数字转为人民币大写,然后向下复制公式即可将全部的数字转为人民币大写。要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2]G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND()四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。步骤/方法1.一、在三个连续的同行单元格中转换1.B2中输入公式“=IF(B10,金额为负无效,INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。2.C2中输入“=IF(B10,,INT(B110)-INT(B1)10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。3.D2中输入“=IF(B10,,INT(B1100)-INT(B110)10)”,同样D2改为:[DBNum2]G/通用格式“分”,D2显示:“玖分”。这样在连续的三个同行单元格中实现了大写金额格式的转换,如图1所示。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。2.二、用Excel提供的函数转换个位为0,则不显示;不为0,显示“XXX元”;不为0、且角位和分位均为0,显示“XXX元整”;元角分位均为0,则显示“零元整”。小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示“零”;不为0,显示“X角”。小数点后面第二位为0,则显示“整”;不为0,显示“X分”。根据以上思路在B2中输入公式:“IF(B10,金额为负无效,IF(OR(B1=0,B1=),(人民币)零元整));IF(B11,(人民币),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])&&分)))”。确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。两种转换测试结果如图2所示。要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2]G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND()四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。步骤/方法1.一、在三个连续的同行单元格中转换1.B2中输入公式“=IF(B10,金额为负无效,INT(B1))”,计算结果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆仟零伍拾元”。2.C2中输入“=IF(B10,,INT(B1?10)-INT(B1)?10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。3.D2中输入“=IF(B10,,INT(B1?100)-INT(B1?10)?10)”,同样D2改为:[DBNum2]G/通用格式“分”,D2显示:“玖分”。这样在连续的三个同行单元格中实现了大写金额格式的转换,如图1所示。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。图1显示大写金额2.二、用Excel提供的函数转换个位为0,则不显示;不为0,显示“XXX元”;不为0、且角位和分位均为0,显示“XXX元整”;元角分位均为0,则显示“零元整”。小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示“零”;不为0,显示“X角”。小数点后面第二位为0,则显示“整”;不为0,显示“X分”。根据以上思路在B2中输入公式:“IF(B10,金额为负无效,IF(OR(B1=0,B1=),(人民币)零元整));IF(B11,(人民币),TEXT(INT(B1),[dbnum2](人民币)G/通用格式)&&元)&&IF(INT(B1?10)-INT(B1)?10=0);IF(INT(B1)?(INT(B1?100)-INT(B1?10)?10)=0,,零),TEXT(INT(B1?10)-INT(B1)10,[dbnum2])&&角)&&IF((INT(B1?100)-INT(B1?10)?10)=0,整,TEXT((INT(B1?100)-INT(B1*10)*10),[dbnum2])&&分)))”。确认后B2显示:“(人民币)陆仟零伍拾元零玖分”。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击“编辑→替换”将B1替换掉。两种转换测试结果如图2所示。图2两种方式对话结果3.要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式”改为“[dbnum2]G/通用格式“元””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND()四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。4.一、在三个连续的同行单元格中转换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显示:“玖分”。这样在连续的三个同行单元格中实现了大写金额格式的转换,如图1所示。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。5.二、用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)-
本文标题:怎样在EXCEL中数字转人民币大写
链接地址:https://www.777doc.com/doc-3213453 .html