|
发表于 2007-10-3 21:04:03| 字数 1,507| - 中国–江苏–镇江 电信
|
显示全部楼层
Google了一下,希望对楼主有启发。
>>用Excel函数将货币数值由阿拉伯数字自动生成为中文大写格式>
我们在会计数据处理中经常需要将货币数值由阿拉伯数字转换为中文大写格式,特别是批量或经常性业务中通过输入阿拉伯数字金额而自动生成中文大写尤显必要。下面以自编支票套打工具为例说明如何实现这种格式的转换。
如图是全部用Excel函数自编农业银行转帐支票套打工具,图中内容是需要打印到转帐支票上内容,其中A-D列为支票存根部分,我们利用Excel函数对要填写大部分内容建立公式后,只要输入支票存根部分的三项基本信息(A6-A8单元格):收款单位、金额、用途,其他内容全部自动生成。
图中输入阿拉伯数字格式金额的是支票存根中A7单元格,要自动生成中文大写金额的是H3单元格,我们按照支票中的金额中文大写格式的特殊的要求,利用Excel函数对H3进行公式设置。
在H3单元格输入:=IF((A7-INT(A7))=0,TEXT(A7,"[DBNUM2]")&"元整",IF(INT(A7*10)-A7*10=0,TEXT(INT(A7),"[DBNUM2]")&"元"&TEXT((INT(A7*10)-INT(A7)*10),"[DBNUM2]")&"角整",TEXT(INT(A7),"[DBNUM2]")&"元"&IF(INT(A7*10)-INT(A7)*10=0,"零",TEXT(INT(A7*10)-INT(A7)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(A7,1),"[DBNUM2]")&"分"))。
公式中共运用4种函数,文本连接符号“&”及相应的汉字。
IF函数:是一个条件判断函数,此函数的基本格式是:IF(a,b,c)其中“a”是一个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成立,那么结果是b,否则结果就是c。以上公式是有四层嵌套条件判断函数,根据货币金额的不同情况生成不同格式的中文大写。
TEXT函数:TEXT函数可以将阿拉伯格式数字转换为中文大写格式,如公式中“TEXT(A7,"[DBNUM2]”结果是将单元格A7的阿拉伯数字转换为中文大写。
INT函数:这是一个取整函数,如公式中“INT(A7)”就是取单元格A7数字整数部分。A7-INT(A7)表示A7为整数,INT(A7*10)-A7*10=0表示A7有一位小数。
RIGHT函数:用该函数可以提取字符串右边的若干个字符,如公式中的“RIGHT(A7,1)”表示从A7单元格数字右起提取一个字符。
从整体来讲,这是一个多层嵌套条件函数公式,共有4层嵌套来完成条件判断。
可以将整个条件函数公式表述为:
如果单元格A7中数字为整数(假如为35566),那么人民币大写就是“叁万伍仟伍佰陆拾陆元整”,否则:
如果单元格A7中数字为含有一位小数数字(假如位35566.2),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角整”,否则:
如果单元格A7中数字为两位小数数字,且十分位为0(假如为35566.08),那么人民币大写就是“叁万伍仟伍佰陆拾陆元零捌分”。否则:
如果单元格A7中数字为两位数小数,且十分位不为0(假如为35566.28),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角捌分”。 |
|