Google表格:提取命名范围的一列

问题描述 投票:1回答:3

更新

我最初的问题是关于取一个命名范围的单列的平均值。但是,经过反思,这个问题笼统地变成了“如何从命名范围中提取单个列?”

原始问题

我正在使用命名范围从大型数据集中提取两列。假设MyRange在较大的数据集中定义了三行两列:

 ... |G   |H   | ...
+----|----|----|
| ...          |
|2000|15.1|  10|
|2001|15.2|  23|
|2002|15.3|  30|
| ...          |

使用MyRange,我如何计算(仅)列H的平均值?我已经尝试过诸如AVERAGE(MyRange:H)AVERAGE(INDEX(MyRange 1))之类的各种操作,但是还没有弄清楚正确的语法。(在上面的示例中,结果应为21。)

google-sheets google-sheets-formula google-sheets-query
3个回答
1
投票

或者还有索引的尝试和受信任的方式:

=average(index(NamedRange1,0,2))

((为该行指定0表示使用整个列)


1
投票

您可以使用查询:

=Query(ArrayFormula(MyRange), "select avg(H) label avg(H) ''") 

作为替代。

从[H列中的3行中,

为什么不仅仅是创建新的命名范围,例如MyRangeH?然后,使用:

=AVERAGE(MyRangeH) 

1
投票

我只是偶然发现了一种使用FILTER()的简单方法:

=AVERAGE(FILTER(MyRange, {FALSE, TRUE}))

之所以起作用,是因为FILTER(MyRange, {FALSE, TRUE})提取(仅)提取第二列,该列又被传递给AVERAGE()

© www.soinside.com 2019 - 2024. All rights reserved.