excel 大小写转换问题(金额)

来源:百度知道 编辑:UC知道 时间:2024/05/02 19:32:16
我有一段关于金额大小写转换的 恳求各位高手帮忙修改一下!

=IF(ISNUMBER(Sheet1!B7),IF(INT(Sheet1!B7),TEXT(INT(Sheet1!B7),"[dbnum2]")&"元",)&IF(INT(Sheet1!B7*10)-INT(Sheet1!B7)*10,TEXT(INT(Sheet1!B7*10)-INT(Sheet1!B7)*10,"[dbnum2]")&"角",IF(INT(Sheet1!B7)=Sheet1!B7,,IF(Sheet1!B7<0.1,,"零")))&IF(ROUND((Sheet1!B7)*100-INT(Sheet1!B7*10)*10,),TEXT(ROUND(Sheet1!B7*100-INT(Sheet1!B7*10)*10,),"[dbnum2]")&"分",""))

这个可以让B7单元格里的小写金额 在 A9单元格里以大写的方式表达出来

可是 如果 B7里输入 1050.50 A9单元格里显示 壹仟零伍拾元伍角
我想让他显示为 壹仟零佰伍拾零元伍角零分 (最后没有“整”)
或者 壹仟零伍拾零元零角零分
原则上是 大写输出需要把每一位都表达出来
当然 如果小写是 100.00 那么 大写就是 壹佰零拾零元零角零分
期待高人帮忙解决!小弟不胜感激!

看看这个能否满足你的要求。
=RIGHT(TEXT(B7*100,"0亿0仟0佰0拾0万0仟0佰0拾0元0角0分[DBNum2]"),LEN(B7*100)*2)

以下两段为大小写转换的自定义函数代码。

'============================================================
Function DAXIE(N)
DAXIE = Replace(Application.Text(Round(N + 0.00000001, 2), "[DBnum2]"), ".", "元")
DAXIE = IIf(Left(RIGHT(DAXIE, 3), 1) = "元", Left(DAXIE, Len(DAXIE) - 1) & "角" & RIGHT(DAXIE, 1) & "分", IIf(Left(RIGHT(DAXIE, 2), 1) = "元", DAXIE & "角整", IIf(DAXIE = "零", "", DAXIE & "元整")))
DAXIE = Replace(Replace(Replace(Replace(DAXIE, "零元零角", ""), "零元", ""), "零角", "零"), "-", "负")
End Function
'============================================================
Function XIAOXIE(N As String)
Application.Volatile True
Hsf = "分角元拾佰仟万 亿"
Hs = &qu