夜雨聆风学习资料网

ARTICLE · 1278900

EXCEL新函数---把分表汇总成总表---并且分表变化、总表跟着更新---VSTACK函数

EXCEL新函数---把分表汇总成总表---并且分表变化、总表跟着更新---VSTACK函数
看过小白之前文章的小伙伴,都知道,咱们分享了两期关于将总表拆分成分表的、并且总表变化分表跟着实时更新的方法,相信大家也都有了自己的认知,学着用自己擅长的方法转化成自己的能力。
不过这时候就会有更多的小伙伴提出疑问了,既然可以把总表拆分成分表,并且分表跟着总表的变化而变化。那有没有一种办法,可以将分表汇总成总表,并且总表跟着分表的变化而变化呢?
小白志在让办公变的人人都容易,大家如果有哪里不明白或者需要修改的地方,欢迎留言,感恩相遇,希望能帮到你。
针对上面的问题,小白想了想,还真有这种办法,就是说起来比较费劲,大家且听小白慢慢道来,小白进来讲的明明白白的
咱们今天讲的主要的函数是VSTACK,我们先从语法再导举例,一步一步来
一、语法
VSTACK函数是用来合并多个表格(区域)或者数组的新函数,不过他最多合并254个表格(区域)或者数组,并且可以做到数据实时更新状态的一个新函数,他的语法是
VSTACK=(区域1,区域2,区域3.........)
到了这里,是不是绝的这个函数的用法很熟悉呢?确实是,他其实就跟SUM函数基本是一样的用法,到了这里是不是就觉得很简单了吗?
这个函数的第一个参数是必填的,后面的参数可有可无,不过最多是254个参数
关于这个函数需要注意的其他事项,咱们会在下面的案例中逐渐说到
二、案例
咱们接着之前总表拆分表的案例,只是咱们这期是反过来了,是把分表合成总表
1、最原始的用法

=VSTACK(销售一部!A2:E6,销售二部!A2:E5,销售三部!A2:E4)

这种方法是最原始的用法,并且就跟SUM函数一样,很多人用起来也是这么用的,但是这个前提是表格比较少,如果有个几十个或者一百多个呢?一直这么选下去?时间就这么白白浪费了
2、原始升级版

=VSTACK(销售一部:销售三部!A2:E6)

这个其实也不用死记硬背,有两种方法:1、语法记忆;2、快捷操作
(1)语法记忆
语法 = VSTACK( 开始的表格:结束的表格!区域 )
(2)快捷操作
这样也是小白推荐的操作,那就是输完VSTACK函数之后,鼠标点中一个表格,之后按住SHIFT键,最后鼠标去点最后一个表格,结束,这样大家就会发现我们把所有表都选中了,SUM函数也是这么操作的
3、行列不一致问题的解决
需要注意的点
通过上面的操作,细心的小伙伴就会发现,在第11行出现了一行0,这就是我们需要讲的需要注意的地方,那就是
VSTACK函数列数会以最大的列来战术,但是分表里小于最大列的话会以NA的形式出现,这时候咱们结合上IFERROR就可以
行数会以分表最大的行数出现,但是分表里小于最大行的在汇总过来的话会以0的形式出现,这时候我们需要结合FILTER来解决
FILTER函数我们之前专门讲过一期,如果不明白用法的可以去看看那一期,我们来看如何解决0的问题,其实这也是解决分表行列不一致的问题。
两种方案:
一是按上面的操作出来带0的表格之后,我们再在后面用FILTER来筛选出不等于0 的

=VSTACK(销售一部:销售三部!A2:E200)

=FILTER(A1:E598,E1:E598<>0)

但是这样有一个弊端就是,需要在总表里做两个表,才能实现我们的目的,那有没有一种方案直接做出来呢?当然可以,这就要看我们的第二种方案了
二是这用FILTER嵌套VSTACK函数来解决,咱们来看公式
=FILTER(VSTACK(销售一部:销售三部!A2:E200),VSTACK(销售一部:销售三部!E2:E200)<>0)
需要注意的点是,后面不等于0的,要以最后那列带数值的E列来判断,也就是咱们上面红框里的的内容
这个函数是不是很赞呢?其实通过上面行列问题的解决之后,我们在做总表的汇总的时候,就可以把分表的行数搞的多一点,咱们上面举例用了每个分表是200行,咱们可以结合实际工作来多弄一些行,这样的话不管分表怎么变化都可以实现总表的自动数据更新

相关学习资料