如何在Excel中将两个或多个表合并为一个主表?



假设我们在不同的工作页上有两个标题相同的表格:

表1:

Subject
Biology
History

表2:

Subject
Maths
Biology

但是,我有表3,我希望它是这两个表的组合。例如

表3:

Subject
Biology
History
Maths
Biology

此外,如果我用新行更新例如表1以包含Physics,我希望表3中的表反映这一点,因此它变成:

表3:

Subject
Biology
History
Physics
Maths
Biology

有人知道怎么做吗?我认为在表3的单元格中使用一个简单的=来参考表1和表2可以工作,但这没有考虑到表1和表2的大小如何增长。

假设Sheet1Sheet2表是namedTable1andTable2:

=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",1,T(IFNA(IF({0,1},Table1[Subject],Table2[Subject]),"")))&"</b></a>","//b")

这是一个动态数组公式,不可能在Table中输入它。. 还要注意,TEXTJOIN上的字符限制意味着这种设置可能不适合大型数据集。

试试这样:

=IF(ROW()<MATCH(TRUE;INDEX(ISBLANK(Sheet1!C1);0);0);Sheet1!RC1;INDEX(Sheet2!C1;ROW()-MATCH(TRUE;INDEX(ISBLANK(Sheet1!C1);0);0)+1;0))

地点:

MATCH(TRUE;INDEX(ISBLANK(Sheet1!C1);0);0)是Sheet1

中第一个空白单元格的位置。当Sheet1在当前行 中有一个值时,ROW()<MATCH(TRUE;INDEX(ISBLANK(Sheet1!C1);0);0)为true

Sheet1!RC1是Sheet1中当前行

处的值INDEX(Sheet2!C1;ROW()-MATCH(TRUE;INDEX(ISBLANK(Sheet1!C1);0);0)+1;0)是Sheet2中的值,移位以确保Sheet2的值低于Sheet1的值

最新更新