在财务工作中,要制作对账单、采购单、报销单等金额收支单据,需要自动转换金额数字为大写,并按照不同位数来匹配对应的大写金额单位。
比如下面这个动图,它是一个采购单据的自动批量金额转换场景,当我们在单元格输入数量和单价,其右侧的金额会自动对应相应的元、角、分等大写单位值,并在下方合计自动统计所有金额的总和,而且在左侧将自动转换金额总计的中文大写!

所以这是一个自动化的批量操作,能够节省一些录入和计算时间。作者将根据场景不同的计算需求,分成三个公式场景,第一个是金额的单位值匹配;第二个是金额总计的自动计算;第三个是总计金额的中文大写转换。
今天我们来完成第一个场景的公式创建,将数量与单价相乘的总和匹配到金额项对应的大写单位下。

公式的组建主要有四个步骤。
数量与单价的货币值表现
所谓货币值,这里指的是代表货币符号"¥"的数字或文本。
由于金额项要显示的是数量与单价相乘的总和,因此我们可以创建一个公式:
="¥"&TRUNC($E3*$F3*100)

从表达来看,比较简单,用货币符号与trunc函数结果值相连,得到一个前缀为“¥”的“货币值”。那么trunc函数有什么作用呢?
Trunc函数专用于截取数字小数点后指定位数。
表达式为:=trunc(数字,截取位数)
比如“Trunc(3.14,1)”,指截取3.14小数位1位之后所有的值,也就是仅保留1位小数位。当省略第2参数,则默认为0,即截取小数点后所有位数值。
所以trunc函数与round函数同样用于小数位取整,但两者在取整需求不同,round是常见的四舍五入函数,trunc是直接截取指定位数值。
关于两个函数的选择,大家可以根据实际需求来。
2.用空格补足金额下的11个单位总字符数量
用空格来补足金额项的11个单位总字符数量,这句话怎么理解?
由于单据的金额项包含最大11个单位,从分至亿,总共包含11个字符。但前面我们计算得到的货币值的位数是不确定的,这时我们在货币值前面添加特定字符得到总字符数为11,也就是直接给定这个值的固定位数,使其与金额项总位数相同。
那么当我们将这组11位的货币值赋予到金额项下,由于字符数相同,它与金额项各大写单位值刚好是匹配的。
因此可以创建公式为:
购买专栏解锁剩余61%