财务少不了经常填写大写金额,网络上有众多的Excel大写金额公式,但是非常少有100%完全符合财务规范要求的,而且公式很长,使用非常复杂,需要替换公式中4-5处以上的地方。
今天我给大家提供的大写公式应该是最简单的,而且完全符合财务规范。这是我经常在企业估值模型中使用的公式,没有出现过错误,我也曾经搜索过网络上各种大写公式,确实没有发现有更为简单的,如果有大家务必告诉我。
完整版(100%准确)=SUBSTITUTE("人民币:"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(INT(A1),"[dbnum2]")&TEXT(MOD(A1,1)*100,"[<0.5][dbnum2]元整;[<9][dbnum2]元00分;[dbnum2]元0角0分"),"零分",""),"零元零",""),"零元",""),"人民币:整","人民币:零元整")
简单版(99%准确率)="人民币:"&TEXT(INT(A1),"[dbnum2]")&TEXT(MOD(A1,1)*100,"[<0.5][dbnum2]元整;[<9][dbnum2]元00分;[dbnum2]元0角0分")
效果如下图:
使用方法
直接copy到需要填写大写金额的单元格,并将公式中的A1替换成小写金额所在的单元格地址即可。
公式详解
1、简单版公式由3部分组成,&为字符串连接。
假定A1单元格的值为2,099.01,则:
第一部分:
"人民币:"&
结果=“人民币:”;
第二部分:
TEXT(INT(A1),"[dbnum2]")&
结果=“贰仟零玖拾玖”。int(A1)是取整数部分,Text(2099,"[dbnum2]")函数中“[dbnum2]”为数据格式,即大写。
第三部分:
TEXT(MOD(A1,1)*100,"[<0.5][dbnum2]元整;[<9][dbnum2]元00分;[dbnum2]元0角0分")
结果="元零壹分"。
mod(A1,1)函数的作用是求A1单元格的值除以1后的余数,即是小数部分0.01,
TEXT(10,"[<0.5][dbnum2]元整;[<9][dbnum2]元00分;[dbnum2]元0角0分")
格式的作用是:
[<0.5][dbnum2]元整 :
当小于1时取大写加元整,即小数均为零时等于“元整”;
[<9][dbnum2]元00分 :
当小于9时的大写格式,如:8,即为“元零捌分”;
[dbnum2]元0角0分 :
其他,除上述情况,如:1,即为“元零角壹分”;
2、完全版公式是在简单版公式基础上替换不合理的情况
函数 SUBSTITUTE(文本字符串 , 需要替代的旧字符, 用于替代的新字符), 在文本字符串中用新字符替代旧字符。
完全版公式增加了对简单版公式得到的字符串进行替代处理,其中替代4种情况:
"零分" 替代成 "",即删除;
"零元零" 替代成 "",即删除;
"零元" 替代成 "",即删除;
"人民币:整" 替代成 "人民币:零元整"。
我是精英财务Excel课,请关注我,用最简短秒懂的表达方式分享财务领域的各种知识。欢迎下方评论留言!
,