什么都不想做,就在床上懒着。但心里的某个地方,还在想着毫无进展的工作,急得不得了。这样的话起来干活不就得了,却又不想起来。
纵容我的人是我,紧逼我的人还是我。——继续学习的一天
随着无纸化办公的领域越来越广泛,很多的财务工作也通过线上进行记录和存档。
比如一份财务报销单,通过电子档来记录报销事项和金额,再进行求和,最后将金额小计的小写数字转换为固定格式的中文人民币大写。
数字转换为中文大写的方法有不少,比如text函数,自定义格式,numberstring函数等。
其中numberstring函数是新版本中出现的函数,它的表达式为:=numberstring(值,样式)。它的样式可以设置为1、2、3,分别为小写中文数字,大写中文数字,和单一小写中文数字。
这里说的单一小写数字是指只会显示数字对应的中文小写,但不会千百十等量词,比如333,会显示为三三三,而不是三百三十三。
下面我们就通过numberstring函数的组合公式来将数字转换为中文大写。
为了避免非整位数的金额转换出现错误,作者君将公式分隔成两个部分,同时也能让大家更为清楚地去理解这个公式。
首先进行整位数的小写数字转换,直接输入公式:=NUMBERSTRING(CONCATENATE(J10,K10,L10,M10,N10,O10,P10),2)
公式中涉及到两个函数,numberstring函数上面已经介绍了,而concatenate函数是一个连接函数,表达式为:=concatenate(值1,值2,值3……)。
使用concatenate函数将金额小计数字联结起来,再以numberstring函数进行转换,这个思路应该很好理解。
后续再以符号“&”将人民币大写的固定表达“元”与公式结果联结起来。
接下来进行第二部分的公式编辑,即金额个位数以后,角分的公式表达。
输入公式:=IF(Q10="","整",NUMBERSTRING(Q10,2)&"角"&IF(R10="","",NUMBERSTRING(R10,2)&"分"))
这里用到了if函数和numberstring函数,而且还是嵌套的两个if函数。
if函数的表达式和用法无须多说了,是excel中最基础的函数之一。
这个公式的思路就在于金额角等于空值,也就代表角和分都没有数字,那么就返回固定值“整,”如果金额角不等于空值,那么就返回角数字的中文大写,并连上“角”的固定文字。
而后面一个if函数,则表示如果金额分等于空值,就返回空值,否则就返回分数字的中文大写。
这部分的公式没有复杂的函数和写法,只要分清步骤就不难理解。
下面将两部分公式进行组合,再通过iferror函数来做一个容错,即如果表达式错误,那么返回空值。
完整的函数公式为:=IFERROR(NUMBERSTRING(CONCATENATE(J10,K10,L10,M10,N10,O10,P10),2)&"元"&IF(Q10="","整",NUMBERSTRING(Q10,2)&"角"&IF(R10="","",NUMBERSTRING(R10,2)&"分")),"")
这个函数看起来很长,但主要是为了处理角和分金额的转换,以及没有角和分时的结果表达,我们也可以看看当没有角和分时,公式的结果最后会以“元整”结束。
以上就是今天的全部内容,欢迎关注作者君,一起学习更多excel知识!
往期回顾:
,