Excel教程Excel函数Excel表格制作Excel2010电子表

使用过Excel电子表的人(尤其是财务人员),常常会遇见将阿拉伯数字转换成人民币小写的问题,如:在D25单元格中有手动求和后的一串阿拉伯数字“.65”元,须要在A25单元格中手动转换为“人民币小写:柒拾捌万玖仟肆佰伍拾陆元陆角伍分”,假如用自动去填写也未尝不可,然而,只要D25的数字一变,就得重新填写一次,十分麻烦,尤其是在进行财务报表应用时,就更不便捷,倘若能手动转换,还会便捷得多。
#
说到这,有的人可能会说:这还不便捷?使用单元格格式设置功能,将A25单元格的格式设置成“特殊”格式中的“中文小写数字”不就得了,不必如此复杂呢? #
虽然,对于这一功能我们可能都使用过,其结果会如何呢?你们都晓得,在Excel中,仅仅使用格式设置的方式是不能达到目的的!例如:将阿拉伯数字“.65”通过格式设置的方式,其结果只能得到“柒拾捌万玖仟肆佰伍拾陆点陆伍”,而不是“柒拾捌万玖仟肆佰伍拾陆元陆角伍分”。这是由于,在Excel中没有一个单一的函数能完成这样复杂的运算,必须使用多个函数进行条件运算能够实现。 #
怎样能够实现这样复杂的函数运算呢?
我这儿有一组条件运算的方式,这一组条件运算的方式,是基于G19单元格中阿拉伯数字值进行手动转换的,将这一组条件运算函数讲到那个单元格,这个单元格都会手动将G19中的阿拉伯数字转换成人民币小写数值,不信?您试试?
我们将G19单元格确定为数据汇总后的人民币大写数值(即阿拉伯数字),须要在B19单元格中手动转换成人民币小写数值,这么,请选取B19单元格,将下边的多个函数条件运算句子写入并按回车键,瞧瞧结果会如何?
#
="人民币小写:"&IF((G19-INT(G19))=0,TEXT(G19,"[]")&"元整",IF(INT(G19*10)-G19*10=0,TEXT(INT(G19),"[]")&"元"&TEXT((INT(G19*10)-INT(G19)*10),"[]")&"角整",TEXT(INT(G19),"[]")&"元"&IF(INT(G19*10)-INT(G19)*10=0,"零",TEXT(INT(G19*10)-INT(G19)*10,"[]")&"角")&TEXT(RIGHT(G19,1),"[]")&"分"))
结果很显著,完全正确地实现了人民币小写转换!说到这,应当大功告成了。并且,你们可能会说:这一串函数运算是如何回事?看不懂。是的,对于初学者来说,可能是很复杂也根本看不懂,这么,我就再发冷几句,给你们再讲一讲其运算的思路和技巧吧。
要弄明白,还得讲清楚两个方面的问题: #
第一方面:对于单元格中的人民币数值而言,有四种可能性出现: #
即:整数(精确到元);1位小数(精确到角);2位小数(精确到分),中间出现零。因而,就有四种判定,是整数还是小数?是1位小数还是2位小数?中间是否出现零? #
从里面的运算过程中可以看出,IF((G19-INT(G19))=0,TEXT(G19,"[]")&"元整"为整数时的条件运算方式,IF(INT(G19*10)-G19*10=0,TEXT(INT(G19),"[]")&"元"&TEXT((INT(G19*10)-INT(G19)*10),"[]")&"角整"为1位小数时的条件运算方式,而TEXT(INT(G19*10)-INT(G19)*10,"[]")&"角")&TEXT(RIGHT(G19,1),"[]")&"分"))则是有2位小数的条件运算方式,对于中间出现零,则用IF(INT(G19*10)-INT(G19)*10=0,"零"来进行运算。 #
第二方面:对于函数而言,我们必须弄明白以下几个函数的意义和句子格式。 #
1、条件判定函数IF:执行真伪值判别,按照逻辑估算的真伪值,返回不同结果。
#
可以使用函数IF对数值和公式进行条件检查。 #
句型 #
IF(,,)
#
表示估算结果为TRUE或FALSE的任意值或表达式。诸如,A10=100就是一个逻辑表达式,假如单元格A10中的值等于100,表达式即为TRUE,否则为FALSE。本参数可使用任何比较运算符。 #
为TRUE时返回的值。诸如,倘若本参数为文本字符串“预算内”而且参数值为TRUE,则IF函数将显示文本“预算内”。倘若为TRUE而为空,则本参数返回0(零)。假如要显示TRUE,则请为本参数使用逻辑值TRUE。也可以是其他公式。 #
为FALSE时返回的值。诸如,倘若本参数为文本字符串“超出预算”而且参数值为FALSE,则IF函数将显示文本“超出预算”。倘若为FALSE且忽视了(即后没有冒号),则会返回逻辑值FALSE。倘若为FALSE且为空(即后有冒号,并紧跟随右括弧),则本参数返回0(零)。也可以是其他公式。
2、向下舍取整数函数INT:这个函数的功能是将数字向上舍入到最接近的整数。 #
句型 #
INT()
须要进行向上舍入取整的实数。
#
3、数值文本转换函数TEXT:将数值转换为按指定数字格式表示的文本。
句型 #
TEXT(value,)
#
Value为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。 #
为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本方式的数字格式。 #
4、返回字符串中最后1个或多个字符函数RIGHT:按照所指定的字符数返回文本字符串中最后一个或多个字符。 #
句型
#
RIGHT(text,)
#
Text是包含要提取字符的文本字符串。 #
指定希望RIGHT提取的字符数。 #
5、文本运算符&:将两个文本值联接或串上去形成一个连续的文本值。 #
6、格式命令:将该单元格或字符串的格式设置为“特殊”格式中的“中文小写数字”格式。 #
讲清了可能出现的四种情况和几个运算函数,如今,再来说说条件运算的思路。要完全正确地进行人民币小写转换,就必须应用以上的条件判定通过函数运算来实现。
首先,要在字符串后面加上“人民币小写:”的中文字财务数字标准写法财务数字标准写法,并与前面的小写字符串联接上去,产生一个完整的书写格式,就必须应用文本运算符“&”,为此,句子开头必须写“="人民币小写:"&”,使它与前面的字符串联接上去,前面的“元”、“角”、“分”、“整”等均应用这个方式来实现。
第二,针对可能出现整数(即精确到元)的情况,须要判定是否为整数。应用“IF((G19-INT(G19))=0,TEXT(G19,"[]")&"元整"”语句进行条件判定和函数运算,假如G19单元格中的数值乘以该单元格数值向上舍取整数后为0,则表明该数值为整数,这么,直接将该数值的格式设置为“特殊”格式中的“中文小写数字”格式,并在旁边加上“元整”字符串,倘若不是,则进行下边的判别。
第三,针对可能出现1位小数(即精确到角)的情况,须要继续进行判定其是否为1位小数。应用“IF(INT(G19*10)-G19*10=0,TEXT(INT(G19),"[]")&"元"&TEXT((INT(G19*10)-INT(G19)*10),"[]")&"角整"”语句进行条件判定和函数运算,假如该数值为1位小数,则该数值除以10后向上舍取整数的值应与该数值直接除以10的值相等,即INT(G19*10)-G19*10=0,当INT(G19*10)-G19*10=0时,说明条件为真,否则,进行下边的函数运算。 #
第四,针对可能出现2位小数(即精确到分)的情况,应用“TEXT(INT(G19*10)-INT(G19)*10,"[]")&"角")&TEXT(RIGHT(G19,1),"[]")&"分"”的句子进行函数运算,其原理与上述基本相同,不同之处是这儿应用了返回文本字符串中最后一个或多个字符“RIGHT”。通过TEXT(RIGHT(G19,1),"[]")&"分"句子完成最后1位数值(即分)的转换。 #
第五,针对中间可能出现零的情况,须要应用“IF(INT(G19*10)-INT(G19)*10=0,"零"”语句来进行运算。
通过以上五种条件判定和函数运算,就可以正确地进行人民币小写数字转换了。
#
本人也是初学者,也是通过查阅了好多资料后才对此方式有一点理解并能进行函数运算的,希望我的这点感受能对您的工作有所帮助,如有不正确的地方,还请谅解并提出宝贵意见为盼! #