Excel 金额大小写转换公式

microjo
  1. 转自*财务经理人 Henry *网友,充分利用 Execl 的中文大写转换功能

    =IF(ROUND(G8,2)<0,"无效数值",IF(ROUND(G8,2)=0,"零",IF(ROUND(G8,2)<1,"",TEXT(INT(ROUND(G8,2)),"[dbnum2]")&"元")&IF(INT(ROUND(G8,2)*10)-INT(ROUND(G8,2))*10=0,IF(INT(ROUND(G8,2))* (INT(ROUND(G8,2)*100)-INT(ROUND(G8,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(G8,2)*10)-INT(ROUND(G8,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(G8,2)*100)-INT(ROUND(G8,2)*10)*10)=0,"整",TEXT((INT(ROUND(G8,2)*100)-INT(ROUND(G8,2)*10)*10),"[dbnum2]")&"分")))
    

    注:“G8”是 Excel 表格中金额小写所在的单元格,各人使用时只需修改下小写所在单元格位置即可。
    例1、56137.16 → 伍万陆仟壹佰叁拾柒元壹角陆分
    例2、760090.40 → 柒拾陆万零玖拾元肆角整

  2. shenboo@ExcelHOME

    附一个我做的人民币大写公式吧,在我的机器上是没有问题的,可是有些机器上就不行。

    SUBSTITUTE(IF(TRUNC(单元格)=0,IF(MID(单元格,LEN(TEXT(单元格,"0.00"))-1,1)="0","",TEXT(MID(单元格,LEN(TEXT(单元格,"0.00"))-1,1),"[DBNUM2]") & "角") & IF(RIGHT(TEXT(单元格,"0.00"),1)="0","",TEXT(RIGHT(TEXT(ROUND(单元格,2),"0.00"),1),"[DBNUM2]")&"分"), IF(TRUNC(单元格)=单元格,TEXT(TRUNC(单元格),"[DBNUM2]")&"元",TEXT(TRUNC(单元格)," [DBNUM2]")&"元" & IF(MID(单元格,LEN(TEXT(单元格,"0.00"))-1,1)="0","零",TEXT(MID(单元格,LEN(TEXT(单元格,"0.00"))-1,1),"[DBNUM2]") & "角") & IF(RIGHT(TEXT(单元格,"0.00"),1)="0","",TEXT(RIGHT(TEXT(ROUND(单元格,2),"0.00"),1),"[DBNUM2]")&"分"))),"-","负")
    

上面两个主要使用的 TEXT 函数,这个函数里面重要的就是第二个参数 format_text。“[DBNum2]”的可以把数字转换为中文大写形式。

相关文章

发布: