ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 9793|回复: 19

[Excel 函数与公式] [开_109]提取字符串中的部分字符串(参考答案在10楼)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-11-20 10:15 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
提取字符串中的部分字符串,特别说明,最后数字是跟在字母后面的.

不限定字符数了,只要参与的建议版主根据各自公式技术、技巧含量,给予适当评分(最起码也评点经验分),强调的是重在参与.

[ 本帖最后由 wshcw 于 2008-12-10 10:44 编辑 ]

竞赛题(提取部分字符串).rar

4.11 KB, 下载次数: 321

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-11-20 13:37 | 显示全部楼层
B2=MID(LEFT(A2,MAX((CHAR(ROW($65:$90))=UPPER(MID(ASC(A2),COLUMN(1:1),1)))*COLUMN(1:1))),MIN(SEARCH(CHAR(ROW($65:$90)),ASC(A2)&CHAR(ROW($65:$90)))),50)
C2=RIGHT(LEFT(A2,MAX(ISNUMBER(-MID(A2,ROW($1:$50),1))*ROW($1:$50))),COUNT(-RIGHT(LEFT(A2,MAX(ISNUMBER(-MID(A2,ROW($1:$50),1))*ROW($1:$50))),ROW($1:$50))))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-11-21 11:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
.....................这个早就有人做了,而且做了许多

TA的精华主题

TA的得分主题

发表于 2008-11-21 11:12 | 显示全部楼层
黄兄[开放式竞赛区]第一贴,支持一下。黄兄第一次提出评分标准是150字符和200字符,虽因出题仓促而再改两稿,但这一标准还是不改好,“泼出的水收不回来了...”

需要评分时,通知我

TA的精华主题

TA的得分主题

发表于 2008-11-21 11:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
小弟替大理兄 抛一下砖
=MID(LEFT(A2,MATCH(1,N(INDIRECT(MID("n"&A2,ROW($1:99),1)&1)))-1),MATCH(,N(INDIRECT(MID(A2&"n",ROW($1:99),1)&1)),),99)

=RIGHT(LEFT(A2,MATCH(1,-MID(0&A2,ROW($1:99),1))-1),COUNT(-RIGHT(LEFT(A2,MATCH(1,-MID(A2,ROW($1:99),1))),ROW($1:99))))

