文档介绍:小写金额大写转换的处理逻辑与实现技术
张永禄 摘要:由于Excel在数值计算方面无可比拟的优越性,受到了广大数据处理工作者的青睐,应用日益广泛。人们在应用Excel快速准确地得到计算结果的同时,也产生了将小写金额表示的计算结果转换小写金额大写转换的处理逻辑与实现技术
张永禄 摘要:由于Excel在数值计算方面无可比拟的优越性,受到了广大数据处理工作者的青睐,应用日益广泛。人们在应用Excel快速准确地得到计算结果的同时,也产生了将小写金额表示的计算结果转换为大写的需求。本文通过对Excel内置函数的应用,阐述了构造公式解决小写金额大写转换的处理逻辑与实现技术。
关键词:金额;转换;处理逻辑;函数;公式
中图分类号: 文献标识码:A 文章编号:1007-9599 (2012) 19-0000-02
1 处理逻辑
因为金额精确到角分,所以金额转换需要区分小数点后两位“00型”与“非00型”两种,“非00型”又细分为“X0型”(X为非0数字,下同)、“0X型”、“XX型”三种,不同类型需要作不同的转换,分述如下。
(为方便描述,假设需转换为大写的金额单元为C3。)
00型
用函数TRUNC对转换对象进行取整操作,如果取整结果与原数一致,即“=TRUNC(C3)=C3”,说明需要转换的金额为整数。这种类型的金额大写转换可应用TEXT函数,选用格式参数“[dbnum2]”实现。
非00型
若用函数TRUNC对转换对象进行取整操作结果与原数不一致,说明转换的小写金额有角分,此时需要将转换单元的小写金额先转换为包含两位小数的文本,然后分三种情况分别转换:
(1)X0型。用截取字符函数获取文本右边第一位字符(百分位),与字符“0”比较,若相等(返回结果为逻辑真),说明金额只到十分位(角),这种类型的转换由整数部分和十分位部分构成,应转换为“××元××角整”的形式。这种形式的转换,首先用TRUNC函数将整数部分转换为大写,然后综合利用字符截取函数LEFT和RIGHT将十分位数取出来,将其转换为大写,再用字符连接函数CONCATENATE或字符串连接符“&”将实现转换的整数部分、十分位和表示金额的文字依次连接起来。
(2)0X型。用截取字符函数获取文本右边第二位字符(十分位),与字符“0”比较,若结果为逻辑真TRUE,说明金额百分位不为“0”(若为“0”,则为整数,无角分),这种类型的转换由整数部分和百分位部分构成,应转换为“××元××分”的形式。这种形式的转换,首先用TRUNC函数将整数部分转换为大写,然后利用字符截取函数RIGHT将百分位数取出来,将其转换为大写,再用字符连接函数CONCATENATE或字符串连接符“&”将实现转换的整数部分、百分位和表示金额的文字依次连接起来。
(3)XX型。若非上述两种情况,说明十分位和百分位均是不为“0”的字符,这种类型的转换由整数部分、十分位、百分位和表示金额的文字几部分构成,应转换为“××元××角××分”的形式,这种形式的转换是前两种类型转换的综合应用。
2 实现技术
00型
在目的单元输入公式:“=TEXT(TRUNC(C3), " [dbnum