复杂的问题提取题目,但倒找规律后依旧可用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操作问题时不再迷茫无助