假设我们在不同的工作页上有两个标题相同的表格:
表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的大小如何增长。
假设Sheet1和Sheet2表是表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的值