从大量文件中提取自己需要的数据,这个需要是如此的常见,以至于经常收到小伙伴的求助,今天我们就唠一唠,5毛的应该基本就能搞定!希望大家都能掌握并应用起来!案例参数及版本等参数说明:
案例数据:85种水果,每种水果一个文件,汇总了销售金额
需求说明:提取每种水果的合计销售金额
使用工具:Power Query(PQ)
演示版本:office365
推荐版本:office2016、365、2019。2007及以下版本
不可用
● ● ●
案例截图,每个文件三列,合计金额第三列,合计位置
所在行不固定所以我们不能根据位置提取!文件有很多,演示使用数量85个
我们来看看PQ是如何处理的,可以说简单到没有朋友!
从文件夹中加载文件数据到PQ中
数据-来自文件-从文件夹-浏览,选择存放文件的文件夹,确定-转换数据,加载进入PQ编辑器,其他版本大同小异,只要找到从文件夹基本就OK!
删除无用数据,保留表名和Content列
步骤:> 选择Name和Content列,右击删除其他列
> 选中Name列,转换-拆分列-按分隔符,删除掉后缀名列即可
我们要的内容是表名和文件中的数据,其他都不需要
从Content提取工作薄(文件)数据
我们这里多讲一些,希望大家都能搞懂1、首先是Excel.Workbook这个函数从二进制数据转到Excel文件基本固定用法: Excel.Workbook(二进制列,首行是否是标题)其实有第三参数,一般用不到,这里不提,二进制列,一般默认都是Content列2、Excel.Workbook转换后并不是就直接能得到数据,只有其中
Data列是其中的所有
工作表数据,这里就是[Data]
列表示方式:
表[列标题名称]这样获取到的是所有工作表的集合,我们只要第一个,那就是
{0},这里解释一下,PQ中
行是从0开始的,这个有点编程的味道
行表示方式:
表{行号}PQ中还有很多基础知识,这里不涉及,暂时不再啰嗦步骤代码:
= Table.AddColumn(删除的列, "自定义", each Excel.Workbook([Content],true)[Data]{0})
提取合计金额
这里涉及到
条件定位行写法:
表{[列="定位内容"]} 我们这里 {[ 销售员="总计"]}就是销售员是合计的整行内容,但是我们要的只是金额,所以再[金额]即可
加载到工作表,全部完工
最后我们只需要删除不必要的列,修改标题,点击主页-加载到,选择加载的表位置,确定即可!
小结
本案例中除了一个Excel.Workbook函数外,都是PQ最最最基本的基础知识,但是就是这基础帮我们搞定了难道无数人的问题。PQ定位数据的抽取-转换-加载(ETL),此案例尽数应用到。题外话:最近忙到头掉,希望本篇大家能应用起来,这是真的干货,可以为你节约海量的时间,另本篇如果“在看”超过1000(挑战不可能),小编将“肝”一个PQ入门系列分享给大家!不说了,今天的事情还没忙完,可能又要忙到明天了~俺去忙去了~狗头二摆~~~记得“三连”额
分享、点赞、在看三连作者:小易 公众号:Excel办公实战本篇文章公众号独家,未在任何其他平台发布!