计算数组中值的平均值和其他度量标准

时间:2014-10-16 14:01:02

标签: google-apps-script google-sheets array-formulas google-finance

我想根据股价计算平均值和其他指标。 这些股票价格存储在一个数组中,并从Google财经中提取,如下所示:

=GOOGLEFINANCE("GOOG","price",TODAY()-30,TODAY())

GoogleFinance函数描述为here

如何根据阵列中的股价返回平均股价,第一股,最后股价或任何其他计算指标(加权指数平均值等)?

我知道Google Spreadsheet提供了数组公式(例如ARRAYFORMULA),但很难理解如何使用它们来计算这些指标。 或者,有没有其他方法可以执行此计算,而无需在单元格中编写每个股票价格并手动计算指标。

感谢您的任何帮助或想法。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果我理解您的问题,您有兴趣从Google财经获取数据,进一步处理数据,然后仅显示已处理的信息。

不幸的是,原生电子表格公式并不能完全允许这一点 - 至少不容易。此外,Google Apps脚本确实不是一个可行的解决方案,因为它的金融服务已被弃用。

最直接的解决方案是使用GOOGLEFINANCE()公式用数据填充一系列单元格,然后单独的单元格构建您自己的公式来处理该数据(通过使用AVERAGE()查找平均价格GOOGLEFINANCE()价格输出列,例如)。

如果重要的是不显示GOOGLEFINANCE()的输出,您可以随时隐藏这些行或将该输出放在单独的工作表中。

答案 1 :(得分:1)

这是一个能够返回从GOOGLEFINANCE历史查询返回的值的平均值的公式。诀窍是使用INDEX()来去掉日期列,这样你只剩下价格。

=AVERAGE(INDEX(GOOGLEFINANCE("GOOG","price",TODAY()-30,TODAY(),"DAILY"), 0, 2))

INDEX的参数(0,2)似乎返回整个第二列,包括" Price"标题单元格,但似乎没问题,因为AVERAGE()不计算文本单元格。