一、需求背景日前,某支行营业部工作人员反映,在做客户信息清单时需要将人民币小写金额转换为大写数字金额,但EXCEL提供的功能不符合实际需要,如果手工填写过程比较繁琐,且浪费时间,因此求助于我部。二、问题分析及处理通过沟通,得知该工作人员采用的是EXCEL提供的大小写数字转换功能:选中小写数字金额单元格,单击鼠标右键,在快捷菜单中选择“设置单元格格式”,在“单元格格式”的“数字”标签页面中“分类”选择“特殊”、“类型”选择“中文大写数字”,点击“确定”后单元格数字转换为大写金额。转换结果:“”转换为“”。该转换方式的结果只是进行了大小写数字的转换,并不符合人民币通常的大写金额方式。另一种操作方式为:选中小写数字金额单元格,单击鼠标右键,在快捷菜单中选择“设置单元格格式”,在“单元格格式”的“数字”标签页面中“分类”选择“自定义”、“类型”选择“[DBNum2][$-804]G/通用格式"元"”,点击“确定”后单元格数字转换为大写金额。转换结果:“”转换为“”。该转换方式的结果与上一种方式结果一样,也不符合实际需求。因此,为满足客户需求,需要对单元格的数据进行分析并使用相关EXCEL函数来达到目的。处理过程如下:1、ROUND函数。处理单元格数据,通常做法为四舍五入至小数点后2位。调用方法:ROUND(单元格名称,2)。2、INT函数。处理单元格数据,获取整数部分。调用方法:INT(单元格名称)。3、TEXT函数。数据类型转换,将单元格数据转换为大写数据,需要区分整数部分和小数部分,整数部分转换后添加“元”,小数部分进行“角”、“分”的处理。调用方法:TEXT(单元格名称,转换类型),“转换类型”为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式,在此我们使用“[dbnum2])&"元"”实现。4、“角”、“分”的处理。角”的处理采用单元格数据放大10倍取整数与单元格数据取整数放大10倍的差值方式获取,实现为INT(ROUND(单元格名称,2)*10)-INT(ROUND(单元格名称,2))*10。“分”的处理采用单元格数据放大100倍取整数与单元格数据放大10倍再取整数放大10倍的差值方式获取,实现:INT(ROUND(单元格名称,2)*100)-INT(ROUND(单元格名称,2)*10)*10。5、完整实现方法。整体思路为将单元格数据按照“元”、“角”、“分”进行截取,然后转换为大写。因此将上述处理过程组合即可得到人民币小写金额转换大写的完整语法,然后我们根据EXCEL单元格的自动填充功能,实现整个表单的性别自动判断填充。对应语法的语句实现:=IF(ROUND(单元格名称,2)<0,"无效数据",IF(ROUND(单元格名称,2)=0,"零",IF(ROUND(单元格名称,2)<1,"",TEXT(INT(ROUND(单元格名称,2)),"[dbnum2]")&"元")&IF(INT(ROUND(单元格名称,2)*10)-INT(ROUND(单元格名称,2))*10=0,IF(INT(ROUND(单元格名称,2))*(INT(ROUND(单元格名称,2)*100)-INT(ROUND(单元格名称,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(单
EXCEL中人民币数字大写金额自动填充 来自淘豆网m.daumloan.com转载请标明出处.