Excel如何自动按省市区拆分?拆分省市区公式
首先我们需要知道中国现行的行政区划分:
一级省级行政区:包括省、自治区、直辖市、特别行政区。
二级地级行政区:包括地级市、地区、自治州、盟。
三级县级行政区:包括市辖区、县级市、县、自治县、旗、自治旗、特区、林区。
四级乡级行政区:包括街道、镇、乡、民族乡、苏木、民族苏木、县辖区。
知道了这个规律,那么就可以用查找函数FIND找到该特征字的位置,然后再用文本函数LEFT提取。
FIND函数(查找的字符,在哪里查找)
LEFT函数(从哪个单元格提取,提取几个字符)
可是会发现出现错误,这是因为北京这个地址没有“省”的特征字。
我们可以在查找的单元格后面并上“省市区”,让它一定可以找到,于是函数就写成:
=FIND({"省","市","区"},A2&"省市区")
接着,因为要提取一级省级行政区,所以我们只要判断第一个特征字的位置就行。
使用MIN函数,可以找到所有字符位置的数值的最小值,然后再用LEFT函数提取就可以啦~
输入函数公式:
=LEFT(A2,MIN(FIND({"省","市","区"},A2&"省市区")))
既然第一个行政级别提取出来了,后面就如法炮制。
因为我们已经取出第一个级别行政区,我们就可以把函数公式里A2单元格的部分内容去掉,也就是说,同样的公式,只是原来的原地址做了变化而已。
所以现在就要解决这个问题,使用SUBSTITUTE函数是个好方法,
SUBSTITUTE(需替换的单元格,替换内容,替换成什么,替换第几个)
一般来说,第四个参数比较少用,也就是如果有多个一样的文本,当你只需要替换一个时,就可以使用第四参数,决定替换第几个,否则一般默认不写。
在单元格输入这个函数公式:
=SUBSTITUTE(A2,B2,"",1)
那么三级行政区也是如法炮制:
更换原来地址:
=SUBSTITUTE(A2,B2&C2,"",1)
以及替换特征字后的函数公式为:
=LEFT(SUBSTITUTE(A2,B2&C2,"",1),MIN(FIND({"市","区","县","旗"},SUBSTITUTE(A2,B2&C2,"",1)&"市区县旗")))
最后一个具体地址就更简单啦,只需要将原地址的第一、二、三级行政区替换掉就可以了: