昨天给大家介绍第二种普通数字转中文大写的方法:NumberString函写数法。这种方法和第怎么一种单元格格式法一样存在一个缺陷就是只能对正整数进行转换,所以它不能直接用于平时的财务工作中,不过没关系,既然它能对整数进行转换,如果我们把小数部分变成整数,然后分别转换整数部分和小数部分,最后拼接拾起来是不是就可以满足要求了呢?
思路肆对了的话,事情就已经成功了一半了,接下来我们看看如何实现。
假如我们要转换的数字是9876543.21
第一步:通过INT函数分别换算出元、角、分。
元:=I元NT(F1)角:=INT(G1*10)-INT(G2*10)分:=INT(G1*100)-INT(G2*100)-INT(G3*10)
元到、角、分
第角分二步:通过NUMBERSTRING函数将换算出来的元、角、分数字转换成中文大写。
元:=NUMBERSTRING(F2,2)角:=NUMBERSTRING(F3,2)分:=NUMBERSTRING(F4,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&"分","")
元、角、分组合
第四步:继续改造函数为通用函数。
经过前几步的分析演练我们已经知道如何实现了,现在只需要把前面的各个步骤链接起来就可以变成一个通用函数。
=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)&a写的mp;"角"壹,"")&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)&"分","")
演示效果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。