咨询

大小写金额切换

2026-05-30 11:11 来源:快账

导读:昨天一个学员在微信上问我,他填报销单时,财务要求小写金额和大写金额必须完全一致,他每次都要手动写大写,写完之后还担心写错,特别是那些零啊整啊,搞得他很崩溃。我当场教了他一个办法,直接在Excel里用公式自动转换,他看完之后说,早知道有这个,以前浪费了多少时间。其实这个问题很常见,很多做会计的朋友都问过我,今天我索性把完整的操作步骤写出来,你们有空可以自己在电脑上试一遍。

免费提供专业财税问题解答,让您避免税务行政处罚风险
答疑老师

罗芳|官方答疑老师

职称:注册会计师,财税讲师

免费咨询老师(3分钟内极速解答)

昨天一个学员在微信上问我,他填报销单时,财务要求小写金额和大写金额必须完全一致,他每次都要手动写大写,写完之后还担心写错,特别是那些零啊整啊,搞得他很崩溃。我当场教了他一个办法,直接在Excel里用公式自动转换,他看完之后说,早知道有这个,以前浪费了多少时间。其实这个问题很常见,很多做会计的朋友都问过我,今天我索性把完整的操作步骤写出来,你们有空可以自己在电脑上试一遍。

首先,我们要弄清楚人民币大写金额的书写规范。这个规范其实是有国家标准的,比如中国人民银行发布的《正确填写票据和结算凭证的基本规定》里就明确说了:金额大写要用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整(正)等字样。注意,是“整”不是“正”,虽然银行有时也用“正”,但最标准的是“整”。而且不能使用“一、二、三”这样的简化字,也不能自己创造连笔字。还有,在“元”之后没有“角”也没有“分”的时候,必须要加“整”字。如果“元”之后有“角”但无“分”,也要加“整”;但如果有“角”有“分”,或者只有“分”,都不需要加“整”。举个例子,100.00要写成“壹佰元整”,100.50要写成“壹佰元伍角整”,100.55要写成“壹佰元伍角伍分”,100.05要写成“壹佰元零伍分”。注意这个“零”的使用,当角位是0、分位非0时,要在“元”后面加“零”,不能直接写成“壹佰元伍分”,而应该是“壹佰元零伍分”。同样,如果是10.06,就是“壹拾元零陆分”。这些细节很多人容易搞错。

有了这个规范,我们就可以在Excel里写公式了。最简单的方法是利用Excel自带的函数。Excel里有一个将数字转换为中文大写数字的函数,叫做“NUMBERSTRING”,但这个函数只能把数字转成汉字数字,不能自动加上元角分和整。比如= NUMBERSTRING(123.45,2)会得到“壹佰贰拾叁点肆伍”,不是我们财务需要的格式。所以我们需要自己组合公式。假设你的小写金额在A1单元格,我们可以用这个公式:=IF(ROUND(A1,2)=0,"零元整",TEXT(INT(ROUND(A1,2)),"[DBNum2]")&"元"&IF(INT(ROUND(A1*10,1))-INT(ROUND(A1,2))*10=0,"零",TEXT(INT(ROUND(A1*10,1))-INT(ROUND(A1,2))*10,"[DBNum2]")&"角")&IF(ROUND(A1*100,0)-INT(ROUND(A1*10,1))*10=0,"整",TEXT(ROUND(A1*100,0)-INT(ROUND(A1*10,1))*10,"[DBNum2]")&"分"))。我当年第一次用这个公式的时候,以为很完美,结果测试的时候发现金额为100.10时,它输出的是“壹佰元壹角整”,这没错。但是金额为100.01时,它输出的是“壹佰元零壹分”,也没问题。但是金额为10.00时,它输出的是“壹拾元整”,问题来了:按照规范,10.00应该写“壹拾元整”,但有些银行要求写“壹拾元零角零分”,那是错误的,正规是“壹拾元整”。所以这个公式没问题。但有一个更大的坑:当金额为分位为0但角位非0时,它输出的角位后面直接跟着“角”,然后“整”字,比如100.50变成“壹佰元伍角整”,这是对的。可当金额为0.50时,它会输出“零元伍角整”,这个“零元”其实在规范里是允许的,但实务中有些地方不写,不过公式里保留了。还有一个更常见的陷阱:如果A1单元格是一个文本型数字,比如从系统导出的数据带有空格或格式不对,公式就会报错。所以你在使用前一定要确保A1是数值格式,最好先乘以1或者用VALUE函数转换一下。

