人员的地址信息,我们在实际工作和生活中经常会用到,在没有特殊要求的情况下,一个单元格内填写,或者是分成省,市,县区,镇乡,村等都可以。
但有时,会因为要把excel的内容导入到系统,那就要求按指定的格式进行填写,那么,对于数据量很大的情况,如果一个一个去手动更改,会浪费太多的时间,那么,通过在一个单元格内的完整的地址,通过excel公式函数的方式,进行自动拆分。
那么,不管你有多少行,只需要通过一个下拉,全部搞定。
继续上gif动画,演示效果如下:
里面的逻辑:
省,市(第一个市),通过find函数的搜索,通过文本的截取就可以搞定。公式如下:
C3单元格公式: =IFERROR(LEFT(A3,FIND("省",A3)),"")
含义:在A3里面找到省字的位置,然后从A3单元格开始,截取到省这个位置
D3单元格公式: =IFERROR(MID(A3,4,FIND("市",A3)-3),"")
含义: 这个公式是搜索市的位置,然后从第4位开始,截取到市的位置),这个公式有局限性,因为此次用户的为一个省的,且都为3个字的省,所以这里用的是直接减3.
而接下来的县(可能有些是包含第二个市的),处理就需要技巧了:
如下图:我们要先分别处理,县,区,第2个市的信息之后,把这3项的内容汇总到县(市,区)这一列。
县列公式: =IFERROR(MID(A3,FIND("市",A3)+1,FIND("县",A3)-FIND("市",A3)),"")
区列公式: =IFERROR(MID(A3,FIND("市",A3)+1,FIND("区",A3)-FIND("市",A3)),"")
第2个市公式: =IFERROR(MID(A3,FIND("市",B3)+1,FIND("-",B3)-FIND("市",B3)),"")
同理,处理乡镇的时候,也分开处理,再进行合并:
镇列公式: =IFERROR(MID(A3,LEN(C3)+LEN(D3)+LEN(E3)+1,FIND("镇",A3)-LEN(C3)-LEN(D3)-LEN(E3)),"")
乡列公式: =IFERROR(MID(A3,LEN(C3)+LEN(D3)+LEN(E3)+1,FIND("乡",A3)-LEN(C3)-LEN(D3)-LEN(E3)),"")
而最后的村具体地址就好办了。 思路就是一个单元格地址的总长度,减掉省,市,县,镇后的长度,就是村的地址了。 =IFERROR(RIGHT(A3,LEN(A3)-LEN(C3)-LEN(D3)-LEN(E3)-LEN(I3)),"") |