之前接触过竞价,在做数据分析时难免会遇到要拆分关键词对应的计划单元内容的情况,所以这里就以此为例,总结一下拆分单元格的几种方式。

原始数据
一,分列
EXCEL本身自带一个分列单元格内容的功能,可以根据固定的符号或者距离来拆分单元格。

数据-分列
比如这样

使用拆分符号的方式
或者这样

使用固定宽度的方式
最后呢,设置内容放置的位置

设置拆分内容放置位置
这种方式不用快捷键不用函数,简单手动操作,不过问题就是他是拆分而非提取,因此拆分之后还需要处理掉不需要的内容,比如图中,项目和分类是拆分后的内容,但是只有项目是我们需要的,所以就要手动删除一下我们不需要的分类里面的数据。

删除无用的数据
二,替换法
Ctrl+H替换的快捷键,或者开始菜单-查找和选择-选择替换选项。

替换窗口
这个方法需要首先复制目标数据到提取单元格中,然后选中,Ctrl+H,输入所要替换的内容,下面以原始数据为例,逐个替换演示。
提取项目:查找内容 _* 替换为空

提取项目

查找与替换内容
提取分类,产品和词性:需要查找两次并替换为空,分别为*[ 和 ]*(*< 和 >*)

替换两次

替换第一次

替换第二次
也比较简单,如果需要更高级的符号,可以百度以下查找替换的用法,应该有总结,如果没有比较系统的,我以后可能会整理,也可以看我的后续。
三,快捷键
第三种是快捷键的方法,也是我喜欢用的,因为很简单,快捷键Ctrl+E,快速填充。
它不需要复制不需要替换,直接在提取内容的区域写一个自己要提取的内容作为例子,选中或者回车定位到下一单元格,ctrl+e就会自动提取目标数据内的内容了。

超级快
目前为止用的挺爽的。
四,函数法
这个是不推荐的,因为要写公式,感觉超级麻烦,稍微不注意写错了就得重头捋。使用到的函数有LET,FIND,MID等。比如提取计划中的项目:

LEFT
一个简单的公式,但是他会有限制,它只能提取前三个字符,so,如果我的项目是三个字以上就无法提取完整了,那么就需要FIND函数来辅助写一个可以完整提取内容的公式。

LEFT+FIND
find公式的含义是在计划列里面查找第一个_的位置,但是下划线我们不需要,因此find还要-1得到的位数是我们left要查找的内容长度。听起来很绕口,但是熟练了就好了。
以上的公式呢是从某一端开始提取内容,那我要是提取中间的内容,比如我要提取分类的内容怎么写公式呢?这就用到MID和FIND函数了。

MID+FIND
这个吧,不想解释,其实也不难解释。MID函数有三个参数,分别是数据区域,数据起始位置,截取数据长度。那我们要解决的就是后面连个,起始位置和数据长度。起始位置的话用FIND函数找打左侧中括号的位置即可,截取长度可以使用右侧中括号减去左侧中括号,这其中要注意的是截取的偏了比如多了字符,需要在对应的函数公式上-1。这个具体可以到时候测试一下。
五,PowerQuery
呼~最后一种了,这种方式适合很多很多数据的时候。首先知道两个代码:
List.First(Text.Split([计划],"_"))List.Single(List.Range(Text.SplitAny([可替换内容为列名称],"[]"),1,1))
什么意思呢,可以不用理解,因为我还没学会,哈哈哈哈哈,等我学会了再贴出来。
先说怎么做,选中数据表,菜单栏-数据-从表格,将表添加到powerquery编辑器中

将表格添加到编辑器
然后添加自定义列,粘贴如下代码:
List.First(Text.Split([计划],"_"))

提取项目
之后提取分类,产品和词性:
List.Single(List.Range(Text.SplitAny([计划],"[]"),1,1))List.Single(List.Range(Text.SplitAny([计划],"<>"),1,1))List.Single(List.Range(Text.SplitAny([单元],"<>"),1,1))

分类

产品

词性
之后将表格关闭并上载保存到工作簿中。

关闭并上载
这种方法的好处就是原始数据的基础上添加新的数据,刷新数据表会自动同步到做好的表中,也就是麻烦第一次,之后就可以刷新一键生成。

一键生成
以上就是总结的五种可以提取单元格参数的方法了,选择喜欢的用就可以了。