Excel金额小写转大写公式

2016-02-20 01:02 14 1 收藏

有了下面这个Excel金额小写转大写公式教程,不懂Excel金额小写转大写公式的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - Excel教程 】

近来转了转几个Excel相关论坛,发现有部分网友在寻求数字金额转换为人民币大写的方法。出于好奇,我在网上搜索了一番,什么VBA、加载宏,公式函数各式方法争相亮相,应有尽有。但我的习惯是,只要能用公式解决的问题,坚决不使用VBA。所以我就特别地关注使用公式来生成的方法,结果是用公式的方法可谓是更加地灿烂缤纷,使人眼花缭乱。

通过分析我收集到的二十几个公式,发现比较牛,适合我口味的公式有三个,在此我将其列出。

公式一:

SUBSTITUTE(SUBSTITUTE(IF(A1《0, 负,)&TEXT(TRUNC(ABS(ROUND(A1,2))),[DBNum2])& 元&IF(ISERR(FIND(。,ROUND(A1,2))),,TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),[DBNum2]))&IF(ISERR(FIND(.0,TEXT(A1,0.00))), 角,)&IF(LEFT(RIGHT(ROUND(A1,2),3))= 。,TEXT(RIGHT(ROUND(A1,2)),[DBNum2])&分,IF(ROUND(A1,2)=0,, 整)),零元零,),零元,)

公式二:

CONCATENATE(IF(A1《0, 负,),TEXT(IF(TRUNC(A1)=0,,TRUNC(ABS(A1))),[DBNum2]),IF(INT(TRUNC(A1))=0,, 元),TEXT(IF(OR(ABS(A1) 《0.1,TRUNC(A1)=A1),,RIGHT(TRUNC(A1*10),1)),[DBNum2]),IF(RIGHT(TRUNC(A1*10),1)=0,, 角),TEXT(IF(RIGHT(TRUNC(A1*100),1)=0,,RIGHT(TRUNC(A1*100),1)),[DBNum2]),IF(RIGHT(TRUNC(A1*100),1)=0,, 分))

公式三:

IF(ROUND(A1,2)=0,,IF(ROUND(ABS(A1),2)》=1,TEXT(INT(ROUND(ABS(A1),2)),[DBNum2])& amp;元,)&IF(RIGHT(TEXT(A1,.00),2)*1=0, 整,IF(RIGHT(TEXT(A1,.00),4)*1》=1,IF(RIGHT(TEXT(A1,.00),2)*1》9,, 零),IF(ROUND(ABS(A1),2)》=1,零,))&IF(RIGHT(TEXT(A1,.00),2)*1》 9,TEXT(LEFT(RIGHT(TEXT(A1,.00),2)),[DBNum2])& 角,)&IF(RIGHT(TEXT(A1,.00))*1》 0,TEXT(RIGHT(TEXT(A1,.00)),[DBNum2])&分,整)))

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

我用不同的数值对这三个公式进行了一番测试,都达到了我的要求,至少到目前为止还没有发现上述公式存在着什么错误。上述公式对负数的处理采取了不同的方法。公式一和公式二对负数是在其前部加上一个负字,而公式三则是按正数进行处理。我比较推崇公式三的方式,不是还有条件格式可以设置吗?若是负数就用条件格式来变为红色。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

我不准备在此对上述公式进行分析解说。撰写本文的目的是我也想自己来组装一个所谓的通用公式。我只所以说是组装而不是叫什么开发或者是拼凑,是因为EXCEL的函数现成地摆在了那里,使用时就是为了达到某种目的,按照其固有的规则,将其进行有机的组合,可谓组装。但是在这个过程中,也是要开动脑筋的,并非是随随便便拼凑就能成功的。本文的目的就是想将我在组装公式时的思路展现出来。

若用程序设计语言(比如用C语言)来写一个人民币数字金额转大写金额会怎样考虑呢?我想每一位数字都要考虑到。但在EXCEL中,单元格格式中有一个特殊格式,里面就有将小写数字转换为大写数字的格式。但要注意的是,这里转换的是数字而不是金额。所以转换出来后并不存在元、角、 分、整等在大写金额中出现的字。但是,元只出现在整数部分的后面,而小数部分只有角分两位。这样只要利用EXCEL的特殊格式将数据分为整数部分、角位和分位三个部分来处理就行了。处理的顺序是先整数,再角位、再分位。

由于要分三个部分分别处理,然后根据情况分别与元,角,分及整相连接。连接的方式可以使用CONCATENATE()函数,如公式二,也可以使用连接符&。而用&来连接,公式结构似乎会相对简单清晰一些,所以我选择了用&来连接。

虽然对问题进行了分解,但需要考虑的细节相当多。

若单元格为0或者空,输出空,避免出现零、零元等字样。对非数字字符不进行处理,使用EXCEL自身的错误提示。

对负数按正数处理,再用条件格式将其转换为红色,不拟采用负XXXXXX的形式。

来源:http://www.tulaoshi.com/n/20160220/1633115.html

延伸阅读
财务软件中总少不了大写的金额表示方式,如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换),但是它却几乎可以无限制的转换,只要你能读得出来和写得进去: function Tform1.SmallTOBig(small:real):string;var SmallMonth,BigMonth:string;wei1,qianwei1:string[2];wei,qianwei,dianweizh...
标签: word
Word快速输入大写金额方法   1、打开word文档,选择插入选项卡,单击符号选项组中的编号按钮。 2、弹出编号对话框,在编号文档框中输入我们需要转换成中文大写金额的阿拉伯数字金额,在编号类型文本框中选择壹,贰,叁,点击确定即可。 3、可以看到刚刚输入的阿拉伯数字金额,都变成了中文大写数字金额。 Word怎...
标签: excel
在Excel 2007中让单元格内容小写转为大写   ①启动Excel2007,打开表格,看到D列里面都是小写形式的,我们需要将其转为大写形式,在tuLaoShi.com单元格输入下面的函数公式: =upper(D2)。 ②公式输入完成,大家切记,要是在英文半角状态下输入,回车,得到结果SOHO中国。 ③鼠标移动到该单元格右下角,出现+号,双击...
标签: Delphi
  在从事与财务相关的软件开发过程中,通常要求将小写金额转换成相应的大写金额,并打印在大写金额栏中。下面是用Delphi3.0编制的一个转换函数,能够方便的在程序中调用,并返回字符串。 1.定义函数num—str function num—str(ls: Variant): String; var dx—sz,dx—dw,str—int,str—dec,dx—str,f...
标签: excel
Excel大写数字怎么设Tulaoshi.com置?   Excel表格边tulaoShi.com框怎么设置?   如何在Excel“公式求值”功能  

经验教程

665

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部