Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: ddhhyy16

[习题] 练习十四【先开帖,后评分】

[复制链接]
发表于 2014-2-27 18:08 | 显示全部楼层
忽悠一个=if(or(Len(c2)={7,12}),replace(c2,Len(c2)-6,,8-6*(--mid(c2,Len(c2)-6,1)=2)),c2)

评分

参与人数 1 +15 金币 +15 收起 理由
ddhhyy16 + 15 + 15 哇塞,黄老师就是不一般~

查看全部评分

回复

使用道具 举报

发表于 2014-2-27 18:41 | 显示全部楼层
=IF(ISNUMBER(FIND("-",C2)),(LEFT(C2,FIND("-",C2)))&(IF(LEN(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2))=7,IF((--LEFT(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2)))=2,2&(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2)),8&(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2))),IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2))),IF(LEN(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2))=7,IF((--LEFT(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2)))=2,2&(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2)),8&(IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2))),IF(ISNUMBER(FIND("-",C2)),MID(C2,FIND("-",C2)+1,100),C2)))

评分

参与人数 1 +12 金币 +12 收起 理由
ddhhyy16 + 12 + 12 淡定

查看全部评分

回复

使用道具 举报

发表于 2014-2-27 18:43 | 显示全部楼层
                回复答案

练习114.rar

8.99 KB, 下载次数: 3

回复

使用道具 举报

发表于 2014-2-27 19:24 | 显示全部楼层
=IF(LEN(C2)=12,SUBSTITUTE(C2,"-","-"&(MID(C2,6,1)*1<>2)*6+2),IF(LEN(C2)=7,((LEFT(C2,1)*1<>2)*6+2)&C2,C2))
回复

使用道具 举报

发表于 2014-2-27 21:01 | 显示全部楼层
公式:=IF(ISERROR(FIND("-",$C2,1)),IF(LEN($C2)=8,$C2,IF(LEFT($C2,1)="2",2&$C2,8&$C2)),IF(LEN($C2)=13,$C2,IF(MID($C2,6,1)="2",LEFT($C2,5)&2&MID($C2,6,100),LEFT($C2,5)&8&MID($C2,6,100))))
太复杂,函数功底太薄弱,还望指点呀。
回复

使用道具 举报

发表于 2014-2-27 21:53 | 显示全部楼层
  1. =IF(OR(LEN(C2)={8,13}),C2,IF(N(C2),"",LEFT(C2,5))&2+(LEFT(RIGHT(D2,7))<>"2")*6&RIGHT(D2,7))
复制代码
回复

使用道具 举报

发表于 2014-2-27 21:59 | 显示全部楼层
  1. =IF(OR(LEN(C2)=7,LEN(C2)=12),IF(LEFT(ABS(-RIGHT(C2,8)))="2",SUBSTITUTE(C2,"2","22",1),IF(LEN(C2)=7,8&C2,REPLACE(C2,5,1,"-8"))),C2)
复制代码
思考了很久,想找到一个简洁的办法,都木有成功,就题论题来一个吧
QQ截图20140227215849.png
回复

使用道具 举报

发表于 2014-2-27 22:07 | 显示全部楼层
本帖最后由 hsl215 于 2014-2-28 13:25 编辑

来个干超长的公式
=MID(C2,1,IFERROR(FIND("-",C2),0))&IF(LEN(MID(C2,IFERROR(FIND("-",C2),0)+1,9))=8,"",IF(LEFT(MID(C2,IFERROR(FIND("-",C2),0)+1,9))="2",2,8))&MID(C2,IFERROR(FIND("-",C2),0)+1,9)
再来一个
=IF(LEN(C2)=7,IF(MID(C2,1,1)="2",2,8)&C2,IF(LEN(C2)=12,IF(MID(C2,6,1)="2",SUBSTITUTE(C2,"-","-2"),SUBSTITUTE(C2,"-","-8")),C2))
回复

使用道具 举报

发表于 2014-2-27 22:36 | 显示全部楼层
本帖最后由 doggie 于 2014-2-27 23:25 编辑

=IF(N(C2),,"0769-")&-SUBSTITUTE("-8"&RIGHT(C2,7),"-82","-22")

优化一下:
=IF(N(C2),,"0769-")&-SUBSTITUTE(-8&RIGHT(C2,7),-82,-22)

评分

参与人数 3 +13 金币 +24 收起 理由
珺珺妈 + 1 学习。谢谢。
笨笨四 + 12 赞一个!
huangcaiguang + 12 + 12 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-2-28 11:16 | 显示全部楼层
写一个稍微费解的:
  1. =REPLACE(C2,LEN(C2)-7+1,,IF(OR(LEN(C2)={7,12}),IF(LEFT(TEXT(RIGHT(C2,8),"0;0"))-2,8,2),""))
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 18:35 , Processed in 0.368033 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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