Excle数据提取,用字符串函数应对单列杂乱无章的数据

今天要讲这个例子,是要从以下的数据列中,提取准确的航司名称,执飞机型,飞机型号。但是看上去,它们并没什么规则可循。

数据样本:无规则可循的原数据
用excle提取结果,橙色列稍微替换下就完成了。

以上是需求和结果,下面讲如何实现的,先介绍几个excle函数:

文末会提供实例excle写法的下载地址

1.单元格字符长度函数;

函数len

这个函数的用法比较简单,=LEN(单元格名称)就可以知道这个单元格有多少字符数。

2.查找字符函数;

函数find

上面这个例子是在找域名连接的那个点的位置在哪里。函数写法最后面的那个1指的是从第一个字符开始查找。

3.截取函数;

函数左中右截取实例

截取函数分左中右,左右比较简单,就是从哪个单元格截取几个字符,具体实例看上面的写法,写法中省略了等号的。

mid中间函数是在第一个参数指定了C20,然后截取第4-12个字符。

小技巧:如果你不知道函数怎么预览,写没写错,你在单元格后面=完之后tab呼出整个函数后,用快捷键ctrl+a,(就是下图蓝色字体标注的fx)即可呼出函数预览框,见黑色框内:

函数预览框

4.替换函数;

函数批量替换

替换函数和ctrl+H(excle中的替换功能)的本质区别是:这个函数可以按照参数提示,批量替换第一个字符还是第二个字符,比如上面提及的http://www.lijunnan.com,替换域名中的点的时候,如果函数参数中写了1,则第一个点被替换,如果写了2,则第二个被替换。如果啥也不写,则全部替换。

好了,所用函数介绍完了。介绍下我的提取思路。


替换思路 (2).PNG

1.观察A列发现,除了中国国航以外,我们要的第一列数据:航空公司名称的结尾都是空字。于是先把国航改为航空,替换结束后再改回来就行。如图中A列到B列;

2.用find函数搜索空字位置,如C列;

3.用left函数提取B列中的对应字符,在选提取字符数的时候,直接选择C2;于是直接得出了D列,拿到了航司名称。

4.我们观察到原数据中的航班号最多是6个字节,那就用mid函数,以C列为开始(预览时看到数据错位,可以在函数列中加个1),以C列+6为结束,则提取到了航班号。虽然这个航班号不是很精准,但我们可以通过列替换,把空,和波字去掉。

5.执飞机型I列是通过right函数提取了原数据剩下的右侧字符。先通过G列,用LEN函数算出源数据总字符数,然后总字符数减去F列,因为F列的字符数就是航班号加上航司名称的字符数。

好了,分享完啦。如果看不明白,可以直接下载我的演示文档或者在下方给我留言。

http://dl.lijunnan.com/excle-example/excle%E6%96%87%E6%9C%AC%E4%B8%B2%E5%87%BD%E6%95%B0%E4%BB%8B%E7%BB%8D.xlsx

你可能感兴趣的:(Excle数据提取,用字符串函数应对单列杂乱无章的数据)