分享

使用TEXT函数生成中文大写金额

 钱小启 2019-06-03

为满足《中华人民共和国票据法》中对中文大写金额的书写要求,可以使用TEXT函数将数字格式转换为中文大写金额。图中A列是小写的金额,需要在B列使用公式将其转换为中文大写金额。

生成中文大写金额

在B2单元格中输入以下公式,向下复制到B6单元格。

=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2,2),TEXT(A2,';负')&TEXT(INT(ABS(A2)+0.5%),'[dbnum2]G/通用格式元;;')&TEXT(RIGHT(RMB(A2,2),2),'[dbnum2]0角0分;;整'),),'零角',IF(A2^2<1,,'零')),'零分','整')

公式中“RMB(A2,2)”部分的作用是依照货币格式将数值四舍五入到两位小数并转换成文本。

使用TEXT函数分别将金额数值的整数部分和小数部分及正负符号进行格式转换。

“TEXT(A2,';负')”部分的作用是,如果A2单元格的金额小于0则返回字符“负”。

“TEXT(INT(ABS(A2)+0.5%),'[dbnum2]G/通用格式元;;')”部分的作用是将金额取绝对值后的整数部分转换为大写。+0.5%的作用是为了避免0.999元、1.999元等情况下出现的计算错误。

“TEXT(RIGHT(RMB(A2,2),2),'[dbnum2]0角0分;;整')”部分的作用是,将金额的小数部分转换为大写。

再使用连接符号“&”连接3个TEXT函数的结果。

IF函数对“-RMB(A2,2)”进行判断,如果金额大于等于1分,则返回连接TEXT函数的转换结果,否则返回空值。

最后使用两个SUBSTITUTE函数将“零角”替换为“零”或空值,将“零分”替换为“整”。

本文节选自北京大学出版社、Excel Home团队出版的《Excel 2016函数与公式应用大全》,本书全面系统地介绍了Excel 2016函数与公式的技术特点和应用方法,深入揭示背后的原理概念,并配合大量典型实用的应用案例,帮助读者全面掌握Excel的函数与公式。全书分为4篇共32章,内容包括公式与函数基础、常用函数、函数综合应用,以及其他功能中的函数应用。附录中还提供了Excel 2016规范与限制、Excel 2016常用快捷键、Excel 2016常用函数及功能说明等内容,方便读者查阅。【阅读原文】立刻了解

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多