打开

当Excel中最强大的快捷键“Ctrl+E”失灵了,我还有这个办法救你!

向天歌PPT
向天歌PPT
2022-01-30 21:06:32

作 者 / 康 康

编 辑 / 非 凡

大家好~我是康康

前几天在使用小程序寄快递的时候,我将地址粘贴到地址栏,点击识别,小程序瞬间就把省市区以及详细地址分好了。

哈哈,我心想,这不是表格里Ctrl+E快速填充功能嘛!

于是,我就上手操作了一下,果然可以。

出于平时严谨的习惯,我弄了几个复杂的地址,再试了一下,突然翻车(内蒙古自治区和新疆维吾尔自治区并不能正常提取。)

Ctrl+E就这样失效了,说好的智能填充呢?

当然我觉得这也不能怪它,毕竟这个地址确实有点不好识别。

看来不能依靠快捷键了,这个世界如果没有快捷键,那就只能自己动手,丰衣足食了。

因为是提取地址,所以,首先我们需要知道中国现行的行政区划分:

一级省级行政区:包括省、自治区、直辖市、特别行政区。

二级地级行政区:包括地级市、地区、自治州、盟。

三级县级行政区:包括市辖区、县级市、县、自治县、旗、自治旗、特区、林区。

四级乡级行政区:包括街道、镇、乡、民族乡、苏木、民族苏木、县辖区。

仔细观察地址后,会发现有规律可循的~

一级行政区

一级省级行政区是以省、区、市】分开,二级地级行政区是以【市、区、州】分开,三级县级行政区则以市、县、旗、区】分开。

知道了这个规律,那么就可以用查找函数FIND找到该特征字的位置,然后再用文本函数LEFT提取。

FIND函数(查找的字符,在哪里查找)

LEFT函数(从哪个单元格提取,提取几个字符)

不过这个特征字有好几个,我们可以借助数组,查找内容就变成:{“省”,“市”“区”},意思是查找这三个特征字的位置。

可是会发现出现错误,这是因为北京这个地址没有“省”的特征字。

我们可以在查找的单元格后面并上“省市区”,让它一定可以找到,于是函数就写成:

=FIND({"省","市","区"},A2&"省市区")

意思是:从左往右数,第一个“省”字在这串字符的第16位,第一个“市在第3位”,第一个“区”字在第9位。

接着,因为要提取一级省级行政区,所以我们只要判断第一个特征字的位置就行。

使用MIN函数,可以找到所有字符位置的数值的最小值,然后再用LEFT函数提取就可以啦~

输入函数公式:

=LEFT(A2,MIN(FIND({"省","市","区"},A2&"省市区")))

二级行政区

既然第一个行政级别提取出来了,后面就如法炮制。

仔细观察这个函数公式:

=LEFT(A2,MIN(FIND({"省","市","区"},A2&"省市区")))

因为我们已经取出第一个级别行政区,我们就可以把函数公式里A2单元格的部分内容去掉,也就是说,同样的公式,只是原来的原地址做了变化而已。

所以现在就要解决这个问题,使用SUBSTITUTE函数是个好方法,

SUBSTITUTE(需替换的单元格,替换内容,替换成什么,替换第几个)

一般来说,第四个参数比较少用,也就是如果有多个一样的文本,当你只需要替换一个时,就可以使用第四参数,决定替换第几个,否则一般默认不写。

在单元格输入这个函数公式:

=SUBSTITUTE(A2,B2,"",1)

因为北京市出现了两次,只需要替换第一次出现的北京,所以第四参数填写1。

然后,现在只需要把刚才的公式放到A2的位置上就可以,当然,因为二级行政区的特征字有所变化,因此也要修改特征字。

=LEFT(SUBSTITUTE(A2,B2,"",1),MIN(FIND({"市","区","州"},SUBSTITUTE(A2,B2,"",1)&"市区州")))

三级行政区

那么三级行政区 也是如法炮制:

更换原来地址:

=SUBSTITUTE(A2,B2&C2,"",1)

以及替换特征字后的函数公式为:

=LEFT(SUBSTITUTE(A2,B2&C2,"",1),MIN(FIND({"市","区","县","旗"},SUBSTITUTE(A2,B2&C2,"",1)&"市区县旗")))

具体地址

最后一个具体地址就更简单啦,只需要将原地址的第一、二、三级行政区替换掉就可以了:

=SUBSTITUTE(A2,B2&C2&D2,"")

尽管所有公式看起来很长,其实拆开后都很好理解。练习公式间的逻辑组合有利于你更熟练的掌握Excel来处理工作中遇到的问题,解决实际需求。

今天就到这里呀,看官们下次再见~

友情提示:需要的话可以直接套用公式~案例源文件请添加下方老师微信回复【提取地址】即可~

更多函数知识都在书籍《Excel之光》里~

购买后添加下方老师微信

回复“Excel之光”即可获取三重好礼

(添加过无需重复添加)

听说长的好看的人

都星标关注公众号啦~