现在工作是导购,所以很少碰电脑,好久没学习了,这两天别人叫帮忙做下工资表,他的模板里是像单据里的大写金额一样的,下图
这种算一个还要一个一个地把大写金额打上去,感觉很麻烦,原本是有个隐藏函数NUMBERSTRING()可以直接把大写变成小写,可达不到这种像单据式的效果。如果只算一个还好,一但要一下弄许多个,就想偷懒了。到处搜了一下,拼凑了段公式,还是解决了。
先看下代码
="本页共计(大写):( "&IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,8)),2),"零")&" )萬( "&IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,7)),2),"零")&" )仟( "&IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,6)),2),"零")&" ) 佰( "&IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,5)),2),"零")&" )拾( "&IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,4)),2),"零")&" )元( "&IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,3)),2),"零")&" )角( "&IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,2)),2),"零")&" )分"
这里面主要的公式其实就是
=IFERROR(NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,8)),2),"零")
下面来一步一步地解析这个公式,这个公式的原本的想法,就是要让括号里面能自动根据已有的小写数字显示大写金额,为了美观,还要把原来要显示的大写金额分成个、十、百、千、万等的位数。
所以最开始的公式只是一个简单的字符链接公式,像下面
="本页共计(大写):( "&公式&" )萬( "&公式&" )仟( "&公式&" ) 佰( "&公式&" )拾( "&公式&" )元( "&公式&" )角( "&公式&" )分"
这里面的公式就是我们需要解决的各位的大写。
- 先看看这个萬位,例子中是零,为了不出现因为数字的金额没有这么多显示错误值,首先用一个判断错误值的函数来排除,为了和上面区分,下面公式都加了标如下:
=IFERROR(公式-1,"零")
注:IFERROR()函数很好理解,就是判断第一个参数是不是错误值,是就写第二个参数,不是就显示参数1。
因为本例中数字没有萬位,所以需要的判断一下,所取用的这个数字有没有这个位,如果有就计算这个公式,如果没有,就直接写零,所以在萬位的括号里是直接用的这个函数的第二个结果。
- 再看仟位,在仟位已经有数字了,直接用到了公式-1,看一下这个公式的结构:
=NUMBERSTRING(LEFT(RIGHT(" "&$P12*1000,7)),2)
这个公式是由开头说的隐藏函数NUMBERSTRING()为基础,因为我们主要是想得到大写数字,所以这个公式最开始的想法是:
=NUMBERSTRING(公式-1.1,2)
注:NUMBERSTRING()函数就是数字到文本的意思,它有两个参数,第一个就是你想要转换的数字 ,第二个是选项1,2,3。1代表普通的大写,2代表财务专用的大写,3代表一一对应的大写,我们这里用到的是2这个选项,就是财务的金额大写。
- 那怎么从公式-1.1里得到我们想要的数字就是中心了,看下完整的例子:
例子中的数字是8800,仟位是8,现在主要目的就是从这个数字中提取8,其实这样就简单了
看一下找到的公式:
=LEFT(RIGHT(" "&$P12*1000,7))
简单看成LEFT(公式-1.1.1)
即从公式-1.1.1中提取第一个字符串,这里是省略了LEFT的第二个参数的,不写的时候直接默认为提取第一个字符串了。
注:这里用到了截取字符串的函数,一个是从左边,一个是从右边,以前有讲过。
公式-1.1.1中$P12是我们数字的单元格,那公式
=RIGHT(" "&$P12*1000,7)
其实就是把数字8800*1000,前面加个空格得到的就是“ 8800000”这个字符串,需要得到第一个8,要从右向前提取7位就是字符串“8800000”。
注:乘以1000是为了后面的小数位。
最后用LEFT从左提取第一个字符串就是仟位的8。
其它位就是改变一下RIGHT()函数提取的位数就行,比如佰位就只需要从右提取6位即“800000”。
注:为什么要用到" "空字符串,其实我也试着不用看了下,结果是最高的萬位就会显示仟位的8,想了一下,在最高位没有的情况下,那最多只能提取到仟位,当然只能显示8了,所以这个是必须加的。
不知道公式有没有复制掉了,有需要的朋友看了如果用不了,可以给私我。
本例中的红字全是用公式写的,为了偷懒月份从下面工作表提取,年份从工作簿的名字中提取的,看图:
方法以前都讲过,大家也可以搬到自己的表里用,一般都只改单元格地址就好了。
今天就学到这里了,有机会再继续。
本文来自余生难投稿,不代表胡巴网立场,如若转载,请注明出处:https://www.hu85.com/249962.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxxxx@qq.com 举报,一经查实,本站将立刻删除。