GoogleFinance:按月获取历史记录 可以设置开始和结束日期,使用QUERY去掉标题,然后取AVERAGE参考

问题描述

我经常使用 GoogleFinance,但从文档看来,获取历史数据的唯一格式是按天或按周。

有没有办法按月获取数据?

我想我可以添加一个额外的列,并使用一些计算找到每个月的结束日期以获取值,但也许有更简单的方法来做到这一点?

解决方法

可以设置开始和结束日期,使用QUERY去掉标题,然后取AVERAGE

=AVERAGE(
  QUERY(
    GOOGLEFINANCE(
      "NASDAQ:GOOG","price",DATE(2020,1,1),2,"DAILY"
    ),"SELECT Col2 OFFSET 1"
  )
)

从内到外:

  • GOOGLEFINANCE 返回 2020 年 1 月 1 日至 2020 年 2 月 1 日期间每天的价格列表。
  • QUERY 选择带有价格的 Col2 并从 GOOGLEFINANCE 偏移数据,以便不再包含标题。现在你有了一个简单的数字列表
  • 最后 AVERAGE 只是计算平均值。

参考

,

试试:

=ARRAYFORMULA(SORTN(TEXT(
 GOOGLEFINANCE("NASDAQ:GOOG",DATE(2021,"daily"),{"yyyy mm","@"}),9^9,0))

enter image description here