分享

自动提取所需数据,我的目标是不加班

 hercules028 2021-06-15
李老板又出妖娥子了

他为了省钱,买了个贼便宜的运营系统,导出的表格是这样式儿的:

图片

他觉得导出的表格太丑了(难得我俩审美一致),他想要把每个门店拆分成一页,每月导出的数据分别存放在各个对应的页面里,就像这样式儿的:

图片
咱先捋捋李老板的需求:

问题一:将导出数据按页拆分出来,并设置成固定格式。客户字段内容需与所在sheet的名称一致;
问题二:填入相应数据。两个表中的列标题不一致,不能直接用”=“连接,需要用函数解决;

在处理数据之前,一定要记得备份
在处理数据之前,一定要记得备份
在处理数据之前,一定要记得备份

图片

将导出数据按页拆分出来,并设置成固定格式

1.在导出数据页面,选择D列,依次单击【插入】-【数据透视表】-【确定】
图片

2.将【产品-品类】拖到【筛选】框内:

图片
3.点击【数据透视表工具】-【分析】-【选项】-【显示报表筛选页】-【确定】,这时你会发现,Excel已经帮你按拆分出了门店名称拆分出了很多个Sheet。

4.复制单店模板,选择第一个门店页,按【Shift】,选择最后一个门店页,使所有目标页处于选中状态,粘贴,这样所有选中的门店页里就都有一样的模板了。

5.依然保持目标页处于选中状态,在B4单元格输入公式:
=REPLACE(CELL('filename',A1),1,FIND(']',CELL('filename',A1)),'')

CELL('filename',A1),返回A1单元格的文件名,即:C:\Users\……\[25拆分数据1.xlsx]安栋实店;

FIND(']',CELL('filename',A1)),第一个参数是找什么,第二个参数是在哪找,找到返回目标所在位置。本公式是在返回的文件名中查找']',并得出它所在的位置,这里的结果是43;

公式REPLACE(a,b,c,d),是将字符串a中的第b个字符到第c个字符替换为字符串d。REPLACE(CELL('filename',A1),1,FIND(']',CELL('filename',A1)),''),翻译过来就是将“C:\Users\……\[25拆分数据1.xlsx]安栋实店”中的第1到第43个字符替换为空,就得出了与本页名称一致的结果,即各客户名称。

图片

填入相应数据:

1.依然保持目标页处于选中状态,在C4单元格输入公式:

=OFFSET(门店预算!$A$1,MATCH(B4,门店预算!$A$2:$A$34,0),ROW(A1))

将公式填充至C4:C15区域内。

MATCH(B4,门店预算!$A$2:$A$34,0),查找客户在预算表中的位置,并返回数值

OFFSET,从门店预算!A1单元格开始,往下走,走几步呢?MATCH函数告诉他了,这样就来到的门店对应的那一行,然后往右走,步数是1,即ROW(A1)的返回值,这样下拉公式后,就将预算表中横向排列的数值,填入对应门店页面,并且改成了纵向排列。(关于OFFSET函数的具体介绍,请点这里

图片

2.在D4单元格输入公式:
=SUMIFS(OFFSET('月汇总-系统导出'!$2:$2,MATCH($B4,'月汇总-系统导出'!$D$3:$D$43,0),),'月汇总-系统导出'!$1:$1,D$2,'月汇总-系统导出'!$2:$2,D$3)

横向填充至最后一个空白单元格。

SUMIFS函数的参数分别是:求和区域、条件区域1、条件1、条件区域2、条件2……这里的求各区域是用OFFSET+MATCH函数找到的,这样可以将每页公式统一并进行批量操作,而不用一页一页去调整公式。

图片

今天的练习文件:

https://pan.baidu.com/s/1CpM1ZoY4yDHv5KQYXy2Wpg 


作者:Excel大表姐6

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多