如何在 Google 工作表中使用 AVERAGEIF,仅针对具有特定文本的列

How to use AVERAGEIF in Google Sheets, only addressing columns with a specific text

在 Google 表格中,我正在尝试使用 AVERAGEIF 来计算另一个 table 中仅某些列的 的 平均值]. 要包含在平均值中的列由特定单元格中的一些文本标记(例如,该列的第一行或最后一行)。

某些列将包含在多个平均值中,因此 top\bottom 行中的文本将包含多个单词(实际上意味着我需要某种子字符串检查,例如 FIND) .

我试过将 AVERAGEIF()FIND() 结合使用,但无法正常工作。

有什么想法吗?

Here is an example of how the data sheet looks like, and how I would expect it to work

您可以使用以下公式:

=ARRAYFORMULA(AVERAGE(IF(ISNUMBER(SEARCH(D2,A2:A9)),B2:B9,"")))

编辑:

对于评论中提到的 table,您必须更改范围:

=ARRAYFORMULA(AVERAGE(IF(ISNUMBER(SEARCH(E2,$A:$C)),$A:$C,"")))

您可以使用查询

=AVERAGE(QUERY(TRANSPOSE($A:$D),"where Col1 contains '"&D1&"'"))

使用的函数: