使两个单独的过滤器函数的输出连续显示的公式

Formula to make the outputs of two separate Filter functions display consecutively

所以我有一个包含 3 sheet 的工作簿。第一个包含来自 A:Z 的数据。第二个也包含来自 A:Z 的数据,但数据不同。第三页用于使用Filter查询其他。

我希望能够编写一个公式来过滤来自 sheet 1 的数据并显示结果,然后从下一个可用行开始,过滤来自 sheet2 的数据和显示这些结果,没有任何间隙或覆盖。

如果两个过滤器是这样的:

=FILTER(sheet1!A:Z, sheet1!A:A="Bob")=FILTER(sheet2!A:Z, sheet2!A:A="Bob")

因此,两个过滤器之间的唯一区别是 sheet 名称。

我不会事先知道每个过滤器会产生多少行输出,所以我不能只把第二个过滤器公式放在下面一行的单元格中,因为我不希望有两组输出之间的任何空白行。

我认为我可以使用 COUNT 或 COUNTA 计算出第一个过滤器公式有多少行输出,但即使知道这一点,我如何才能选择第二个过滤器从哪一行开始显示结果?

我想过使用 &,但它只会将每个 sheet 的第一个结果放入一个单元格中,而不会给出其他行或列的结果。 我试过 ARRAYFORMULA,但我以前从未使用过,认为它不合适。 我试过 JOIN,但它给出了一个错误,说它只能用于单行或单列。

更新:这是我根据玩家 0 的建议编写的新代码

={IFERROR(FILTER('2019 (H904)'!B9:AK, '2019 (H904)'!C9:C=A1, '2019 (H904)'!J9:J=E1), SUBSTITUTE(COLUMN(B9:AK)^0, 1, ); IFERROR(FILTER('2018 (H517)'!B9:AK, '2018 (H517)'!C9:C=A1, '2018 (H517)'!J9:J=E1), SUBSTITUTE(COLUMN(B9:AK)^0, 1, )}))

但是我得到一个公式解析错误。

将它们放入数组中:

={FILTER(sheet1!A:Z, sheet1!A:A="Bob"); 
  FILTER(sheet2!A:Z, sheet2!A:A="Bob")}

问题是其中一个没有输出。那么你需要这样的东西:

=ARRAYFORMULA(QUERY({
 IFERROR(FILTER(sheet1!A:Z, sheet1!A:A="Bob"), SUBSTITUTE(COLUMN(A:Z)^0, 1, ); 
 IFERROR(FILTER(sheet2!A:Z, sheet2!A:A="Bob"), SUBSTITUTE(COLUMN(A:Z)^0, 1, )}, 
 "where Col1 is not null", 0))