最近做表格需要把普通货币数字变成人民币大写,就像财务里边那样大写。记得电脑里有个文件里有这个功能,但是怎么也找不见那个文件了,找出来的都是手动输入的,不是自动转变的。如果手动输入,我不敢保证我不会输错,只能再次求助于deepseek,救我于江湖。ds还是那么给力,给了我3种办法,第一种办法就是用单元格格式转换,但是这个转换出来的大写跟财务要求的大写有出入,例如他会将123.45显示为壹佰贰拾叁.肆伍,格式为“数字”,不包含“元”、“角”、“分”等单位,不符合财务规范要求。这种办法就舍弃了!ds给的第二种办法,是一串公式代码,结果是符合财务规范要求,但是前面没有“人民币:”这几个字样,看着有点难受。我想加个“人民币:”字样,怎么也加不对地方,总提示出错,算了,懒得弄了。打算求助财务同事,感觉他们是专业的,这种转换应该是常规操作。后来正好有事找财务同事,顺便咨询了一下这个问题,财务同事真的有办法,给我复制了一串公式代码给我,上面自带有“人民币”三个字,比较符合预期。在电脑上设置的时候发现这串代码缺少冒号,看着不是那么清晰分明,然后自己琢磨了一下,代码里加了冒号,这次没有提示错误,成功自动转换大写。ds给的第三种办法需要用到宏功能,我的版本是简易版,没有这个功能,没法用,也舍弃了。为了方便跟我一样的伙伴,现把最终加有“人民币:”这串字符的代码复制如下,只需要把这串代码复制到excel里,手动修改一下其中单元格定位编码即可使用。
=IF(I12<=0,,TEXT(INT(I12),"[dbnum2]人民币:G/通用格式")&"元"&IF(INT(I12*10)-INT(I12)*10=0,IF(INT(I12)*(INT(I12*100)-INT(I12*10)*10)=0,"","零"),TEXT(INT(I12*10)-INT(I12)*10,"[dbnum2]")&"角")&IF((INT(I12*100)-INT(I12*10)*10)=0,"整",TEXT((INT(I12*100)-INT(I12*10)*10),"[dbnum2]")&"分"))