Excel精英培训网

 找回密码
 注册
查看: 4944|回复: 15

闲来无事,做一中文小写数字的加减题(已开贴求精简)

[复制链接]
发表于 2012-5-17 12:41 | 显示全部楼层 |阅读模式
本帖最后由 chunlin1wang 于 2012-5-18 09:23 编辑

中文小写数字加减.zip (2.27 KB, 下载次数: 108)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-5-17 13:23 | 显示全部楼层
回复

使用道具 举报

发表于 2012-5-17 13:38 | 显示全部楼层
  1. =SUBSTITUTE(TEXT(MATCH(MID(A2,1,MIN(FIND({"加","减"},A2&"加减"))-1),SUBSTITUTE(TEXT(ROW($1:999),"[dbnum1]"),"一十","十"),)+IF(COUNTIF(A2,"*加*"),1,-1)*MATCH(MID(A2,MIN(FIND({"加","减"},A2&"加减"))+1,9),SUBSTITUTE(TEXT(ROW($1:999),"[dbnum1]"),"一十","十"),),"[dbnum1]"),"-","负")
复制代码
262个字符

点评

答案中有一十七的应该为十七  发表于 2012-5-17 14:35
回复

使用道具 举报

发表于 2012-5-17 14:41 | 显示全部楼层
本帖最后由 飞雨飘 于 2012-5-17 15:36 编辑

偶275个字,不发了。




  1. =SUBSTITUTE(TEXT(SUM((LEN(A2)+2-LEN(SUBSTITUTE({"加","加","减"}&A2&{"加","减","减"},{"加","减","减"}&SUBSTITUTE(NUMBERSTRING(ROW($1:$999),1),"一十","十")&{"加","减","减"},))>0)*{1,-2,1}*ROW($1:$999)),"[DBNum1];负[DBNum1]G/通用格式"),"一十","十")
复制代码


222个字符,细节未精减。

点评

答案是负数和零时出错  发表于 2012-5-17 17:21
回复

使用道具 举报

发表于 2012-5-17 14:42 | 显示全部楼层
  1. =SUBSTITUTE(SUBSTITUTE(TEXT(MATCH(MID(A2,1,MIN(FIND({"加","减"},A2&"加减"))-1),SUBSTITUTE(TEXT(ROW($1:999),"[dbnum1]"),"一十","十"),)+IF(COUNTIF(A2,"*加*"),1,-1)*MATCH(MID(A2,MIN(FIND({"加","减"},A2&"加减"))+1,9),SUBSTITUTE(TEXT(ROW($1:999),"[dbnum1]"),"一十","十"),),"[dbnum1]"),"-","负"),"一十","十")
复制代码
{:4112:}还要再套个SUBSTITUTE,太变态了

评分

参与人数 1 +3 收起 理由
chunlin1wang + 3

查看全部评分

回复

使用道具 举报

发表于 2012-5-17 16:26 | 显示全部楼层
本帖最后由 飞雨飘 于 2012-5-17 17:53 编辑

换个思路
  1. =SUBSTITUTE(TEXT(SUM(ISNUMBER((FIND({"加","减","减"}&SUBSTITUTE(NUMBERSTRING(ROW($1:999),1),"一十","十")&{"加","减","减"},{"加","加","减"}&A2&{"加","减","减"})))*{1,-2,1}*ROW($1:999)),"[DBNum1];负[DBNum1]G/通用格式"),"一十","十")
复制代码
207了
  1. =SUBSTITUTE(TEXT(SUM(ISNUMBER((FIND({"加","减","减"}&SUBSTITUTE(NUMBERSTRING(ROW($1:999),1),"一十","十")&{"加","减","减"},{"加",9,"减"}&A2&{"加","减","减"})))*{1,-2,1}*ROW($1:999)),"[DBNum1];负[DBNum1]G/通用格式"),"一十","十")
复制代码

还差一点点。DBNum1];负[DBNum1]G/通用格式               这一段太长。


应是都没有考虑到0时的结果吧。

点评

1.负数出错,2.A3、A4、A7出错,负数显示不对  发表于 2012-5-17 17:16
回复

使用道具 举报

发表于 2012-5-17 18:18 | 显示全部楼层
本帖最后由 飞雨飘 于 2012-5-17 19:46 编辑