这个公式里用了ROUND函数来避免浮点误差,这是我自己踩过的坑换来的教训。那一次我处理一笔跨年发票的冲红,金额是0.01元,因为没加ROUND,结果公式算出来的是“零元零角零零分”,银行直接退票了,说大写不规范。幸好主管复核时发现了,不然重新开票不仅要麻烦对方重寄,还可能拖到汇算清缴后产生滞纳金。从那天起,我就在所有金额相关公式里都加上了ROUND,再也没出过这一类问题。所以你们一定要记住这个教训。

当然,如果你觉得公式太长不愿意记忆,还有一个更省事的办法:在WPS表格里直接使用内置函数。WPS从2024版开始就提供了“人民币大写”函数,用法是=人民币大写(A1),回车就行,连公式都不用写。不过需要注意,WPS的这个函数默认会把0.50转成“伍角整”,而不是“零元伍角整”,与国家标准略有出入,但大部分情况下都能通过。如果你是用Microsoft Office,那还是老老实实用上面的自定义公式吧。

我还遇到过不少学员问我,在Excel里怎么把大写金额再转回小写,比如在审核的时候。这个其实可以用公式反向操作,但很复杂,一般不需要。我们只要保证小写和大写统一用公式从同一个金额生成,就永远不会出现不一致。这也是为什么我建议所有报销单、合同模板都在Excel里生成,而不是手工填写。

另外,有些财务软件比如用友U8+、金蝶KIS云专业版,在凭证录入时,输入小写金额后大写会自动显示在借贷方的大写栏里,你根本不用操心。但如果你还在用老版本的软件或者Excel辅助做账,这个技巧就是你避免返工的最佳武器。现在已经是2026年了,全电发票已经普及,全电发票平台里大小写金额都是自动生成的,你只需要核对即可。但企业内部报销单、借款单、支票等仍然需要手动大写,尤其是那些还在使用线下流程的公司。我见过最典型的场景是:员工报销时,手写大写把“元”写成了“圆”,或者把“整”写成了“正”,导致会计退回重填,效率极低。如果每个报销单都统一用Excel生成,这些问题全都不会出现。

说到支票,还有一点要注意:银行支票上的大写金额有更细致的规范,比如“千”和“万”之间不能有一横,而且不能有涂改。但在Excel里生成后再打印到支票上,一旦打错位置就很难看。所以我一般不推荐用Excel直接打印支票,还是用专业支票打印软件更可靠。不过如果你需要在Excel里生成支票金额的大写文字,用上面那个公式完全够用。

我还要给大家一个建议:如果你需要批量处理几十甚至上百条金额,比如做工资表、工资条上的大写金额,千万不要

领取会员

亲爱的学员你好,微信扫码加老师领取会员账号,免费学习课程及提问!

微信扫码加老师开通会员

在线提问累计解决68456个问题

齐红老师 | 官方答疑老师

职称:注册会计师,税务师

亲爱的学员你好,我是来自快账的齐红老师,很高兴为你服务,请问有什么可以帮助你的吗?

您的问题已提交成功,老师正在解答~

微信扫描下方的小程序码,可方便地进行更多提问!

会计问小程序

该手机号码已注册,可微信扫描下方的小程序进行提问
会计问小程序
会计问小程序
×