怎样在EXCEL中数字转人民币大写

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

怎样在EXCEL中数字转人民币大写
1.第一种方法:通过函数嵌套实现
数字转人民币大写形式的公式是:
=IF(B1<0,"金额为负无效",
(IF(OR(B1=0,B1=""),"(人民币)零元",
IF(B1<1,"(人民币)",
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(B1<0,"负",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元
",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B 1))*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(B1<0,"负
",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元
",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B 1))*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组合键,或者是单击工具——宏——Visual Basic 编辑器,进入Visual Basic编程环境,单击“插入” 菜单——模块,复制下面代码,保存,退出关闭。

Function N2RMB(M)
y = Int(Round(100 * Abs(M)) / 100)
j = Round(100 * Abs(M) + 0.00001) - y * 100
f = (j / 10 - Int(j / 10)) * 10
A = IIf(y < 1, "", Application.Text(y, "[DBNum2]") & "元")
b = IIf(j > 9.5, Application.Text(Int(j / 10), "[DBNum2]") & "
角", IIf(y < 1, "", IIf(f > 1, "零", "")))
c = IIf(f < 1, "整", Application.Text(Round(f, 0), "[DBNum2]") &
"分")
N2RMB = IIf(Abs(M) < 0.005, "", IIf(M < 0, "负" & A & b & c, A &
b & c))
End Function
第二步:返回excel操作界面,在B1单元格输入:= N2RMB (A1),就可
以将A1单元格的数字转为人民币大写,然后向下复制公式即可将全部的
数字转为人民币大写。

要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnu m2]G/通用格式”改为“[dbnum2] G/通用格式“元””来实现。

但在转换小数时却出现了问题,比如¥6,050.09只能转换为“陆仟零伍拾.零玖圆”。

那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对
B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其
值为¥6,050.09)。

步骤/方法
1.一、在三个连续的同行单元格中转换
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要左对齐。

2.二、用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(B1 100)-INT(B110)10)=0,"整",TEXT((INT(B1
100)-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(B1<0,"金额为负无效",INT(B1))”,计算结
果为¥6,050.00,然后点击“格式→单元格→数字→特殊→中文大写数字→确定”,B2显示“陆仟零伍拾”,再点击“格式→单元格→数字→自
定义”,将“类型”编辑框中的“[dbnum2]G/通用格式”修改为:
[dbnum2](“人民币”)G/通用格式“元”,此时B2显示:“(人民币)陆
仟零伍拾元”。

2. C2中输入“=IF(B1<0,"",INT(B1?10)-INT(B1)?10)”,同样C2改
为:[DBNum2]G/通用格式“角”,C2显示:“零角”。

3. D2中输入“=IF(B1<0,"",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(B1<0,"金额为负无效",IF(OR(B1=0,B1=""),"(人民币)零元整"));
IF(B1<1,"(人民币)",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(B1 10)-INT(B1) 10)”,同样C2改为:[DBNum2]G/通用格式“角”,C2显示:“零角”。

3. D2中输入“=IF(B1〈0,"",INT(B1 100)-INT(B1 10) 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(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所示。

Excel中,把数字如何转为中文大写。

把以下代码放入单元格中即可。

=IF($E$3<1,
IF($E$3<0.1,TEXT(INT($E$3*100),"[DBNum2]G/通用格式")&"分", IF((INT($E$3*100)-INT($E$3*10)*10=0),TEXT(INT($E$3*10),"[DBNum2]G/通用格式")&"角整",
TEXT(INT($E$3*10),"[DBNum2]G/通用格式")&"角
"&TEXT(INT($E$3*100)-INT($E$3*10)*10,"[DBNum2]G/通用格式")&"分")),
TEXT(INT($E$3),"[DBNum2]G/通用格式"&"元
")&IF((INT($E$3*10)-INT($E$3)*10)=0,IF((INT($E$3*100)-INT($E$3*10)*10)=0,"","零
"),IF((INT($E$3*0.1)-INT($E$3)*0.1)=0,"零","")&TEXT(INT($E$3*10)-INT($E$3)*10,"[DBNum2]G/通用格
式")&"角")&IF((INT($E$3*100)-INT($E$3*10)*10)=0,"整
",TEXT(INT($E$3*100)-INT($E$3*10)*10,"[DBNum2]G/通用格式")&"分"))
效果图:。

相关文档
最新文档