返回目录:excel表格制作
首先关注本头条号“EVBA”,然后点击私信,私信内容:"多表汇总"即可获得下载地址
小艺刚刚接到领导排下的新任务,要求将公司业务员的销售数据进行记录并实时反映。对于业务员的销售数据小艺是按照业务员分工作表进行汇总整理的(各个销售表的结构布局是一样的),如下图
现在的问题是如何设计汇总表,让它能实时反映后面的明细数据(公司的业务员有几十名,这里为简化只列出九名);小艺做了一个销售数据时报,见下图。
为了完成这个任务,小艺首先把各个工作表的名称复制粘贴到汇总表的C列,然后再对每个表的销售金额字段求和,第三步将各表的销售金额合计复制对应粘贴到汇总表的D列,最后美化表格。对于业务员数量较少的情况下,这样做不失是一种方法,但是小艺的单位业务员有几十名之多但是复制粘贴业务员名称就要花费不短的时间,更何况每天还要更新汇总数据;小艺同学陷入了沉思...
下面我们介绍对于以上的情况我们应该如何处理。
解决方法:应用GET.WORKBOOK宏表函数、INDIRECT表函数、定义名称功能、查找替换功能。
Excel版本:本案例使用Excel2013。
具体操作:
一、运用工作组功能为各个工作表创建顶端合计:
首先选择第一张业务员工作表"马大"。
然后,按住Shift键的同时,鼠标选择最后一张业务员工作表"刘九",组成工作组。组成后状态如下:
组成工作组后当前的活动工作表仍是"马大"表,在E1单元格中输入公式"=SUM(D:D)",如下图
这样可以同时为组成工作组的工作表同时在E1单元格中输入公式,实现一次输入多表完成的效果。
二、制作汇总表表头(略)如图
三、添加两个名称:
选中汇总表,点击"公式"选项卡下的"定义的名称"组中的"名称管理器"按钮,如下图
在弹出的"名称管理器"对话框中点击"新建"按钮,如下图
在"名称"文本框中输入"shtc",在"引用位置"文本框中输入公式"=GET.WORKBOOK(4)",然后点击确定。按照同样的方法增加"name"名称,如下图
点击确定后会返回到"名称管理器"对话框,从下图中我们可以看到刚刚新增的两个名称。
解释一下两个GET公式的含义:GET.WORKBOOK(4) 返回当前工作薄的工作表个数;GET.WORKBOOK(1) 以数组形式返回当前工作薄中工作表的名称。
四、公式提取工作表名称:
在汇总表中的任意单元格中输入公式"=shtc",回车,返回当前工作表的个数,本例中返回10,有10个工作表,如下图
选择汇总表的C3:C12单元格区域(注意选择单元格的区域包含单元格的个数和工作表的个数要相等,C3:C12共计10个单元格)后,输入公式"=TRANSPOSE(name)"后,同时按Ctrl、Shift、和回车三键结束公式。
C3:C12单元格中已经录入了本工作薄的工作表名称,接下来我们要去掉工作薄名称即可;选中C3:C12单元格,按快捷键Ctrl+H(先按住Ctrl再按H即可)弹出替换对话框后,在查找内容一栏中输入"[*]",替换一栏中不输入任何内容,点击确定,将工作薄名称去掉保留工作表名称。见下图
之后,我们将第三行删除,去掉汇总表名称,保留销售人员工作表名称。
五、提取各个分表数据:
在汇总表的D3单元格汇中输入公式"=INDIRECT(C3&"!E1")",下图
并下拉公式填充单元格D4:D11区域,下图
六、美化工作表:下图
至此,我们的工作已经完成,当后面的分表数据有变化的时候总表会实时反映分表情况,无需修改公式。