EXCEL2016(适用于大多数excel版本,包括WPS表格,这里用excel2016做演示)
首先打开我们经常用到人名币大写的EXCEL表格,本次方案所用为本人做的一个报价表为例。如下图,红色标注出的表格为准换后的格式,该格式会随着合计的金额而变化。且均为标准的人名币大写格式。
选中需要转换为大写的单元格。会发现这里出现一长串的EXCEL函数。其实就是通过这个函数将合计单元格的数值转换为标准的单元格的函数的。函数为“='大写:'&IF(TRIM(C17)='','',IF(C17=0,'','人民币'&IF(C17<0,'负',)&IF(INT(C17),TEXT(INT(ABS(C17)),'[dbnum2]')&'圆',)&IF(INT(ABS(C17)*10)-INT(ABS(C17))*10,TEXT(INT(ABS(C17)*10)-INT(ABS(C17))*10,'[dbnum2]')&'角',IF(INT(ABS(C17))=ABS(C17),,IF(ABS(C17)<0.1,,'零')))&IF(ROUND(ABS(C17)*100-INT(ABS(C17)*10)*10,),TEXT(ROUND(ABS(C17)*100-INT(ABS(C17)*10)*10,),'[dbnum2]')&'分','整')))”
接下来我们简单的说一下这个函数的原理,首先就是将合计单元格的数值转换为人名币大写的数字格式,然后使用条件语句对数值进行判断,实现货币数值正负的显示、元角分的显示等。
函数的使用方法:='大写:'&IF(TRIM(C17)='','',IF(C17=0,'','人民币'&IF(C17<0,'负',)&IF(INT(C17),TEXT(INT(ABS(C17)),'[dbnum2]')&'圆',)&IF(INT(ABS(C17)*10)-INT(ABS(C17))*10,TEXT(INT(ABS(C17)*10)-INT(ABS(C17))*10,'[dbnum2]')&'角',IF(INT(ABS(C17))=ABS(C17),,IF(ABS(C17)<0.1,,'零')))&IF(ROUND(ABS(C17)*100-INT(ABS(C17)*10)*10,),TEXT(ROUND(ABS(C17)*100-INT(ABS(C17)*10)*10,),'[dbnum2]')&'分','整')))将以上函数复制到我们需要转换为人民币大写数值的单元格,然后将函数中所有的C17手动改为你需要转换为大写数字的目标单元格。
比如:我们将A1 单元格中的数值(98765432.10)转换为人名币大写显示在B1单元格。先将以上函数复制到B1 单元格。
然后将B1单元格函数中的C17改为A1,修改完成后点击回车就会发现B1单元格里显示的数值已经变为A1单元格中的数值的标准人名币大写格式了。且会随之A1单元格的数值变化而变化。
函数为=到)))之间的所有内容。不可以多复制,也不能少复制。
在函数修改时一定要细心,否则会发生函数报错及显示数据不准确等错误。