昨天给大家介绍第二种普通数字转中文大写的方法:NumberString函数法。这种方法和第一种单元格格式法一样存在一个缺陷就是只能对正整数进行转换,所以它不能直接用于平时的财务工作中,不过没关系,既然它能对整数进行转换,如果我们把小数部分变成整数,然后分别转换整数部分和小数部分,最后拼接起来是不是就可以满足要求了呢?

思路对了的话,事情就已经成功了一半了,接下来我们看看如何实现。

假如我们要转换的数字是9876543.21

第一步:通过INT函数分别换算出元、角、分。

元:=INT(F1) 角:=INT(G1*10)-INT(G2*10) 分:=INT(G1*100)-INT(G2*100)-INT(G3*10)

阿拉伯数字转换成中文大写(阿拉伯数字转中文大写)(1)

元、角、分

第二步:通过NUMBERSTRING函数将换算出来的元、角、分数字转换成中文大写。

元:=NUMBERSTRING(F2,2) 角:=NUMBERSTRING(F3,2) 分:=NUMBERSTRING(F4,2)

阿拉伯数字转换成中文大写(阿拉伯数字转中文大写)(2)

元、角、分大写

第三步:通过链接符号&将元、角、分链接起来组合成一个完整转中文大写的函数。

元:=H2&"元"&IF(AND(F3=0,F4=0),"整","") 如果角和分都是零的话,元后面需要跟一个整。 角:=IF(F3>0,H3&"角","") 如果角是大于零则显示,否则不显示。 分:=IF(F4>0,H4&"分","") 如果分是大于零则显示,否则不显示。 元、角、分组合起来: =H2&"元"&IF(AND(F3=0,F4=0),"整","")&IF(F3>0,H3&"角","")&IF(F4>0,H4&"分","")

阿拉伯数字转换成中文大写(阿拉伯数字转中文大写)(3)

元、角、分组合

第四步:继续改造函数为通用函数。

经过前几步的分析演练我们已经知道如何实现了,现在只需要把前面的各个步骤链接起来就可以变成一个通用函数。

=NUMBERSTRING(INT(F1),2)&"元"&IF(AND(INT(F1*10-INT(F1)*10)=0,(INT(F1*100-INT(F1)*100)-INT(F1*10-INT(F1)*10)*10)=0),"整","")&IF(INT(F1*10-INT(F1)*10)>0,NUMBERSTRING(INT(F1*10-INT(F1)*10),2)&"角","")&IF((INT(F1*100-INT(F1)*100)-(INT(F1*10-INT(F1)*10))*10)>0,NUMBERSTRING(INT(F1*100-INT(F1)*100)-INT(F1*10-INT(F1)*10)*10,2)&"分","")

阿拉伯数字转换成中文大写(阿拉伯数字转中文大写)(4)

演示效果

,