|
原帖由 ldy 于 2008-8-14 22:12 发表 [img]顺便在 附上两个 目前最短的 公式
167字符A
QUOTE:
=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1),IF(A1<0,"负",)&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),),"零角",IF(A1^2<1,,"零")),"零分","整")
IF(A1<0,"负",) 不能有效处理A1单元格属性是文本(或 =-123&"")的的情况
用 TEXT(A1,";负") 代替 IF(A1<0,"负",) 进行负值判断 可以增加处理文本单元格的功能
167字符B
QUOTE:
=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1),TEXT(A1,";负")&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),),"零角",IF(A1^2<1,,"零")),"零分","整")
出自 wshcw网友、百度Excel吧
161字符:显示负数为 - ,这个161字符函数是在与wshcw的交流中学习所得。
QUOTE:
=TEXT(RMB(A1),"[=]g;"&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1^2<1,,"零")),"零分","整"))
三个公式经测试均错!
如113
结果为:壹佰壹拾叁元壹角叁分
如果有角分,角位被零取代了。
我在2003 下重新测试 三个公式都显示 壹佰壹拾叁元整
并没有你说的情况,你再验证一下,要不贴个图来看看。---LDY
[ 本帖最后由 ldy 于 2009-2-8 00:08 编辑 ]
图片上传上来了,看看吧。
=RMB(123) 显示 ¥123.00 ,看一下 你的excel里有没有这个函数。这个问题其他帖子有讨论,
http://club.excelhome.net/viewthread.php?tid=337492&page=2&fromuid=26992#pid2219538]http://club.excelhome.net/viewthread.php?tid=337492&page=2&fromuid=26992#pid2219538]http://club.excelhome.net/viewthread.php?tid=337492&page=2&fromuid=26992#pid2219538
如果不支持 RMB函数 换用 FIXED函数 试试,我也发个图你看看,EXCEL2003 SP3 简体中文版
[ 本帖最后由 ldy 于 2009-2-8 13:13 编辑 ]
将公式中的RMB(A1)改成RMB(A1,2)公式能得出正确结果,或者把RMB()换成FIXED()也能得到正确结果。
经测试:
RMB()函数的使用与Windows设置有关.
但FIXED()函数的使用又与Windows设置无关,缺省时仍然是默认2位小数.
建议:不要省略RMB()的参数2,以防止得到不正确的结果.
同时也建议版主写全公式,真正的做到通用。
谢谢版主的辛勤劳动!
[ 本帖最后由 neverquest 于 2009-2-10 09:15 编辑 ] |
-
|