jiu97 发表于 2008-5-27 22:56:18

一个微软未公开的小写转大写函数,会计们有福了

NumberString(1234567890,1) = 一十二亿三千四百五十六万七千八百九 NumberString(1234567890,2) = 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾 NumberString(1234567890,3) = 一二三四五六七八九 TEXT(1234567890,"")=一十二亿三千四百五十六万七千八百九十 TEXT(1234567890,"")=壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾 TEXT(1234567890,"0")=一二三四五六七八九○ TEXT(1234567890,"0")=壹贰叁肆伍陆柒捌玖零
还看不懂可以下载附件

[ 本帖最后由 jiu97 于 2008-5-27 22:57 编辑 ]

yanggeman 发表于 2008-5-27 23:28:47

小数和元角分单位怎么表示?

感谢你无私奉献,我使用后有两个问题:
1.我写了几个小数,你的公式转换不过来;
2.金额的元角分字样,怎么表示进去?

neptune 发表于 2008-5-28 08:34:06

暂时还是使用此公式,G107是数据所在单元格。
=IF(ROUND(G107,2)<0,"无效数值",IF(ROUND(G107,2)=0,"零元",IF(ROUND(G107,2)<1,"",TEXT(INT(ROUND(G107,2)),"")&"元")&IF(INT(ROUND(G107,2)*10)-INT(ROUND(G107,2))*10=0,IF(INT(ROUND(G107,2))*(INT(ROUND(G107,2)*100)-INT(ROUND(G107,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(G107,2)*10)-INT(ROUND(G107,2))*10,"")&"角")&IF((INT(ROUND(G107,2)*100)-INT(ROUND(G107,2)*10)*10)=0,"整",TEXT((INT(ROUND(G107,2)*100)-INT(ROUND(G107,2)*10)*10),"")&"分")))

weihua56789 发表于 2008-5-28 09:09:18

小数不能正确转换,但是也不错,这个函数很简单

jiu97 发表于 2008-5-30 17:52:36

回复 2# 的帖子

小数部分还是自己编个小公式嘛,毕竟是未公开的公式,不要那么较真了。

hongmei 发表于 2008-5-30 21:12:35

:) 这个公式对于正整数很方便,对于小数还是无效
其中1234567890 也可以用单元格代替

1974eagle 发表于 2009-1-14 20:20:07

很值得研究,看一下帮助里有没有。

简单 发表于 2009-3-1 12:20:56

可以写出到“角、分”的啊
我用的是Numberstring这个函数
未完善,自己再加上判断条件吧

ralf-ak74@sohu. 发表于 2009-3-24 10:53:08

这样还是好一点 以前都是编的长长的公式

hesb520 发表于 2011-2-11 16:57:44

灰常感谢楼主的东西,下来以后感觉很适用
页: [1] 2
查看完整版本: 一个微软未公开的小写转大写函数,会计们有福了