0

在谷歌表格中,我需要查询一个表的子集。表格范围是A1:K,其中 A 列用于过滤。
我想构建一个如下所示的查询:

=query(A1:K,"Select B,C,D,E,F,G,H,I,J,K where A =x")

除了我希望它看起来更像:

=query(A1:K,"Select B-K where A =x")

这可能吗?

就我而言,我还需要能够平均做到这一点,所以:

=query(A1:K, "Select avg(B-K) where A=x label avg(B-K) ''")

我不想把它拼出来的原因是因为这个查询是动态生成的。这是可能的,还是我必须单独为查询生成字符串?

4

1 回答 1

1

我认为,唯一的方法是生成字符串。

但是,如果您进行这样的查询:

=query({A1:K}, "Select ...")

然后 AZ 表示法变为 Col1、Col2、Col3 等等。您可以利用它:使用此公式生成文本“Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11”:

=join(", ",ARRAYFORMULA("Col" & row(OFFSET(A2,,,10))))

这个公式将使文本“AVG(Col2), AVG(Col3), AVG(Col4), AVG(Col5), AVG(Col6), AVG(Col7), AVG(Col8), AVG(Col9), AVG(Col10) ), AVG(Col11)":

=join(", ",ARRAYFORMULA("AVG(Col" & row(OFFSET(A2,,,10))&")") )

还要更改上面A2102 个公式以返回不同数量的子集。

于 2016-03-23T16:10:51.977 回答