excel大写金额自动生成

如题所述

Excel小写数字如何转换成中文大写?
工作中经常遇到需要将数字转换为中文大写,比如差旅费报销的时候,我们在Excel中填写好数据之后,如何自动转换成大写金额呢?
方法一 单元格格式
选中需要转换的数字,右键选择“
设置单元格格式
”(
快捷键Ctrl+1
);依次点击【
特殊
】—【
中文大写数字
】,即可。
我们来看下
转换的效果

可以发现的是,设置单元格格式这种方法仅
适用于正整数
的情况,如果出现负数或者小数,并不能很好地转换成中文大写。
方法二 NUMBERSTRING函数
NUMBERSTRING函数是Excel中的一个隐藏函数,可以将数据大写化。
语法:
NUMBERSTRING(数字,类型)
参数二有三种类型供选择,分别是1/2/3,这里我们选择2,(大写中文),其它两种小伙伴们自行尝试。
转换效果如下所示

上图可以看出,NUMBERSTRING函数转换效果基本同设置单元格格式法,
仅能转换正整数
,在遇到负数的时候会直接报错,小数则直接截断,不进行转换。
方法三 公式法
B2单元格输入以下公式:
=IF(A20,"负","")IF(TRUNC(A2)=A2,TEXT(IF(A20,-A2,A2),"
")"元整",IF(TRUNC(A2*10)=A2*10,TEXT(TRUNC(IF(A20,-A2,A2)),"
")"元"TEXT(RIGHT(A2),"
")"角整",TEXT(TRUNC(A2),"
")"元"IF(ISNUMBER(FIND(".0",A2)),"零",TEXT(LEFT(RIGHT(A2,2)),"
")"角")TEXT(RIGHT(A2),"
")"分"))
有点长,o(╯□╰)o
转换效果:
转换效果堪称完美,
正数、负数、小数皆正确转换成中文

公式解读

公式整体是利用IF函数进行多层次判断,判断数据是否为负、是否为整数、为1位小数还是2位小数。
第一个IF函数用于判断数值是否小于0,如果小于0,则在范围内容的最前方加一个"

"字;
第二个IF函数用于判断数值是否为整数,TRUNC函数直接对数字格式的数据进行截断,这里参数2未输入,
默认取整
;取整后的数字等于数字,代表该数字是整数;
第三个IF函数用于判断数值是否为1位小数;如果为1位小数,分别取出整数与分数部分、转换大写,并添加单位;
最后一步默认数值是2位小数,分别取整数、小数部分进行转换以及添加单位。
是数字格式函数,
将数字转换成中文大写

公式整体逻辑如此,小伙伴们对照着看下就好,涉及到的函数都比较简单,只不过需要多层嵌套,理清逻辑即可。
小结
以上就是Excel中关于数字转换成大写中文的小技巧,分享给大家,希望有所帮助,我们下期再见~
温馨提示:答案为网友推荐,仅供参考