前面三篇经验主要介绍了“LEFT”、“RIGHT”、“MID” 截取字符串函数的简单应用实例,这三个函数如果能够巧妙结合其它函数,它能够实现的效果肯定会让你惊讶不已。
分离单元格内容将分为2个实例来介绍,本次经验介绍如何分离出地址中的省、市、县、详细地址,需要用到的函数有“MID”、“FIND”、“IFERROR”、“LEN”以及连接符“&”。选用较为典型的地址作为例子。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS55B8-0.jpg)
前期准备工作(包括相关工具或所使用的原料等)
Microsoft office EXCEL 2003 以上的版本 或 WPS
《地址表》
一、单元格内容拆分分析
拆分地址需要考虑以下问题:
① 省名、市名、县名及详细地址的长度不一。
② 地址中可能不存在县的情况。
③ 省可能为直辖市、自治区,如果是市区可能无县。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS5G57-1.jpg)
不但要计算出省名长度、市名长度、县名长度,还需要把各种特殊情况一起考虑进来。才能成功分离的地址信息。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS52O5-2.jpg)
虽然地址有一定的不规则性,但是我们不难发现,省/自治区、市、县/区会包含关键字“省”、“自治区”、“市”、“县”、“区”作划分,好比裁剪线一样。可以依次来计算出相应省/自治区、市、县/区的長度。
一些特殊的情況,采用判断是否计算错误来改变计算方式。如在查找关键字“省”时出现找不到的错误,就认为这个地址是直辖市,其它也用相同的办法处理。如果你的数据信息不全,会造成判断错误。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS51F6-3.jpg)
二、单元格内容拆分
先介绍需要用到的两个新的函数
FIND(find_text,within_text,rt_n[start_num])函数用查询字符串在某个字符串的位置,如“省”字在某个地址中是第几个字的意思。它包含三个参数,“find_text”为需要查找的值,“within_text”为要被查找的文本,可选参数“start_num”为开始查找的位置,这个位置并不是开始计数的位置,“within_text”的第一个字符才是开始计数的位置。
IFERROR(value,value_if_error)函数用于判断运算式是否正确,当为错误时,传回“value_if_error”的值,正确则为“value”。这里我们用于判断是否能够找到关键字,来应付地址的特殊性。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS54Y1-4.jpg)
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS54008-5.jpg)
在地址中提取国籍是最简单的,没有特殊情况。这里我还是使用“FIND”函数来提取,以便熟悉这一函数的用法。使用“MID”截取字符串函数(也可以用LEFT),从第一位开始,一共截取FIND("国",B2,1)位字符。
其中FIND("国",B2,1)会自动计算出从B2单元格的左边第一个字符开始到(第一个)关键字“国”的字符数,计算结果是 2.所以共截取两个字符。
向下填充即可得到需要的结果。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS54627-6.jpg)
提取省/自治区/直辖市時,需要让计算机去判断是否为直辖市或自治区。不要看到下面一大串内容就觉得复杂,在EXCEL中可以看出,每一个函数的括号都不一样,这有利于我们确定函数到哪里结束。这里说明第一步如何分解,下一步类似。
完整的函数如下:
=IFERROR(MID(B2,FIND("国",B2,1)+1,IFERROR(FIND("省",B2,1),FIND("自治区",B2,1)+2)-FIND("国",B2,1)),
MID(B2,FIND("国",B2,1)+1,FIND("市",B2,1)-FIND("国",B2,1)))
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS54S8-7.jpg)
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS54448-8.jpg)
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS54153-9.jpg)
提取市,完整函数如下:
=MID(B2,LEN(C2&D2)+1,FIND("市",B2,1)-LEN(C2&D2))
提取市也较为简单,找出市的位置,然后减去前面省的结果即可。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS54551-10.jpg)
同样的方法提取县/区
=IFERROR(MID(B2,FIND("市",B2,1)+1,IFERROR(FIND("区",B2,FIND("市",B2,1))-FIND("市",B2,1),FIND("县",B2,FIND("市",B2,1))-FIND("市",B2,1))),"")
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS51W4-11.jpg)
最后提取详细地址,就用减法。最后得到下面的结果。
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS534V-12.jpg)
![EXCEL 常用函数应用实例:[4]拆分单元格内容1](http://www.52ij.com/uploads/allimg/160401/1ZS53V1-13.jpg)
注意事项
地址的部分特殊情况(如县级市等)可能还未考虑,需要再加判断处理,原理都相同。
EXCEL 常用函数应用实例(共5篇)上一篇:提取出生日期|下一篇:拆分单元格内容2经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本文系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
