excel小写转大写

请哪位高手帮帮忙!!来个公式!!请注意看图片!!是在右侧输入小写左侧自动转换大写的!!例如在B1输入100A1自动转换壹百元整
2026年09月26日 23:31
有5个网友回答
网友(1):

假设在B1中输入小写数字,在A1中得出大写,即将下面公式复制到A1回车即可:
="住院医疗费(大写):"&IF(TRIM(B1)="","",IF(B1=0,"",""&SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(B1)),"[dbnum2]G/通用格式元;负[dbnum2]G/通用格式元;"&IF(B1>-0.5%,,"负"))&TEXT(RIGHT(FIXED(B1),2),"[dbnum2]0角0分;;"&IF(ABS(B1)>1%,"整",)),"零角",IF(ABS(B1)<1,,"零")),"零分","整")))

假设在B2中输入小写数字,在A1中得出大写,即将下面公式复制到A2回车即可:
="医疗统筹基金支付总额(大写):"&IF(TRIM(B2)="","",IF(B2=0,"",""&SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(B2)),"[dbnum2]G/通用格式元;负[dbnum2]G/通用格式元;"&IF(B2>-0.5%,,"负"))&TEXT(RIGHT(FIXED(B2),2),"[dbnum2]0角0分;;"&IF(ABS(B2)>1%,"整",)),"零角",IF(ABS(B2)<1,,"零")),"零分","整")))

网友(2):

Function dxRMB(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]") & "分")
dxRMB = IIf(Abs(M) < 0.005, "", IIf(M < 0, "负" & A & b & c, A & b & c))
End Function
以上代码为自定义函数程序
按alt加F11 插入模块 粘贴以上代码
在a1输入"=dxRMB(b1)"即可

网友(3):

="大写金额:"&IF(TRIM(A1)="","",IF(A1=0,"","人民币"&IF(A1<0,"负",)&IF(INT(A1),TEXT(INT(ABS(A1)),"[dbnum2]")&"元",)&IF(INT(ABS(A1)*10)-INT(ABS(A1))*10,TEXT(INT(ABS(A1)*10)-INT(ABS(A1))*10,"[dbnum2]")&"角",IF(INT(ABS(A1))=ABS(A1),,IF(ABS(A1)<0.1,,"零")))&IF(ROUND(ABS(A1)*100-INT(ABS(A1)*10)*10,),TEXT(ROUND(ABS(A1)*100-INT(ABS(A1)*10)*10,),"[dbnum2]")&"分","整")))

网友(4):

请问你是用搜狗输入法吗?如果你用搜狗输入法这个问题就很容易解决了,你先按:“V”键,然后在按“100”就可以了。所有的数字都可以转换的。

网友(5):

可以在A1输入公式:=IF(INT(B1)=B1,TEXT(INT(B1),"[DBnuM2]")&"元整",TEXT(INT(B1),"[DBnuM2]")&"元"&TEXT(MID(B1,FIND(".",B1)+1,1),"[dbnum2]")&"角"&TEXT(MID(B1,FIND(".",B1)+2,1),"[dbnum2]")&"分"),这个公式有两个弊端,在只有1位小数(即几角时),只会显示几元几角分,负数时错误。如果你一定要完整的,只有用VBA,你会吗?