[ 本帖最后由 yoka 于 2008-11-21 11:33 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-11-21 12:12 | 显示全部楼层
这个问题在多个Excel论坛已经讨论了很长时间了,真的值得如此穷追不舍地研究吗?






呵呵,一句话引来了黄版主的责问,问的不错。我承认,作为一个版主发表上面这样消极的言论确实不太合适,吓得大家都不敢答帖了。可能是我要求高了点。

本来,函数公式研究确实是需要有穷追不舍的精神的,我们也一直在提倡和发扬这个精神,竞赛区的开创也是为了鼓励更多人发挥更多的思路。

不过,楼主所讨论的这个主题自九月份到现在我已经看到过许多的探讨了,其中不少帖子都是楼主设立或参与的讨论。这些帖子其中不乏精彩的见解,既有精华贴,也有不少版主评了分的得分帖。
http://club.excelhome.net/viewthread.php?tid=350829&extra=page%3D1
http://club.excelhome.net/viewthread.php?tid=369600&extra=&highlight=%CC%E1%C8%A1&page=1
http://club.excelhome.net/viewthread.php?tid=370774&highlight=%CC%E1%C8%A1
http://club.excelhome.net/viewthread.php?tid=367500&extra=&highlight=%CC%E1%C8%A1&page=1

包括其他论坛上,差不多时间里也有许多相关的讨论。我去其他论坛次数极少,但也稍有所见:
http://www.officefans.net/cdb/viewthread.php?tid=94113&extra=page%3D1

我本以为,这个专题的讨论差不多也该算成熟了,不少会员包括楼主应该已经对这方面的问题有了自己成熟的思路,说到底,数字分离基本上是一个方法很多的问题,但可扩展性并不是十分的强(因地制宜更合适)。尽管大家自己写出来的公式也许不是最短的,但因为实际工作中的数据情况可能千变万化,也实在很难依据特定的案例来评价到底谁的公式更有优势。因此,我本觉得,楼主完全可以整理一个经验总结帖,将多种变化及其相应的解决方式总结一番,而不再需要再搞一次擂台,再来收集一番公式。

学好函数公式并不是要做一个收集公式的机器,当然我也许没有资格教大家怎么学函数,这一点纯粹是我个人的一点体会。

除上述想法以外,我没有其他对此版面、楼主以及发表此竞赛题的任何反对意见,我收回之前“炒冷饭”的观点,欢迎大家继续讨论此主题。

[ 本帖最后由 chrisfang 于 2008-11-24 15:03 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2008-11-21 12:23 | 显示全部楼层
C2=MID(A2,FIND(B2,A2)+LEN(B2),COUNT(-(MID(A2,FIND(B2,A2)+LEN(B2),ROW($1:$50))&1)))

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-11-26 00:45 | 显示全部楼层
原帖由 chrisfang 于 2008-11-21 12:12 发表
这个问题在多个Excel论坛已经讨论了很长时间了,真的值得如此穷追不舍地研究吗?






呵呵,一句话引来了黄版主的责问,问的不错。我承认,作为一个版主发表上面这样消极的言论确实不太合适,吓得大家都不敢 ...

版主:
       你给的链接我看过了,只有一个链接不是我发的主题,这些题都没有这题复杂和通用(除多负号那题复杂些外),出题本意是想通过竞赛让大家能系统掌握这部分内容.

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-12-2 11:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
没人答题,人气太差,再顶.

                  顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶 
               顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶 
           顶顶顶顶 顶顶顶顶顶顶顶顶顶顶顶       
        顶顶顶顶顶顶顶 顶顶顶  顶顶顶顶顶        
   顶顶顶顶顶顶顶顶顶顶顶顶      顶顶顶顶         
 顶顶顶顶顶顶顶顶顶顶顶顶顶顶      顶顶顶顶         
 顶顶顶顶顶顶顶顶顶顶顶顶       顶顶顶顶顶顶顶顶顶顶顶   
 顶顶顶顶顶顶顶顶顶顶顶顶      顶顶顶顶顶顶顶顶顶顶顶顶顶顶 
  顶顶顶顶顶顶顶顶顶顶     顶顶顶顶顶顶   顶顶顶顶顶顶顶 
        顶顶顶顶     顶顶顶顶      顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶  顶顶   顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶  顶顶顶顶 顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶  顶顶顶顶 顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶  顶顶顶  顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶  顶顶顶  顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶 顶顶顶顶  顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶 顶顶顶顶  顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶 顶顶顶顶  顶顶顶顶顶  
        顶顶顶顶    顶顶顶顶 顶顶顶顶  顶顶顶顶顶  
        顶顶顶顶    顶顶顶  顶顶顶顶  顶顶顶顶顶  
  顶顶   顶顶顶顶顶    顶顶顶  顶顶顶   顶顶顶顶顶  
  顶顶顶顶顶顶顶顶顶顶     顶顶  顶顶    顶顶顶顶顶  
   顶顶顶顶顶顶顶顶顶        顶顶顶     顶顶顶顶  
    顶顶顶顶顶顶顶顶        顶顶顶 顶顶顶 顶顶顶   
     顶顶顶顶顶顶顶        顶顶顶 顶顶顶顶      
      顶顶顶顶顶顶       顶顶顶顶  顶顶顶顶顶    
         顶顶顶      顶顶顶顶顶   顶顶顶顶顶顶顶 
                顶顶顶顶顶顶     顶顶顶顶顶顶 
               顶顶顶顶顶顶      顶顶顶顶顶顶顶

[ 本帖最后由 wshcw 于 2008-12-10 10:55 编辑 ]
bijxryk5.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-12-10 10:44 | 显示全部楼层
这个题的练习重点还是让大家了解查询字符的几个第一(包括第一个数字,第一个字母,第一个汉字)以及几个最后(包括最后一个数字,最后一个字母,最后一个汉字),学会定位它们的具体位置才是本题竞赛的根本目的.现将我的公式给大家作个参考,算是对本题的简单总结:
[1]提取字母公式长度108
=MID(LEFT(A2,MATCH(,N(INDIRECT(MID(A2,COLUMN(2:2),1)&1)))),MATCH(,N(INDIRECT(MID(A2,COLUMN(2:2),1)&1)),),99)
[2]提取数字
公式长度95
=MID(LEFT(A2,MATCH(,-MID(A2,COLUMN(1:1),1))),MATCH(,N(INDIRECT(MID(A2,COLUMN(2:2),1)&1)))+1,99)
公式长度71
=LOOKUP("A",RIGHT(LEFT(A2,MATCH(,-MID(A2,COLUMN(1:1),1))),COLUMN(1:1)))
公式长度68
=MID(LEFT(A2,MATCH(,-MID(A2,COLUMN(1:1),1))),FIND(B2,A2)+LEN(B2),99)

[ 本帖最后由 wshcw 于 2008-12-29 10:40 编辑 ]

竞赛题——提取部分字符串最终参考答案.rar

4.83 KB, 下载次数: 229

评分

1

查看全部评分

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 10:00 , Processed in 0.049047 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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