GoogleFinance で指定した期間の最高値や最安値を取得する方法

備忘録

Googleスプレッドシート+ GoogleFinance を使う際の便利なテクニックの備忘録です。

GoogleFinance では、任意の銘柄の株価を指定期間分取得できます。

例えば以下のようにすると、2010/1/1 から 直近までの OHLC と出来高を取得できます。

=GOOGLEFINANCE("AMZN", "all", DATE(2010,1,1), TODAY())



しかし、これだけだと最高値や最安値などを取得するためには、いったん株価情報をスプレッドシート上に展開してから、MAX 関数等を使って最高値等を計算する必要があります。

もっとさくっと関数一回使うだけで期間内の最高値や最安値を取得する方法はないか?と探して以下の答えを見つけました。

グーグルシートでは、googlefinanceを使用して日付範囲内の株価の高値を取得する方法を教えてください。 - 初心者向けチュートリアル
次の式を作成しましたが、開始日の最高値のみが返され、日付範囲全体の

具体的に、いかに具体例を挙げます。

2010/1/1 から 直近までの終値ベースの最高値を取得したい
=MAX(INDEX(GOOGLEFINANCE("AMZN", "close", DATE(2010,1,1), TODAY()),,2))

ポイントとしては、INDEX(~,,2) とすることで、2列目(closeの列)を抽出していることです。こうすることで、 MAX 関数でcloseの中の最大値を取得することができるようになります。

2010/1/1 から 直近までの平均出来高を取得したい
=AVERAGE(index(GOOGLEFINANCE($A$1, "volume", DATE(2010,1,1), TODAY()),,2))

前述の MAXAVERAGE にすることで、平均になります。

コメント

タイトルとURLをコピーしました