为满足《中华人民共和国票据法》中对中文大写金额的书写要求,可以使用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函数将“零角”替换为“零”或空值,将“零分”替换为“整”。