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



所以我有一个有 3 张纸的工作簿。 第一个包含来自 A:Z 的数据。 第二个还包含来自 A:Z 的数据,但数据不同。 第三页用于使用筛选器查询另一页。

我希望能够编写一个公式,该公式将过滤工作表 1 中的数据并显示结果,然后从下一个可用行开始,从工作表 2 过滤数据并显示这些结果,没有任何间隙或覆盖。

如果两个过滤器如下所示:

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

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

我不会提前知道每个过滤器将产生多少行输出,所以我不能只将第二个 Filter 公式放在较低行的单元格中,因为我不希望两组输出之间有任何空白行。

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

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

更新:这是我的新代码,基于player0的建议

={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))

最新更新