日本株の株価を取得する関数の追加
- Google Spreadsheet で、
データ → 名前付き関数を選択 -
新しい関数を追加をクリック - 関数名に
GET_STOCK_PRICE_JPを入力 (名前はなんでも良い) - 引数のプレースホルダーに
tickerと入力して、リターン - 数式の定義に、以下を張り付ける
=VALUE(SUBSTITUTE(IMPORTXML("https://www.google.com/finance/quote/" & ticker & "?hl=ja","//*[@class=""YMlKec fxKbKc""]"), "¥", "")) -
次へ、作成をクリックして保存 - スプレッドシート上で、
=GET_STOCK_PRICE("8058:TYO")等として株価を取得。8058:TYOは Google Finance のティッカー
日本株の会社名を取得する関数の追加
関数名を GET_STOCK_NAME 等、数式の定義を、
=IMPORTXML("https://www.google.com/finance/quote/" & ticker & "?hl=ja","//*[@class=""zzDege""]")
として、日本株の株価を取得する関数の追加と同じ手順を実行。
=GET_STOCK_NAME("8058:TYO") 等で会社名が取得できる。
株価取得がブロックされた場合
- 他の株価が取得できるページを見つける
- ブラウザの Developer Tool で、株価の文字列で検索する (例 31,007)
- ChatGPT 等に株価の文字列の周囲のタブを渡して、株価の要素への XPath を作る
- IMPORTXML の 1 つ目の引き数を新しいページのURLに、2 つ目の引き数を 3 で作った XPath で置き換える
おまけ
- USDJPY
GET_STOCK_PRICE("USD-JPY") - オルカン
=VALUE(IMPORTXML("https://finance.yahoo.co.jp/quote/0331418A","(//*[@class=""StyledNumber__value__3rXW""])[1]"))