- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小写金额大写转换处理逻辑与实现技术
小写金额大写转换处理逻辑与实现技术
摘要:由于Excel在数值计算方面无可比拟的优越性,受到了广大数据处理工作者的青睐,应用日益广泛。人们在应用Excel快速准确地得到计算结果的同时,也产生了将小写金额表示的计算结果转换为大写的需求。本文通过对Excel内置函数的应用,阐述了构造公式解决小写金额大写转换的处理逻辑与实现技术。
关键词:金额;转换;处理逻辑;函数;公式
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 19-0000-02
1 处理逻辑
因为金额精确到角分,所以金额转换需要区分小数点后两位“00型”与“非00型”两种,“非00型”又细分为“X0型”(X为非0数字,下同)、“0X型”、“XX型”三种,不同类型需要作不同的转换,分述如下。
(为方便描述,假设需转换为大写的金额单元为C3。)
1.1 00型
用函数TRUNC对转换对象进行取整操作,如果取整结果与原数一致,即“=TRUNC(C3)=C3”,说明需要转换的金额为整数。这种类型的金额大写转换可应用TEXT函数,选用格式参数“[dbnum2]”实现。
1.2 非00型
若用函数TRUNC对转换对象进行取整操作结果与原数不一致,说明转换的小写金额有角分,此时需要将转换单元的小写金额先转换为包含两位小数的文本,然后分三种情况分别转换:
(1)X0型。用截取字符函数获取文本右边第一位字符(百分位),与字符“0”比较,若相等(返回结果为逻辑真),说明金额只到十分位(角),这种类型的转换由整数部分和十分位部分构成,应转换为“××元××角整”的形式。这种形式的转换,首先用TRUNC函数将整数部分转换为大写,然后综合利用字符截取函数LEFT和RIGHT将十分位数取出来,将其转换为大写,再用字符连接函数CONCATENATE或字符串连接符“&”将实现转换的整数部分、十分位和表示金额的文字依次连接起来。
(2)0X型。用截取字符函数获取文本右边第二位字符(十分位),与字符“0”比较,若结果为逻辑真TRUE,说明金额百分位不为“0”(若为“0”,则为整数,无角分),这种类型的转换由整数部分和百分位部分构成,应转换为“××元××分”的形式。这种形式的转换,首先用TRUNC函数将整数部分转换为大写,然后利用字符截取函数RIGHT将百分位数取出来,将其转换为大写,再用字符连接函数CONCATENATE或字符串连接符“&”将实现转换的整数部分、百分位和表示金额的文字依次连接起来。
(3)XX型。若非上述两种情况,说明十分位和百分位均是不为“0”的字符,这种类型的转换由整数部分、十分位、百分位和表示金额的文字几部分构成,应转换为“××元××角××分”的形式,这种形式的转换是前两种类型转换的综合应用。
2 实现技术
2.1 00型
在目的单元输入公式:“=TEXT(TRUNC(C3), [dbnum2] &元整”。
2.2 非00型
先将小写金额转换为两位小数的文本,公式为:“=TEXT(C3, 0.00)”。再区别不同类型进行转换。
(1)X0型。用截取字符函数获取百分位字符并与字符“0”比较,公式为:“=RIGHT(TEXT(C3, 0.00),1)= 0”,如果返回逻辑真TURE,则为“X0”型。小数部分的转换公式为“=TEXT(LEFT(RIGHT(TEXT(C3,0.00),2),1),[dbnum2])角整)”。整个金额转换公式为:“=TEXT(TRUNC(C3),[dbnum2])元TEXT(LEFT(RIGHT(TEXT(C3,0.00),2),1),[dbnum2])角整”。
(2)0X型。用截取字符函数获取十分位字符并与字符“0”比较,公式为:“=LEFT(RIGHT(TEXT(C3,0.00),2),1)= 0”,如果返回逻辑真TURE,则为“0X型”。小数部分转换的公式为:“=TEXT(RIGHT(TEXT(C3,0.00),1),[dbnum2])分”。整个金额转换公式为:“=TEXT(TRUNC(C3),[dbnum2])元TEXT(RIGHT(TEXT(C3,0.00),1),[dbnum2])分”。
(3)XX型。若非上述两种情况,说明十分位和百分位均不为“0”,为“XX型”,直接依次转换。小数部分的公式为:“=TEXT(LEFT(RIGHT(TEXT(C3,0.00),2),1),[dbnum2])角TEXT(RIGHT(TEXT(C3,0.00),1),[dbnum2])分”。整个金额转换公式为:“=TEXT(TRUNC(C3),[dbnum2])元TEXT(LEFT(RIGHT(TEXT
文档评论(0)