欢迎光临散文网 会员登陆 & 注册

数据透视表:一个sheet自动生成多个sheet,再自动生成多个Excel文件

2022-06-30 14:41 作者:陪我去圣所叭  | 我要投稿

Attention: 本分享基于win7系统和office 2013。

 

由于需要整理信息,某单位M需要各学院补充一些数据。为了保密,单位M希望让每个学院仅补充自己的数据,不影响其他学院的信息补充工作。为此,单位M需要将原有数据表(如图1)的数据分成不同的excel文件分发给各个学院。

(图1)

图1显示了一张21行8列的数据表。编号列、项目名称列和立项时间列中空白的内容含义如下:比如,5-8行中A、B、C列空白,表示5-8行的A、B、C列分别与第4行的A、B、C列相同。单位M需要各学院补充F至H列缺失的信息。

 

在数据处理开始之前,务必要将A、B、C列重复的数据补充完整得到图2——具体原因见图29。

(图2)

选中数据区域,点击“插入”->”数据透视表”。在“创建数据透视表”窗口最好选择将数据透视表放入新工作表,得到图5界面。

(图3)
(图4)
(图5)

将数据透视表字段依次逐个添加至图5右下角“行”区域。得到图7。

(图6)

(图7)

显然图7的展示形式并不如图2直接、美观,因此需要将图7调整为类似图2的显示形式。

如图8,选中数据透视表中任意一个单元格,单击鼠标右键,选择“数据透视表选项”,选择“显示”,在“经典数据透视表布局”前的框中打勾,点确定,生成图9的界面。

(图8)

(图9)

Tips:注意图9和图10,你就会明白为什么之前我会说“将数据透视表字段依次逐个添加至图5右下角“行”区域。”因为点击的顺序和“行”区域显示的顺序一致,也和图9与图10中各列的位置一致。

(图10)

我们看图11的界面。在工具栏“数据透视表工具”中选择“设计”。

在“分类汇总”中选择“不显示分类汇总”,得到图12

在“总计”中选择“对行和列禁用”,得到图13

在“报表布局”中选择“重复所有项目标签”,得到图14.

(图11)

(图12)

(图13)


(图14)

图14中空值的字段显示“空白”,这反倒让我们难以只直观看出哪些地方是需要我们补充的,为此需要稍作处理。

利用“替换”功能——快捷键“Ctrl+H”,将“(空白)”改为“空格”,得到图16

(图15)

(图16)


做完以上这些步骤才算完成了准备工作,下面进入正题。

我们先将图16中这一个sheet根据立项单位划分为不同sheet。如图17将“立项单位”字段拖入数据透视表筛选器,在A1立项单位那里的下拉箭头选择“选择多项”,点击确定。

(图17)

如图18,在“分析”中点击“选项”,选择“显示报表筛选页”,点击确定,生成了不同学院的sheet,如图20.

(图18)

(图19)

(图20)

下面将这一个excel中的多个sheet拆分为不同excel。按“Alt+F11”,弹出如图21的VB窗口。

(图21)

点击VB窗口的“插入”,选择“模块”,复制如下代码并粘贴至新出现的窗口中(如图23),点击保存,选择“否”。


Sub SaveSeparately0

Dim sht As Worksheet

Application.ScreenUpdating = False

ipath = ThisWorkbook.Path &" '

For Each sht In Sheets

sht.Copy

ActiveWorkbook.SaveAs ipath & sht.Name

ActiveWorkbook.Close

Next

Application.ScreenUpdating = True

End Sub


(图22)

(图23)

(图24)

选择合适的位置保存新生成的excel(注意保存位置的名称会成为新生成sheet的命名前缀,如保存在“新建文件夹”,新生成的sheet名称为“新建文件夹+sheet名称”)。点击运行按钮(如图26)生成多个sheet。

(图25)

(图26)

效果如图27。

(图27)

由于无法在数据透视表中直接编辑数据,所以需要复制“数据透视表”,“选择性粘贴”为“数值”,即可编辑。

(图28)


填一个上文挖的坑~~~

Tips:若在处理数据之前未将重复数据进行补充——比如图29中显示的事未补全“项目名称”这一列时的情况,则会导致出现较多“空白”项,显示不够清楚且需要后续再进行调整,不够便捷。

(图29)


END

数据透视表:一个sheet自动生成多个sheet,再自动生成多个Excel文件的评论 (共 条)

分享到微博请遵守国家法律