美文网首页EXCEL工具癖韩老师讲Office
Excel131 | 一个公式,从地址中取省级行政区

Excel131 | 一个公式,从地址中取省级行政区

作者: bitterfleabane | 来源:发表于2017-11-08 13:09 被阅读45次

    有位快递公司的朋友给我一根数据,让我帮忙取出省份。韩老师简化整理数据如下:


    取省级行政区,最大的问题是:

    1、行政区名称长短不一;

    2、34个省级行政区,有的叫**省、有的叫**区,有的叫**市。

    所以,写公式的时候,一定要把上述情况概括进来。

    韩老师给大家一个公式。

    公式解析

    公式:

    在B2单元格输入公式:

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


    公式详解

    A2&"省市区":

    把A2单元格内容加上“省市区”三个字,形成新的字符串。

    本公式中,A2&"省市区"的结果是“浙江省绍兴市越城区省市区”;

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

    在A2&"省市区"形成的字符串中分别找"省","市","区"三个字的首次出现的位置。

    比如,在“浙江省绍兴市越城区省市区”中"省","市","区"三个字出现的位置是第3、6、9个字节,所以,本部分返回的结果是一组数{3,6,9};

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

    在{3,6,9}中找最小值,即最早出现过的"省","市","区"的位置;

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

    用LEFT函数,从A2单元格字符串的左边开始提取字符,提取字符的个数等于"省"或"市"或"区"最早出现的位置数字。

    本公式中提取的个数是3,即“浙江省”。

    补充解释

    在B3单元格中的公式是

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

    在字符串“新疆维吾尔族自治区乌鲁木齐市新市区”中最先出现的是字符“区”,所以自左边提取字符的个数是第一个“区”字出现的位置数字,恰是新疆维吾尔族自治区。

    相关文章

      网友评论

        本文标题:Excel131 | 一个公式,从地址中取省级行政区

        本文链接:https://www.haomeiwen.com/subject/zvwemxtx.html