将一个工作表拆分为多个工作表

2022-03-22 17:46:29 浏览数 (1)

最近已经不止一次被人问到:怎么将一个工作表拆分为多个工作表?一般这样的需求,是因为将1-12月的数据写在了一个工作表上,而现在又想将它拆分为12个单独的工作表,每个工作表单独一个月份.总结了一下,文艺青年的方法有三,普通青年请直接跳到最后一个办法

数据透视表

  • 将你需要显示的字段放在数据透视表中,排列成你想要显示出来的样式
  • 将需要拆分的字段放在数据透视表字段管理器中的'筛选器'中
  • 选择数据透视表→数据透视表工具→分析→选项→显示报表筛选页

注:数据透视表→设计中的'不显示分类汇总,对行和列禁用总计,以表格显示显示,重复所有项目标签'这4个功能你可能在调整格式过程中需要用到

就这样,不用代码也不用函数,你就可以将你的表拆分为N多个表.接下来,就是见证奇迹的时刻:

是不是很神奇

这样操作之后,你发现那些表都是数据透视表,这时候怎么办呢?

  • 选中第一个工作表,然后按住SHIFT,选中最后一个工作表,这样你可以选中许多连续的工作表(这时候工作簿名称后面会显示'工作组')
  • 然后对你现在的表全选,粘贴为值( 如果不需要月份,还可以删除前几行数据)

VBA代码

  • 在开发工具中找到Visual Basic,点击打开的窗口叫VBE.
  • 在其中点击

这个下拉箭头,选择插入模块

  • 然后复制下面的代码到模块当中,调整部分参数,点击

运行代码

插入并运行代码的GIF如下

万金油公式

  • 新建一个工作表,输入标题,并在相同的位置放入相同的字段,其他地方留空.例如数据源D列是月份,你要按月份拆分的话,在新建的工作表中D列输入月份,像这样
  • 然后在A1输入以下公式:假设数据表名为数据源,并且你的数据到了499行,且依据字段在D列的情况下.其他需要根据需求进行更改=IFERROR(INDEX(数据源!A1:D499,SMALL(IF(数据源!D1:D499=D2,ROW(1:499),9999),ROW(A1)),COLUMN(A1)),"")
  • 然后按CTRL SHIFT ENTER三键结束(这样结束后公式两边会多出来一对大括号,表示这是数组公式)
  • 然后就是将你的依据字段以及公式尽可能的下拉,一直拉到万金油公式显示空白,就表示只有这么多数据了
  • 另外11个月的操作同样如此...

复制粘贴

然后还有最后一种,当然也是最厉害的一种了.慢慢复制粘贴然后删除吧.

0 人点赞