更新!远没这么复杂,详情见这里:
传统的做法是用vbs,在excel中 alt+f11 ,添加转换模块, 把vbs代码填入, 再在任意单元格中调用代码,详情点此:
=CONVERT_TO_CHINESE(D16)
但vbs只能在office中使用,wps不支持vbs, 在wps中, 可以用以下思路处理,实测运行正常, 一般报销表各, 从万位到元角分的顺序:
d16填入数字, 将代码填入任意格中,即可转,一位一填, 和手填的表格式的效果一样
=IF(INT(D16/10000)=0,"零",CHOOSE(INT(D16/10000),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"万"&IF(INT(MOD(D16,10000)/1000)=0,"零",CHOOSE(INT(MOD(D16,10000)/1000),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"仟"&IF(INT(MOD(D16,1000)/100)=0,"零",CHOOSE(INT(MOD(D16,1000)/100),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"佰"&IF(INT(MOD(D16,100)/10)=0,"零",CHOOSE(INT(MOD(D16,100)/10),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"拾"&IF(INT(MOD(D16,10))=0,"零",CHOOSE(INT(MOD(D16,10)),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"元"&IF(INT(MOD(D1610,10))=0,"零",CHOOSE(INT(MOD(D1610,10)),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"角"&IF(INT(MOD(D16100,10))=0,"零",CHOOSE(INT(MOD(D16100,10)),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"分"
也可以在wps 的表格中,每个单元格填一位:
=IF(INT(D16/10000)=0,"零",CHOOSE(INT(D16/10000),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"万"
=IF(INT(MOD(D16,10000)/1000)=0,"零",CHOOSE(INT(MOD(D16,10000)/1000),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"仟"
=IF(INT(MOD(D16,1000)/100)=0,"零",CHOOSE(INT(MOD(D16,1000)/100),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"佰"
=IF(INT(MOD(D16,100)/10)=0,"零",CHOOSE(INT(MOD(D16,100)/10),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"拾"
=IF(INT(MOD(D16,10))=0,"零",CHOOSE(INT(MOD(D16,10)),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"元"
=IF(INT(MOD(D16*10,10))=0,"零",CHOOSE(INT(MOD(D16*10,10)),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"角"
=IF(INT(MOD(D16*100,10))=0,"零",CHOOSE(INT(MOD(D16*100,10)),"壹","贰","叁","肆","伍","陆","柒","捌","玖"))&"分"
效果如下: