ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 综合应用 > 如何抽取混编字符串中的电话号码部分

如何抽取混编字符串中的电话号码部分

作者:绿色风 分类: 时间: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))
方法四: 根据数据特点,利用正则表达式:

  1. Sub test()
  2. Dim Rng As Range
  3. With CreateObject("vbscript.regexp")
  4.     .Global = True
  5.     .Pattern = "1[35][\d\*]+"
  6.     For Each Rng In Range([b2], Cells(Rows.Count, 2).End(3))
  7.         If Rng <> "" Then Rng.Offset(, 2) = .Execute(Rng.Value)(0).Value
  8.     Next Rng
  9. End With
  10. 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总版主之一

评论列表
sitemap