1. 首页
  2. > 商标注册 >

财务金额数字转大写公式(财务上大写的1 至10 怎么写)

前言

经常遇到搞财务的想把表格里的数字金额变为大写人民币的问题,在网上搜能找到有个很长很复杂的公式,复制过去直接用,逐个选择对应的单元格,细心点一般能搞定。但当遇到金额小数点后面精确到分以下的位数时,拷来的公式可能会对金额的分值显示错误,不太靠得住,今天提供一个非常简单的函数实现这个功能,对函数不懂的小白们也能轻松掌握。


案例


上图B5单元格公式为从网上搜到的公式:


=IF(A5<=0,"",TEXT(INT(A5),"[dbnum2]¥G/通用格式")&"元"&IF(INT(A5*10)-INT(A5)*10=0,IF(INT(A5)*(INT(A5*100)-INT(A5*10)*10)=0,"","零"),TEXT(INT(A5*10)-INT(A5)*10,"[dbnum2]")&"角")&IF((INT(A5*100)-INT(A5*10)*10)=0,"整",TEXT((INT(A5*100)-INT(A5*10)*10),"[dbnum2]")&"分"))


最后的分值数值为3分,显示出来结果却为贰分,显然有问题。其实将A列增加显示小数点位数可发现,A5单元格小数点后实际数值为.727。所以公式得出贰分的原因为公式没有进行四舍五入。修改公式为:


=IF(A5<=0,"",TEXT(INT(A5),"[dbnum2]¥G/通用格式")&"元"&IF(INT(A5*10)-INT(A5)*10=0,IF(INT(A5)*(INT(A5*100)-INT(A5*10)*10)=0,"","零"),TEXT(INT(A5*10)-INT(A5)*10,"[dbnum2]")&"角")&IF((INT(A5*100)-INT(A5*10)*10)=0,"整",TEXT((INT(ROUND(A5*100,0))-INT(A5*10)*10),"[dbnum2]")&"分"))


分值结果变为“叁分 ",其实到这里还没有完,这个公式没有考虑金额为负的情况,如果金额为负,会显示不出来。为适应负值情况,继续修改公式为:



=IF(A5=0,"",IF(A5>0,TEXT(INT(A5),"[dbnum2]¥G/通用格式")&"元"&IF(INT(A5*10)-INT(A5)*10=0,IF(INT(A5)*(INT(A5*100)-INT(A5*10)*10)=0,"","零"),TEXT(INT(A5*10)-INT(A5)*10,"[dbnum2]")&"角")&IF((INT(A5*100)-INT(A5*10)*10)=0,"整",TEXT((INT(ROUND(A5*100,0))-INT(A5*10)*10),"[dbnum2]")&"分"),(TEXT(INT(A5),"[dbnum2]¥G/通用格式")&"元"&IF(INT(A5*10)-INT(A5)*10=0,IF(INT(A5)*(INT(A5*100)-INT(A5*10)*10)=0,"","零"),TEXT(INT(A5*10)-INT(A5)*10,"[dbnum2]")&"角")&IF((INT(A5*100)-INT(A5*10)*10)=0,"整",TEXT((INT(ROUND(A5*100,0))-INT(A5*10)*10),"[dbnum2]")&"分"))))



天哪,这公式也忒长了吧,连复制都不想弄了。讲真,公式整到这个程度也难怪人不想用了,单单点击那些单元格就够麻烦的。


简单方案

为给大家提供一个简单的解决方法,本人编制了“金额汉字大写模块.bas”,通过插入模块引入自定义函数dxrmb(),函数名为大写人民币的拼音首字符,轻松解决数字变大写人民币金额。如下图:



C5单元格公式:="¥" & dxrmb(A5),用法非常简单。


我们在实际使用前,只需要知道如何将这个函数提前引入到表格就可以了。引入方法也很简单:




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息