2024年5月10日发(作者:)

Excel数字大写设置为特殊-中文大写数字后,如1230.45,变为 “壹仟贰佰叁拾.肆

伍”怎样把小数点去掉?

我也不会数字如何转换为人民币大写,用"google"查半天没有查到答案,原来

是自己用的关键词有问题,我朋友说我智商严重有问题?真有问题吗?!!呵呵!!!

我也是帮别人做这种会计表格的,朋友说我智商有问题,我想:那很多人智商都有

问题呢!!!

用"google"查:"xls 货币 大写",即可查出如何 "在EXCEL中将数字转换为人民币

大写的三种方式"

以下COPY 过来仅供参考,也可自行"google".

Excel中也提供了将数字转成人民币大写的功能,就是使用“设置单元格格式-

-数字--特殊--中文大写数字”。比如:589.3转人民币大写后就是:伍佰捌

拾玖.叁。只要用过的朋友们都知道使用excel的内置功能,将数字转人民币大

写,转出来的结果还是不符合人民币的说明习惯,所以我们一般不会采用这种方

法。

小编给大家分享的两种方法主要是通过函数嵌套和宏VBA自定义函数。

EXCEL 数字转人民币大写的第一种方法:通过函数嵌套实现。有两种格式

可供参考,详见下图:

第一种数字转人民币大写形式的公式是:

=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(

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]")&"分","整")))

EXCEL 数字转人民币大写的第二种方法:通过宏VBA自定义函数实现。参考

下图。

EXCEL 数字转人民币大写的第二种方法:通过宏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, "", (y, "[DBNum2]") & "元")

b = IIf(j > 9.5, (Int(j / 10), "[DBNum2]") & "角", IIf(y < 1, "", IIf(f >

1, "零", "")))

c = IIf(f < 1, "整", (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单元格的数字转为人民币大写,然后向下复制公式即可将全部的数字转为

人民币大写。