Mac版Office365 Excel如何动态合并多个长度可变的表格
Mac版Office 365 Excel动态多表合并方案
动态无空行合并实现
Office 365支持动态数组函数,直接用VSTACK函数即可满足需求:
- 假设你需要合并的三个表格已经设置为Excel结构化表,表名分别为
表1、表2、表3 - 在目标合并区域的首个单元格输入公式:
=VSTACK(表1,表2,表3) - 公式会自动将三个表的数据按顺序首尾拼接,自动过滤空白行,且三个源表格的行数增减后,合并结果会自动同步更新。
如果三个表格是普通单元格区域而非结构化表,可以把公式里的表名替换为动态引用区域,比如第一个表数据在Sheet2的A2:C列,动态引用写为FILTER(Sheet2!A2:C,Sheet2!A2:A<>""),确保不会引用到空白行。
输出范围缩减到第5-15行的修改方法
只需要在原有合并公式的外层嵌套TAKE函数限制输出行数即可:
- 第5行到第15行总共11行数据,修改后的公式为:
=TAKE(原有合并公式,11) - 把修改后的公式输入到第5行的首个目标单元格,动态数组会自动向下溢出到第15行,不会超出范围。
如果沿用Ron Rosenfeld的原有方案,直接把他的整套公式作为TAKE的第一个参数即可,无需调整原有逻辑。
注意事项
- 合并前需确保三个源表格的列数、列顺序完全一致,否则合并结果会出现报错或列错位
- 如果你需要在合并结果中保留表头,只需要在
VSTACK的第一个参数位置加入表头行,同时把TAKE的行数参数调整为12即可适配5-15行的输出范围
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