负数没有问题呀?0是没有考虑到了.请看附件

  1. =SUBSTITUTE(TEXT(SUM((LEN(A2)+2-LEN(SUBSTITUTE({"加","加","加"}&A2&{"加","减",9},{"加","减","加"}&SUBSTITUTE(NUMBERSTRING(ROW($1:$999),1),"一十","十")&{"加","减","减"},))>0)*{1,-1,1}*ROW($1:$999)),"[DBNum1];负[DBNum1]G/通用格式"),"一十","十")

  2. =SUBSTITUTE(TEXT(SUM(ISNUMBER((FIND({"加","减","加"}&SUBSTITUTE(NUMBERSTRING(ROW($1:999),1),"一十","十")&{"加","减","减"},{"加","加","加"}&A2&{"加","减",9})))*{1,-1,1}*ROW($1:999)),"[DBNum1];负[DBNum1]G/通用格式"),"一十","十")
复制代码
=SUBSTITUTE(TEXT(SUM(ISNUMBER(FIND({"加","减","加"}&SUBSTITUTE(NUMBERSTRING(ROW($1:999),1),"一十","十")&{"加","减","减"},{"加",9,"加"}&A2&{"加","减",9}))*{1,-1,1}*ROW($1:999)),"[DBNum1];负[DBNum1]G/通用格式"),"一十","十")
刚刚好200个字符.

中文小写数字加减.rar

4.75 KB, 下载次数: 16

点评

是的,可能我的Excel没完全安装  发表于 2012-5-17 18:29

评分

参与人数 1 +6 收起 理由
chunlin1wang + 6 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-5-17 20:05 | 显示全部楼层
  1. =SUBSTITUTE(SUBSTITUTE(TEXT(LOOKUP(1,0/(SUBSTITUTE(TEXT(ROW(1:1000)-1,"G/通用格式[DBNUM1]"),"一十","十")=LEFT(A2,MIN(FIND({"加","减"},A2&"加减"))-1)),ROW(1:1000)-1)+-1^(MID(A2,MIN(FIND({"加","减"},A2&"加减")),1)="减")*LOOKUP(1,0/(SUBSTITUTE(TEXT(ROW(1:1000)-1,"G/通用格式[DBNUM1]"),"一十","十")=MID(A2,MIN(FIND({"加","减"},A2&"加减"))+1,9)),ROW(1:1000)-1),"G/通用格式[DBNUM1]"),"一十","十"),"-","负")
复制代码

中文小写数字加减.rar

2.82 KB, 下载次数: 13

评分

参与人数 1 +3 收起 理由
chunlin1wang + 3 公式长了,没$1可能出错

查看全部评分

回复

使用道具 举报

发表于 2012-5-17 22:15 | 显示全部楼层
本帖最后由 zhh823543 于 2012-5-17 23:16 编辑
  1. =SUBSTITUTE(TEXT(LOOKUP(1,0/(SUBSTITUTE(TEXT(ROW(A:A)-1,"[DBNUM1]"),"一十","十")=LEFT(A2,MIN(FIND({"加","减"},A2&"加减"))-1)),ROW(A:A)-1)+-1^ISERR(FIND("加",A2))*LOOKUP(1,0/(SUBSTITUTE(TEXT(ROW(A:A)-1,"[DBNUM1]"),"一十","十")=MID(A2,MIN(FIND({"加","减"},A2&"加减"))+1,9)),ROW(A:A)-1),"[DBNUM1];负G/通用格式[DBNUM1]"),"一十","十")
复制代码
稍微缩短了一些
回复

使用道具 举报

发表于 2012-5-17 23:02 | 显示全部楼层
  1. =SUBSTITUTE(TEXT(SUM(COUNTIF(A2,{"*加","*减","",""}&SUBSTITUTE(NUMBERSTRING(ROW($1:999),1),"一十","十")&{"","","加*","减*"})*ROW($1:999)*{1,-1,1,1}),"[DBNum1];负[DBNum1]G/通用格式"),"一十","十")
复制代码


点评

和我预设的思路一样,字符比我少,厉害,学习。  发表于 2012-5-18 08:34

评分

参与人数 1 +9 收起 理由
chunlin1wang + 9 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-24 18:56 , Processed in 0.364886 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表