复杂的问题提取题目,但倒找规律后依旧可用MID经典套路解决!

  送人玫瑰,手有余香,请将文章分享给更多朋友

  动手操作是熟练掌握EXCEL的最快捷途径!

  【置顶公众号】或者【设为星标】及时接收更新不迷路

  小伙伴们好,今天要和大家分享一道特殊的文本提取的题目。原题目是这样的。

  题目要求在摘要中将房号的信息提取出来放在G列。粗看之下,这不是一个特别难的题目,利用SEARCHB函数确定第一个单字节字符的位置,再利用LENB配合MATCH函数确定房号后第一个汉字的位置,就可以顺利将房号提取出来了。

  真的是这样吗?

  01

  按照上面的思路,公式写下来如下。

  在单元格G2中输入公式“=MID(MIDB(F2,SEARCHB("?",F2),100),1,MATCH(2,LENB(MID(MIDB(F2,SEARCHB("?",F2),100),ROW($1:$100),1)),)-1)”,三键回车后并向下拖曳即可。

  思路:

  SEARCHB("?",F2)部分确定第一个单字节字符的位置MIDB(F2,SEARCHB("?",F2),100)函数将这个字节右侧所有的数据都提取出来MID(MIDB(F2,SEARCHB("?",F2),100),ROW($1:$100),1)部分,从上面这个提取出来的数据的第1、2、..、100个字符开始,依次提取长度为1的字符LENB(MID(MIDB(F2,SEARCHB("?",F2),100),ROW($1:$100),1))部分返回每个字符的字节长度MATCH(2,LENB(MID(MIDB(F2,SEARCHB("?",F2),100),ROW($1:$100),1)),)-1部分确定第一个双字节(即第一个汉字)所在的位置,减去1后就是最后一个单字节字符的位置最后利用MID函数提取出房号稍等一下,我们发现,有一些数据将“#”符号也提取出来了,而这个不是我们所需要的。

  02

  在重新观察一下源数据,我们发现凡是带有“#”符号的,后面都紧跟着汉字“车”;而没有“#”符号的,房号后面都紧跟“号车”这两个汉字。

  找到这个规律后,解决的方法也就有了。

  我们只需要把“#车”替换成“号车”就可以了。

  在单元格G2中输入公式“=MID(MIDB(SUBSTITUTE(F2,"#车","号车"),SEARCHB("?",SUBSTITUTE(F2,"#车","号车")),100),1,MATCH(2,LENB(MID(MIDB(SUBSTITUTE(F2,"#车","号车"),SEARCHB("?",SUBSTITUTE(SUBSTITUTE(F2,"#车","号车"),"#车","号车")),100),ROW($1:$100),1)),)-1)”,三键回车并向下拖曳即可。

  思路和上一个完全一样。

  03

  下面留给大家一个小题目,下面这则公式,朋友们可以看懂吗?

  欢迎给我私信留言哦!

  好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

  -END-

  长按下方二维码关注EXCEL应用之家

  面对EXCEL操作问题时不再迷茫无助