分享

EXCEL财务小技巧

 甘苦人生2010 2017-01-08

前几天又被问到人民币大写,正好想起来以前收集的这个公式,当时是做一个空调安装报价系统,所以在网上找到了这个公式,公式看起来很复杂,不过结构并不复杂,有兴趣的可以研究下,不过学会用还是很简单的

公式如下:

="大写:"&IF(ABS(E1)<0.005,"",IF(E1<0,"负",)&IF(INT(ABS(E1)),TEXT(INT(ABS(E1)),"[dbnum2]")&"元",)&IF(INT(ABS(E1)*10)-INT(ABS(E1))*10,TEXT(INT(ABS(E1)*10)-INT(ABS(E1))*10,"[dbnum2]")&"角",IF(INT(ABS(E1))=ABS(E1),,IF(ABS(E1)<0.1,,"零")))&IF(ROUND(ABS(E1)*100-INT(ABS(E1)*10)*10,),TEXT(ROUND(ABS(E1)*100-INT(ABS(E1)*10)*10,),"[dbnum2]")&"分","整"))

在实际用的时候 先把这个公式复制到记事本里,比如你要将A1的数字转化成人民币大写,那就用记事本的替换功能将E1替换成A1,在将公式复制粘贴到要显示大写的单元格即可

应用的结果示范如下

EXCEL财务小技巧--人民币数字金额转汉字大写公式

另外这个公式是个引子,需要的最终格式和这有点不一样,那也可以根据这个公式做一些简单改变,比如说总是要得到要得到 *元*角*分的样子 那就写成

="人民币"&IF(ABS(AG10)<0.005,"",IF(AG10<0,"负",)&IF(INT(ABS(AG10)),TEXT(INT(ABS(AG10)),"[dbnum2]")&"元",)&IF(INT(ABS(AG10)*10)-INT(ABS(AG10))*10,TEXT(INT(ABS(AG10)*10)-INT(ABS(AG10))*10,"[dbnum2]")&"角",IF(INT(ABS(AG10))=ABS(AG10),"零角",IF(ABS(AG10)<0.1,,"零")))&TEXT(ROUND(ABS(AG10)*100-INT(ABS(AG10)*10)*10,),"[dbnum2]")&"分")

注意这里目标单元格时AG10,结果如下

人民币伍万肆仟零叁拾元零角零分54030

2010-10-12 by excel880

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约