大贤者
精华
|
战斗力 鹅
|
回帖 0
注册时间 2008-2-20
|
楼主 |
发表于 2025-8-7 12:50
|
显示全部楼层
本帖最后由 阿菠萝13 于 2025-8-7 20:49 编辑
受5楼公式启发,写出了更简单的公式——
数据量不大于8位的话:
=SUBSTITUTE(NUMBERSTRING(A1,2),"万",IF(AND(MOD(INT(A1/10^4),10)=0,MOD(INT(A1/10^3),10)>0),"万零","万"))
数据量不大于12位的话:
=SUBSTITUTE(SUBSTITUTE(NUMBERSTRING(A1,2),
"万",IF(AND(MOD(INT(A1/10^4),10)=0,MOD(INT(A1/10^3),10)>0),"万零","万")),
"亿",IF(OR(AND(MOD(INT(A1/10^8),10)=0,MOD(INT(A1/10^7),10)>0),AND(MOD(INT(A1/10^4),10^4)=0,MOD(INT(A1/10^3),10)>0)),"亿零","亿"))
解释一下,先将数值转为EXCEL内置中文大写数字格式,然后当万位(10^4)为0且千位不为0时:将汉字“万”替换为“万零”、否则照旧;再当亿位(10^8)为0且千万位不为0时、或整个万级为0且千位不为0时:将汉字“亿”替换为“亿零”、否则照旧。目前只考虑到这步,数据量还没大到要考虑兆位(10^12),如果需要考虑的话依葫芦画瓢再嵌套一层即可
顺便说一下,5楼的公式在处理角分时是有问题的,会出现"伍角零分"之类的错误结果,而我主楼里仅仅是考虑将整数转为会计大写,并未考虑元角分这些字的处理
|
|