分享

EXCEL制作发票小写金额自动填写

 昵称7665211 2012-08-26
EXCEL制作发票小写金额自动填写
2011年03月09日 星期三 17:04

使用EXCEL来处理金额,比较麻烦的就是将数字金额自动转换成为千万、百万、十万、万、千、百、十……等,并且,如何将其填写到相应的单元格里面。

  方法如下,是一个具体的实例。

  比如,在A1单元格中输入123456.52,然后让它自动拆成¥1 2 3 4 5 6 5 2 的形式并且随输入的数字的大小而改变?

  可遵循如下的方法:

  如下的不同的公式代码,对应着不同的金额位。

  千万位:=IF(A1 >=10000000,MID(RIGHTB(A1*100,10),1,1),IF(A1 >=1000000,"¥",""))
  百万位:=IF(A1 >=1000000,MID(RIGHTB(A1*100,9),1,1),IF(A1 >=100000,"¥",""))
  十万位:=IF(A1 >=100000,MID(RIGHTB(A1*100,8),1,1),IF(A1 >=10000,"¥",""))
  万位: =IF(A1 >=10000,MID(RIGHTB(A1*100,7),1,1),IF(A1 >=1000,"¥",""))
  千位: =IF(A1 >=1000,MID(RIGHTB(A1*100,6),1,1),IF(A1 >=100,"¥",""))
  百位: =IF(A1 >=100,MID(RIGHTB(A1*100,5),1,1),IF(A1 >=10,"¥",""))
  十位: =IF(A1 >=10,MID(RIGHTB(A1*100,4),1,1),IF(A1 >=1,"¥",""))
  元位: =IF(A1 >=1,MID(RIGHTB(A1*100,3),1,1),IF(A1 >=0.1,"¥",""))
  角位: =IF(A1 >=0.1,MID(RIGHTB(A1*100,2),1,1),IF(A1 >=0.01,"¥",""))
  分位: =IF(A1 >=0.01,RIGHTB(A1*100,1),"")

  经过验证,上述代码可行。

A1单元格为小写数值待求
在需要转换的格式设置公式,公式为:
=IF(a1=0,"",TEXT(a1,"[dbnum2]")&"元整")

另外,excel 还提供了一个隐藏的转换中文数字的函数——NUMBERSTRING函数,该函数同样可以实现上面转换。
=if(a1=0,"",numberstring(a1,2)&"元整")

不要元整:
公式一:=IF(a1=0,"",TEXT(a1,"[dbnum2]"))
公式二:=if(a1=0,"",numberstring(a1,2))

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多