我有一个查询,需要针对列表中的每一行运行。当为单行编写时,它工作得很好:
QUERY(MaraRankData,
"select J,I,H,G,F,E where
A='"&E3&"' and
B='"&B3&"' and
C="&C3&" and
D="&D3&"",
0
)
根据需要输出一行数据。但是,当我将其包装在ARRAYFORMULA中时,它仍然只输出一行而不是很多行:
=ARRAYFORMULA(
QUERY(MaraRankData,
"select J,I,H,G,F,E where
A='"&E3:E&"' and
B='"&B3:B&"' and
C="&C3:C&" and
D="&D3:D&"",
0)
)
Google表格不会引发任何错误,因此我不知道自己在做什么错。如何使ARRAYFORMULA与我的QUERY一起使用,这样我不必在每一行上重复公式?
为了支持关于用Arrayformula包装Query()公式的红葡萄酒评论。不必包装任何已经返回/产生数组类型结果的公式。即不要将Arrayformula应用于“过滤器”,“唯一”,“转置”等
—
。– Xzila
同样,在大多数情况下,您可以使用查询,过滤器公式也会起作用。我敢打赌,您可以通过这种方式更轻松地解决您的问题。
—
Xzila
=FILTER({E:E,F:F,G:G,H:H,I:I,J:J},A3:A=E3:E)
第一部分只是重新排列大括号中的列。第二个原因是,从A到E似乎是唯一重要的列,因为B着眼于自身,C着眼于自身,等等。尽管数据集确实不错,但也许可以对此问题进行更多的解释。也许我只是不明白。