Google sheets 将多列表重建为Col1(键)、Col2(所有其他列的值)的查询中的范围存在问题

Google sheets 将多列表重建为Col1(键)、Col2(所有其他列的值)的查询中的范围存在问题,google-sheets,google-sheets-formula,spreadsheet,Google Sheets,Google Sheets Formula,Spreadsheet,我想将Col1(键)、Col2、Col3、Col4、Col5表重建为Col1(键)和Col2表(包括第2、3、4、5列中的所有一致值…),请检查示例: 如果我在查询中使用以下纯文本作为范围: =QUERY({A2:A7\B2:B7;A2:A7\C2:C7;A2:A7\D2:D7;A2:A7\E2:E7},"Select * where Col2 >0") 它工作得很好。但我无法使该范围在查询中是动态的,我尝试将该范围(基于公式,甚至作为文本)放在某个单元格中,然后按

我想将Col1(键)、Col2、Col3、Col4、Col5表重建为Col1(键)和Col2表(包括第2、3、4、5列中的所有一致值…),请检查示例:

如果我在查询中使用以下纯文本作为范围:

=QUERY({A2:A7\B2:B7;A2:A7\C2:C7;A2:A7\D2:D7;A2:A7\E2:E7},"Select * where Col2 >0")
它工作得很好。但我无法使该范围在查询中是动态的,我尝试将该范围(基于公式,甚至作为文本)放在某个单元格中,然后按如下方式提取它

=查询(A1,“选择*其中列>0”)

=QUERY({indirect(A1)},“Select*where Col2>0”)


但它不起作用。

您可以使用此公式,在这种情况下,您只需要更改一个范围,以防出现更多列:

=排序(拆分)(查询(展平)(如果(B3:E=”“、A3:A&)♥" & B3:E)),“其中Col1不为NULL”),“♥)

或者您可以将
A3:A
B3:E
范围作为参数放置在某些单元格中,并使用
间接
您需要的:

=排序(拆分)查询(展平)(如果(间接)(N4)=“”、间接(N3)和♥(&INDIRECT(N4)),“其中Col1不为NULL”),“♥)


当原始数据集可能会扩展时,我始终建议原始数据集保留在工作表中。现在,假设“示例”工作表中只有现有的原始数据集

在新的空白页中,放置以下公式:

=ArrayFormula(查询(拆分(展平(过滤器(示例!A3:A,示例!A3:A“”)和过滤器(过滤器(间接(“示例!B3:&行(示例!A:A)),示例!A3:A“”),示例!B2:2“”),“|”),“选择*其中Col2不为空”,0))


该公式与@kishkin提供的公式类似。但是,
过滤器
包含自动扩展,以包括原始数据的所有部分,其中A列中有某些内容,B3:B中添加了一个标题。也就是说,如果按照我所述设置,则该公式需要零维护。

出人意料的漂亮且易于应用的解决方案。I虽然不可能在这里使用展平功能,但这两种方法都很有效,非常感谢!Spasibo)@Stz一点也不:)我同意,对于您将长期工作的工作表,使用这种结构是明智的,以避免将来浪费时间更新公式,非常感谢提供完整的解决方案,祝您好运!很高兴我能提供帮助。