hkc5448 发表于 2018-9-20 23:48

金额小写转大写并对应到单个的单元格中公式

本帖最后由 hkc5448 于 2018-9-21 11:01 编辑

=IF(IF(LEN(INT(B2))>=7,LEFT(RIGHT(INT(B2),7)),"")="","零",CHOOSE(IF(IF(LEN(INT(B2))>=7,LEFT(RIGHT(INT(B2),7)),"")="0",10,IF(LEN(INT(B2))>=7,LEFT(RIGHT(INT(B2),7)),"")),"壹","贰","叁","肆","伍","陆","柒","捌","玖","零"))
此公式是小写金额的整数部分,复制到一个单元格内,整数有几位就将此公式分别复制到几个单元格内,复制完后,按位数对公式的一些数据进行修改,这是小数左边的第七位数,”(LEN(INT(B2))>=7“。小数左边的第六位数,就将7改为6 ,即”(LEN(INT(B2))>=6“。并将公式内的所有7都改6,依此类推改到”(LEN(INT(B2))>=1“。
括号中B2是放金额小写的单元格,如果金额小写是在其它单元格里的话,只要将公式中所有B2修改为金额小写所在其它单元格的编号就是了。

=IF(IF(ISERROR(FIND(".",B2,1)),0,MID(B2,FIND(".",B2,1)+1,1))="0","零",CHOOSE(IF(IF(ISERROR(FIND(".",B2,1)),0,MID(B2,FIND(".",B2,1)+1,1))=0,10,IF(ISERROR(FIND(".",B2,1)),0,MID(B2,FIND(".",B2,1)+1,1))),"壹","贰","叁","肆","伍","陆","柒","捌","玖","零"))
这是金额小写的小数点后面的小数部分的小数点后面的第一位,修改方法同上。

=IF(IF(ISERROR(FIND(".",B2,1)),0,MID(B2,FIND(".",B2,1)+2,1))="0","零",CHOOSE(IF(IF(ISERROR(FIND(".",B2,1)),0,MID(B2,FIND(".",B2,1)+2,1))=0,10,IF(ISERROR(FIND(".",B2,1)),0,MID(B2,FIND(".",B2,1)+2,1))),"壹","贰","叁","肆","伍","陆","柒","捌","玖","零"))
这是金额小写的小数点后面的小数部分的小数点后面的第二位,修改方法同上。


z_yj 发表于 2018-9-21 22:00

EXCEL本身有这个功能,我用vb自己编比这个复杂很多.

飞翔的鹰 发表于 2018-9-24 16:38

你用下面这个函数试一下,超级好用

=IF(A2=0,"",IF(A2<0,"负","")&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(INT(ABS(A2)),"")&"元"&TEXT(RIGHT(TEXT(A2,".00"),2),"0角0分"),"零角零分","整"),"零分","整"),"零角","零"),"零元零",""))

hkc5448 发表于 2018-9-25 09:13

飞翔的鹰 发表于 2018-9-24 16:38 https://www.pcbeta.com/static/image/common/back.gif
你用下面这个函数试一下,超级好用

=IF(A2=0,"",IF(A2

你这个用在一行是超级好用,我的是一个单元格一个大写。


cryh 发表于 2018-9-25 15:46

飞翔的鹰 发表于 2018-9-24 16:38 https://www.pcbeta.com/static/image/common/back.gif
你用下面这个函数试一下,超级好用

=IF(A2=0,"",IF(A2

这个厉害。

天涯阳光123 发表于 2018-9-26 13:19

学习了,谢谢楼主分享

hnfeng 发表于 2018-9-26 16:46

厉害
谢谢分享

木子雨山人 发表于 2018-9-26 17:05

虽不懂,还是谢谢楼主分享
页: [1]
查看完整版本: 金额小写转大写并对应到单个的单元格中公式