作者:绿色风
分类:
时间:2022-08-18
浏览:143
楼主 nothingwmm |
Q: 如何抽取混编字符串中的电话号码部分 A: 方法一:根据该数据的特点,电话号码前面的字符和后面的字符的个数和类型比较没有规律,但是都是以1打头,并且1前面都是字符串没有数字,所以用公式: D2公式:=MID(B2,FIND(1,B2),11) 往下拖拉可以得到答案。 如附件1. 方法二:根据数据特点中的“*” 使用以下公式: =MID(B2,SEARCH("~*",B2)-3,11) 方法三: 如果星号是数字的话,挨个分别截取11位数字,直到全是数字部分,使用以下公式: =-LOOKUP(,-MID(B2&"A",ROW($1:$20),11)) 方法四: 根据数据特点,利用正则表达式:
- Sub test()
- Dim Rng As Range
- With CreateObject("vbscript.regexp")
- .Global = True
- .Pattern = "1[35][\d\*]+"
- For Each Rng In Range([b2], Cells(Rows.Count, 2).End(3))
- If Rng <> "" Then Rng.Offset(, 2) = .Execute(Rng.Value)(0).Value
- Next Rng
- End With
- End Sub
如附件27.jpg
2 公式法.rar 2 正则法.rar |
2楼 轩辕轼轲 |
=MID(B2,SEARCH("~*",B2)-3,11) 还可以换成=MID(B2,Find("*",B2)-3,11) 就不用转义字符了,呵呵 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一