首页 > 解决方案 > 如何使用 filter() 函数在另一个单元格中使用条件

问题描述

我有一张带表格的表格(比如 A1:Q50),还有一张我想分析该数据的表格。

在分析表中,每一行根据不同的过滤器分析数据,其中列是我分析的实际内容。例如,分析中的第 1 行适用于 B>1 的所有数据行,第 2 行适用于 C<2 和 D="foo" 的所有数据行,第 3 行适用于 E=0 的数据行等。第 1 列(分析表)是相关数据行的平均值(基于上述过滤器)。

为简单起见,我想在行的第一列中为每一行编写条件,然后在分析列中重用该条件。因此,在上面的示例中,分析表的 A1 将是“B>1”,那么 A2 可能是

=average(filter('data'!A1Q50, <<condition in A1>>))

我还没有成功地获得对完整条件的引用。

任何想法如何在不编写自定义函数的情况下做到这一点?

标签: google-sheetsfilteraveragegoogle-sheets-formulagoogle-sheets-query

解决方案


对于这种你可以使用的东西QUERY

=AVERAGE(QUERY('data'!A1:Q50, "where "&A1, 0))

其中 A1 是:

E=0

或者:

E=0 and B>1 and C<2

0


推荐阅读