做报销单、付款申请、合同附表的时候,总有一栏叫"金额(大写)"。很多人的做法是:小写数字填完,再对着旁边一个字一个字敲"壹拾贰万叁仟肆佰伍拾陆元整"。敲完还得回头核对一遍,生怕把"肆"写成"肄",把"仟"写成"千"。
其实 Excel 里藏着一个函数,一行公式就能出结果,名字叫 NUMBERSTRING。它不在函数向导的列表里,你在插入函数窗口搜是搜不到的,得手打。这也是它这么多年一直没被大规模用起来的原因——太多人根本不知道有这么个东西。
先把这个函数跑通
在任意一个空单元格里输入:
=NUMBERSTRING(123456,2)
回车,出来的就是"壹拾贰万叁仟肆佰伍拾陆"。
这个函数只有两个参数。第一个是要转换的数字,可以直接写数值,也可以引用单元格,比如 =NUMBERSTRING(A2,2)。第二个参数是转换的样式,只能填 1、2、3 这三个值:
- 填 1,出来的是"一十二万三千四百五十六",日常口语体的中文数字
- 填 2,出来的是"壹拾贰万叁仟肆佰伍拾陆",财务专用的大写
- 填 3,出来的是"一二三四五六",逐位读数,念电话号码那种
财务场景你只需要记住第二个参数填 2 就行。
它有个硬伤:不认小数
这是必须先说清楚的一点,不然你套上公式发现结果不对,还以为自己写错了。
NUMBERSTRING 会把小数部分直接砍掉,而且是四舍五入式地砍。你输入 =NUMBERSTRING(123.6,2),出来的是"壹佰贰拾肆",它把 123.6 进位成了 124,然后转成大写。而 =NUMBERSTRING(123.4,2),出来的是"壹佰贰拾叁"。
所以这个函数只适合整数金额。如果你的表里金额是带角分的,直接套它,报销单就出错了,而且是那种财务一眼看不出、复核时才炸的错误。
带角分的金额怎么办
思路是把整数部分和小数部分拆开处理,各自转换,再拼起来。
假设金额在 A2 单元格,值是 12345.67,公式这样写:
=NUMBERSTRING(INT(A2),2)&"元"&NUMBERSTRING(LEFT(RIGHT(A2*100,2),1),2)&"角"&NUMBERSTRING(RIGHT(A2*100,1),2)&"分"
拆开看就三段:
第一段 NUMBERSTRING(INT(A2),2),用 INT 取整数部分,转成"壹万贰仟叁佰肆拾伍"。用 INT 而不是直接引用 A2,就是为了绕开那个四舍五入的坑。
第二段取角。A2 乘以 100 得到 1234567,RIGHT 取右边两位是 67,LEFT 再取第一位是 6,转成"陆"。
第三段取分。RIGHT 取最后一位是 7,转成"柒"。
拼起来就是"壹万贰仟叁佰肆拾伍元陆角柒分"。
更省事的一种写法
上面那个公式有点长,而且遇到金额是整数(比如 12345.00)的时候,会拼出"零角零分"这种不太规范的说法。如果你想要"元整"这种标准表述,可以套一层判断:
=IF(INT(A2)=A2,NUMBERSTRING(A2,2)&"元整",NUMBERSTRING(INT(A2),2)&"元"&NUMBERSTRING(LEFT(RIGHT(A2*100,2),1),2)&"角"&NUMBERSTRING(RIGHT(A2*100,1),2)&"分")
逻辑很直白:先判断这个数是不是整数,是就走"元整"那条路,不是就走角分那条路。
公式虽然长,但你只需要写一次,之后整列往下拉就行。真要频繁用,把它存成一个自定义名称或者干脆存在便签里,需要的时候粘过来改个单元格引号。
不写公式的一个替代方案
如果只是偶尔要一个大写金额,不想折腾公式,还有个更快的办法:设置单元格格式。
选中金额单元格,按 Ctrl+1 打开设置单元格格式窗口,左边分类里选"特殊",右边类型里会看到"中文大写数字",点它确定。
这样做的好处是单元格里的值还是数字,可以参与计算,只是显示成了大写。缺点是它显示的是"壹万贰仟叁佰肆拾伍",后面没有"元整",也处理不了角分,而且格式化的结果不能被别的公式当文本引用。
所以这个方法适合"我就看一眼",不适合"我要打印出来给人签字"。
一个容易被忽略的细节
用 NUMBERSTRING 生成的结果是文本,不是数字。这意味着它没法参与求和,也没法排序。如果你把大写金额那一列拉进数据透视表想统计,会发现全是 0。
这不是 bug,是设计如此。大写金额本来就是给人看的,不是给机器算的。表里同时保留小写数字列和大写文本列,前者算账,后者打印,各司其职。
还有一点,NUMBERSTRING 在 WPS 表格里同样能用,参数完全一致。但如果你的文件要发给用旧版本 Excel 或者 Mac 版 Excel 的同事,最好在发之前把大写那列复制一下,选择性粘贴成值,避免对方那边显示 #NAME?。
顺手说一句,Ctrl+Alt+V 就是选择性粘贴的快捷键,粘贴为值的话按完这三个键再按 V 回车,两秒钟的事。
最后
金额大写这件事,说重要也重要——写错了单据要作废重来;说麻烦也麻烦——纯手工重复劳动。花十分钟把公式配好,之后每张单子都能省下三五分钟和一次核对。
你们单位的报销单是电子表格填还是纸质手写?如果是电子表格,大写那一栏现在是手打的吗?