ARTICLE · 1173334
EXCEL篇-多分表多列汇总求和,VSTACK+FILTER+BYCOL一招搞定
EXCEL篇-多分表多列汇总求和,VSTACK+FILTER+BYCOL一招搞定日常工作中,做库存管理、销售统计的同事,常常会遇到这样的场景: 数据分散在多个分表里,但需要合并到一起,并且按照产品编码合并求和,该如何快速实现呢? 场景:假设你有3张分表:华东仓、华南仓、华北仓。每张表标题一样,但产品编码不一样:现在在「汇总表」B2写入公式,自动计算出每个产品编码在分仓的合计数。 
一、实现思路
二、公式步骤



三、注意点 工作表顺序:华东仓、中间表、华北仓,中间所有表都会被 VSTACK 读取。不需要的表不要放在中间。同理,需要增加读取汇总的新表,也可以直接在工作 表中间插入,即可自动读取。 四、函数语法[]内为可选填参数,剩余参数为必选项 VSTACK(数组1, [数组2], ...) 作用:将多个数组或单元格区域垂直(即上下)拼接成一个新数组。可以把它理解为“把数据从上到下堆叠起来”。 函数详语法可以参考这篇文章EXCEL篇-分表更新,总表一键自动汇总!再也不用手动复制粘贴了 BYCOL(数组, 对每一列执行的计算) 作用:BYCOL 会“逐列”处理一个数组,把每一列单独拿出来,套用一个你自定义的计算规则,最后把每列的计算结果拼成一个新数组返回。
👉 收藏 + 在看,用的时候不迷路

=BYCOL(FILTER(VSTACK(华东仓:华北仓!$B$1:$D$14),VSTACK(华东仓:华北仓!$A$1:$A$14)=A2),SUM) |
1.合并:把多个分表的数据纵向堆叠成一张"虚拟总表"→VSTACK函数
2.筛选:从虚拟总表中,按产品编码筛选出目标行→FILTER函数
3.求和:对筛选出来的多行数据,按列分别求和→BYCOL函数
用一句话概括就是:先堆表 → 再筛行 → 后按列加总。
步骤①效果预览(步骤②同)

步骤③效果预果 FILTER函数详细用法可参考这篇文章

步骤④效果预览

FILTER(筛选区域,筛选条件,[无结果提示])
作用:照你设定的条件,自动从一张表中筛选出所有符合条件的数据行,并动态显示出来
函数详语法可以参考这篇文章Excel篇-XLOOKUP vs FILTER:Excel 一对一 / 一对多查找完整教程,做表必备















































































