假设A1=123456.78
然后需要将这个数值分别取值 “百,十,万,仟,百,十,元,角,分”
当顶头数字为0的时候填充¥,怎么设置公式。或择中方法
经实测,百度和知乎上之前的答案都或多或少在数据特殊时存在一些问题。
研究出了如下最完美的解决方案,普适所有整数或一、两位小数的各种情况,数字可以以此类推更大,食用时仅需要将P7换成你所需要数据存储的单元格位置。
献给每一个可怜巴巴的会计和报价、报销、支付审批填表狗%>_<%
亿位:=IFERROR(IF(LEN(INT(P7))=8,"¥",MID(INT(P7),LEN(INT(P7))-8,1)),"")
千万位:=IFERROR(IF(LEN(INT(P7))=7,"¥",MID(INT(P7),LEN(INT(P7))-7,1)),"")
百万位:=IFERROR(IF(LEN(INT(P7))=6,"¥",MID(INT(P7),LEN(INT(P7))-6,1)),"")
十万位:=IFERROR(IF(LEN(INT(P7))=5,"¥",MID(INT(P7),LEN(INT(P7))-5,1)),"")
万位:=IFERROR(IF(LEN(INT(P7))=4,"¥",MID(INT(P7),LEN(INT(P7))-4,1)),"")
千位:=IFERROR(IF(LEN(INT(P7))=3,"¥",MID(INT(P7),LEN(INT(P7))-3,1)),"")
百位:=IFERROR(IF(LEN(INT(P7))=2,"¥",MID(INT(P7),LEN(INT(P7))-2,1)),"")
十位:=IFERROR(IF(LEN(INT(P7))=1,"¥",MID(INT(P7),LEN(INT(P7))-1,1)),"")
个位:=IFERROR(IF(LEN(INT(P7))=0,"¥",MID(INT(P7),LEN(INT(P7))-0,1)),"")
角:=IFERROR(MID(INT(P7*10),LEN(INT(P7*10))-0,1),"")
分:=IFERROR(RIGHT(P7*100,1),"")
另外赠送一个小写转换成大写的公式,一并食用更加哟~
仅需要替换所有P13为你所需要数据存储的单元格位置
=IF(ISNUMBER(P13),IF(INT(P13),TEXT(INT(P13),"[dbnum2]")&"元",)&IF(INT(P13*10)-INT(P13)*10,TEXT(INT(P13*10)-INT(P13)*10,"[dbnum2]")&"角",IF(INT(P13)=P13,,IF(P13<0.1,,"零")))&IF(ROUND((P13)*100-INT(P13*10)*10,),TEXT(ROUND(P13*100-INT(P13*10)*10,),"[dbnum2]")&"分","整"),"")
然后你就可以得到酱紫完美的解决方案了,祝大家工作愉快!