前期的内容中小编也分享过智能填充Ctrl E的应用技巧,例如要提取下图中的手机号:
方法为:
1、在第一个目标单元格中输入鲁肃的手机号码:13111111111。
2、选定全部单元格区域,包括第一个已经输入内容的单元格区域,快捷键Ctrl E即可。
操作过程演示如下:
但遇到稍微复杂的数据,智能填充Ctrl E就不再那么智能了,例如提取下图中的数据:
从结果中不难发现,此结果并不是我们想要的结果,此时的智能填充Ctrl E就显得有点儿力不存心了。再如下图:
此时的智能填充Ctrl E瑟瑟发抖,已经哭晕在了厕所!
此时大部分的亲想到的肯定是用函数公式,其实效果还是不加,除了公式像长城一样长之外,编辑以及逻辑上更容易出现错误。正确的做法是:用Text.Select函数。
此函数是PQ中的M函数之一,可以拆分中文、英文、数字或者保留任意字符。
一、提取文本。
方法:
1、选定目标单元格区域,包括列标题。
2、单击菜单栏中的【数据】中【获取和转换数据】组中的【来自表格/区域】,打开【创建表】对话框,选中【表包含标题】复选框并【确定】,打开【Power Query编辑器】。
3、单击菜单栏【添加列】中【常规组】中的【自定义列】,打开【自定义列】对话框。
4、在【新列名】文本框中输入“文本”,并在【自定义列公式】文本框中输入公式:=Text.Select([项目],{"一".."龟"})。
5、单击右下角的【确定】。
6、单击【主页】菜单中的【关闭并上载】命令,则在新的表中上载了查询结果。
解读:
1、【新列名】根据实际情况自定义。
2、公式中的“项目”为要拆分列的列标题,在编辑公式中建议直接从【可用列】中插入。
3、{"一".."龟"} 是表示所有的汉字区间,最小值和最大值中间用两个点隔开。
4、函数名Text.Select 中的开头字母(T、S)必须大写,后面字母必须小写。
二、提取英文字母。
方法:
在【新列名】文本框中输入“字母”,并在【自定义列公式】文本框中输入公式:=Text.Select([项目],{"A".."Z","a".."z"," "})。
解读:
1、省略操作步骤请参阅提取文本中的内容。
2、{"A".."Z","a".."z"," "}表示包含所有的字母(包括大小写)和空格。
3、当有多个保留内容(如:大写字母和小写字母以及空格)时用“,”(逗号)分割即可。
三、提取数值。
方法:
在【新列名】文本框中输入“数值”,并在【自定义列公式】文本框中输入公式:=Text.Select([项目],{"0".."9","."})。
解读:
1、省略操作步骤请参阅提取文本中的内容。
2、{"0".."9","."}表示包含了所有的数字以及小数点。
3、当有多个保留内容(如:数字和小数点)时用“,”(逗号)分割即可。
最美尾巴:
利用PQ中的Text.Select函数,无论遇到多么复杂的情况,都可以提取文本、字母或数值。是不是特别方便,很哇塞……当然值得一提的时,可以只打开一次PQ编辑器,一次性上载文本、字母以及数值。
但需要注意的时此功能只能在Excel2016及以上版本中使用,这个前提条件伙伴们要注意哦!
,