乐于分享
好东西不私藏

告别复制粘贴!Excel一个公式,自动合并N张表格,以后都不用改了!

告别复制粘贴!Excel一个公式,自动合并N张表格,以后都不用改了!

嘿,大家好!我是小编E精精!
今天要分享的是多工作表合并,你日常不会还在复制粘贴吧,其实只要一个核心函数即可搞定动态合并!随时新增!下面一起来学习一下!
对了!这个也是我工作中落地的实战项目总结的!
▍需求说明
我们有N个产品,每个产品一张销售统计表,我们统计可能需要一个或者多个产品的明细数据,进行统计分析,可能有不同的组合,随便变更,这个需求如何处理呢?
▍核心处理

=VSTACK(A!A1:D3,B!A1:D3)

一个VSTACK函数,也就是上下追加到一起,平时大家说的合并哈!
但是你可能也发现了一些问题,这也不方便呀,第一、标题重复没处理,第二、每个表的数据区域不同,更新还要重新选择吗?不智能呀,没啥用!
不要急,下面我们就来解决这两个难题,让其可以实战落地,真的可以用起来!
▍公式优化
先来解决上面两个问题! 
第一个问题:标题重复
只要保留第一个标题,其他的第一行去掉即可!后面还可以优化,比如先全部合并,然后筛选非标题行内容都是可以的!
第二个问题:动态区域
我们可以预留足够大的区域,比如 A.:.ZZ,这种写法就是最新的区域自动裁剪的语法糖,虽然我们选择A到ZZ列整列,但是最后会根据内容的列数和行数自动裁剪,大家可以参考一下结果!
我们在产品中新增了一条今天的数据,汇总表也会自动更新进来!
上面两个问题基本就解决了,但是目前只是固定的两个表,要是换成A、C产品合并怎么办?总不能每次手动修改吧,不实用!
情况下面进一步优化!
▍实战落地
我们想要方便,可以设置一列放置要合并的工作表名称,然后公式遍历这个区域,实现动态合并!
我们把要合并的工作表名称放在F列,按需配置,然后使用REDUCE循环每一个工作表进行VSTACK追加处理,具体公式如下!

=DROP(

  REDUCE(“”,F2:.F99,LAMBDA(x,y,

     VSTACK(x,DROP(TRIMRANGE(INDIRECT(y&”!A:ZZ”)),ROWS(x)<>1)))

  ),1

)

公式使用说明:

1、F2:.F99 需要合并的工作表名称存放的区域,按需修改为自己的区域,.(点)语法糖会自动裁剪区域,不用担心配置区域过大问题,不会卡

2、y&”!A:ZZ” 其中的A:ZZ是需要合并工作表的预留区域范围,如果你的区域更好,可以修改ZZ为更好的列号,TRIMRANGE函数会自动裁剪,不用怕预留太大卡的问题!

3、ROWS(x)<>1 这里是用来判断是否要删除标题行,本质是判断是否是首次,首次x只有一个空值,一行,DROP函数根据结果决定删除一行或者不删除!

如果你的标题是多行,你N*(ROWS(x)<>1),或者更直观的写也可以!

新增、减少、调整数据,合并的结果都会同步更新的!
工作表名称特别多,一个一个写特别麻烦怎么办?其实非常简单用AI帮你简单写个VBA即可,还是不会的,也可以等我明天分享,记得关注我!不要错过每天的实战项目!
#Excel#E精精#Excel办公实战#Excel实战#Excel模板
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 告别复制粘贴!Excel一个公式,自动合并N张表格,以后都不用改了!

猜你喜欢

  • 暂无文章