Excel中如何将货币数值由数字金额自动转为中文大写金额
使用Excel时有时会用数据的转换,尤其是做财务工作,如工资表等时就需要用中文大写金额。如果手动输入,就会麻烦一些,多的时候也会增加了工作量。我们可以使用Excel中的函数来实现将货币数值由数字金额自动转换成中文大写金额。
本文以一份表格为例讲解如何将数字金额转换为中文大写金额。
先在Excel表格中算出合计金额,如下图。
利用公式把小写的货币转换为中文大写,并写在合并的单元格中。公式如下:
=IF((I41-INT(I41))=0,TEXT(I41,"[DBNUM2]")&"元整",IF(INT(I41*10)-I41*10=0,TEXT(INT(I41),"[DBNUM2]")&"元"&TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角整",TEXT(INT(I41),"[DBNUM2]")&"元"&IF(INT(I41*10)-INT(I41)*10,"零",TEXT(INT(I41*10)-INT(I41)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(I41,1),"[DBNUM2]")&"分"))。
把公式输入合计右边的合并单元格中,如下图。
输入后的显示结果如下图。
公式中一共用到了4函数,文本连接符“&”及相应的汉字。下面对这4种函数做个讲解:
excel数字转字符串函数IF函数:是一个条件判断函数,该函数的基本格式是:IF(a,b,c),其中“a”是一个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成立,那么结果是b,否则结果就是c。以上公式是一个多层嵌套判断函数,根据货币金额的不同情况生成不同格式的中文大写。
INT函数:是一个取整函数,取参数数字的整数部分。如:INT(I41)是取I41这个单元格数字的整数部分,(I41-INT(I41))=0表示一个整数,INT(I41*10)-INT(I41)*10表示I41单元小数点后第一位数,INT(I41*10)-INT(I41)*10=0表示I41单元格中有一位小数。
TEXT函数:可以将阿拉伯格式数字转换为中文大写格式,如公式中TEXT(I41,"[DBNUM2] ")就是把I41单元格中的数字转换成中文大写格式,其中"[DBNUM2] "是把数字转换为中文大写形式,照搬即可。
RIGHT函数:可以提取字符串右边的若干个字符。如公式中的“RIGHT(I41,1)” 表示从I41单元格数字右起提取一个字符。
公式使用了多层嵌套,看起来比较复杂一些。
可以将整个条件函数公式表述为:
如果单元格A7中数字为整数(假如为35566),那么人民币大写就是“叁万伍仟伍佰陆拾陆元整”,否则:
如果单元格A7中数字为含有一位小数数字(假如位35566.2),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角整”,否则:
如果单元格A7中数字为两位小数数字,且十分位为0(假如为35566.08),那么人民币大写就是“叁万伍仟伍佰陆拾陆元零捌分”。否则:
如果单元格A7中数字为两位数小数,且十分位不为0(假如为35566.28),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角捌分”。
注:本文参考了网络上相关内容的文章
你是整列有数值还是只是A1有数值?
如果是A列有数值,B列就显示1的话,公式为
=IF(COUNT(A:A)>0,1,0)
如果是A1有数值,B1就显示1的话,公式如下
=IF(ISNUMBER(A1),1,"")
自定义单元格格式为 0.00;-0.00;;@    0不显示
看到如下的自定义单元格格式:
_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)
只是知道完整的格式代码由四个部分组成,这四部分顺序定义了格式中的正数、负数、零和文本,
格式代码各部分以分号分隔。我大概知道是为了显示正数和负数的时候按照小数点对齐,但是请问:
1、前面3部分起始都是_(,放在这里是干什么用的?
2、第一和第三部分最后都是_),放在这里是干什么用的?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。