ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖

[求助] 如何才能用公式把固定电话的区号全部给去掉

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-5-28 21:41 | 显示全部楼层
沉默式、Kiss 发表于 2016-5-28 21:32
首先,感谢各位大神的帮助,我的思路是这样的,先用分列功能全部区别手机跟固话,然后判断1开头的肯 ...

看你楼上,区号位数规律

TA的精华主题

TA的得分主题

发表于 2016-5-28 21:45 | 显示全部楼层
  1. =IFERROR(SUBSTITUTE(MID(TRIM(MID(SUBSTITUTE(" "&A2,"/",REPT(" ",50)),FIND(" 0",SUBSTITUTE(" "&A2,"/",REPT(" ",50))),50)),5-COUNT(FIND("/0"&{1,2},"/"&A2)),19),"-",),"")
复制代码


固定电话提取修正,
1、增加识别010开头的固话
2、规避掉区号后面出现的 “ - ”

TA的精华主题

TA的得分主题

发表于 2016-5-28 21:49 | 显示全部楼层
本帖最后由 horselyq 于 2016-5-28 22:35 编辑

三位区号的城市只有10个北京:010,广州:020,上海:021,天津:022,重庆:023,沈阳:024,南京:025,武汉:027,成都:028,西安:029.
只有01和02开头的是三位,其他开头的都是四位

固话的提取公式(含区号),右拉可以依次得到第1,2,3,……个号码
  1. =TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE("/"&$A2,"/0",REPT(" ",99)&0,COLUMN(A1)),99,99),"/",REPT(" ",99)),99))
复制代码

固话的提取公式(不含区号),右拉可以依次得到第1,2,3,……个号码
  1. =MID(TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("/"&$A2,"/01","/001"),"/02","/002"),"/0",REPT(" ",99)&0,COLUMN(A1)),99,99),"/",REPT(" ",99)),99)),5,8)
复制代码
re1.png

手机号码的提取,右拉可以依次得到第1,2,3,……个号码
  1. =TRIM(LEFT(SUBSTITUTE(MID(SUBSTITUTE("/"&$A2,"/1",REPT(" ",99)&1,COLUMN(A1)),99,99),"/",REPT(" ",99)),99))
复制代码


re.png

re区号分离.rar

119.35 KB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2016-5-28 21:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. =TRIM(MID(REPLACE(SUBSTITUTE(" "&$A2,"/",REPT(" ",50)),FIND(" 0",SUBSTITUTE(" "&$A2&" 0","/",REPT(" ",50))),50,),COLUMN(A1)*50-49,50))
复制代码


电话号码分开的写法(右拉下拉)

TA的精华主题

TA的得分主题

发表于 2016-5-28 21:51 | 显示全部楼层
区号分离-1.rar (64.39 KB, 下载次数: 11)

更新附件

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-5-28 21:57 | 显示全部楼层
谢谢大神们给了那么多的方法,按照你们的公式来用的话已经可以大大提高我的工作效率了,至于那些符号的只能要求客服下订单的时候不准出现那些乱七八糟的符号了,以后得多在这里泡着才能学到更多的东西增加我的工作效率,不然我自己在那儿折腾到死都弄不好

TA的精华主题

TA的得分主题

发表于 2016-5-28 22:34 | 显示全部楼层
沉默式、Kiss 发表于 2016-5-28 21:57
谢谢大神们给了那么多的方法,按照你们的公式来用的话已经可以大大提高我的工作效率了,至于那些符号的只能 ...

支持一下。

TA的精华主题

TA的得分主题

发表于 2016-5-29 19:08 | 显示全部楼层
本帖最后由 yuqiang462 于 2016-5-29 19:17 编辑

去掉区号,固定电话提取出来还有什么意义?固定电话=IF(LEN(A2)=23,LEFT(A2,11),IF((LEN(A2)=11)*(LEFT(A2)="1"),"",MID(IF(LEFT(A2)<>"1",IF(COUNTIF(A2,"*/*"),LEFT(A2,FIND("/",A2)-1),A2)),IF(COUNT(FIND(LEFT(IF(LEFT(A2)<>"1",IF(COUNTIF(A2,"*/*"),LEFT(A2,FIND("/",A2)-1),A2)),3),"010,021,022,023,852,853")),4,5),10)))(区号是3位的有6个,你数据中有的是两个手机号,这公式会把第一个提取到固定,另一个放手机里)
手机=IF(LEFT(A2)="1",IF(COUNTIF(A2,"*/*"),LEFT(A2,11),A2),IF(COUNTIF(A2,"*/*"),MID(A2,FIND("/",A2)+1,11),""))

区号分离.rar

50.51 KB, 下载次数: 9

TA的精华主题

TA的得分主题

发表于 2016-5-29 19:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
利用MID()函数提取号段中第1,13,25位的数字,如果为0则为固定电话,否则为移动电话。再用IF、MID函数进行提取。

TA的精华主题

TA的得分主题

发表于 2016-5-30 15:25 | 显示全部楼层
通过vba做比较好

区号分离.zip

43.88 KB, 下载次数: 11

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

本版积分规则

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

GMT+8, 2024-4-28 11:57 , Processed in 0.051757 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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