ぷそさんのプログラミング研究所

【5分で出来る!】株価や配当金を自動取得する方法|Google スプレッドシート

株を運用する際に,スプレッドシートやエクセルで管理することがあると思います。

今回は,スプレッドシートで株価を取得する方法についてご紹介します。

目次

スプレッドシートで株価を取得

今回は,下のようなイメージのスプレッドシートを作ることが目的です。

青色の部分に「証券コード」と「銘柄名」を入力すると「株価」と「配当利回り」が自動入力されます。

エクセルの関数のように,=関数名(証券コード)と入力するだけで株価を取得できます。

【5分でできる】スプレッドシートで株価を取得する方法

STEP1: アカウントを作成する

まずは,Googleスプレッドシートを使うためにGoogleアカウントを作成します。

作成はこちらのリンクからできます。

すでに持っている方は次のステップへ進んでください。

STEP2: Googleドライブにアクセスする

次に,Googleドライブにアクセスします。

検索で「Googleドライブ」と検索するか,Googleの右上のメニューボックスからもアクセスできます。

以下のような画面になれば次のステップに進んでください。

STEP3: スプレッドシートを作成する

Googleドライブにアクセスできたら,スプレッドシートを作成します。

① 画面左上にある「+新規」をクリックします

Googleスプレッドシートをクリックして新規作成します

以下のような画面が出てくれば完了です!

次のステップに進んでください。

STEP4: 株価や配当利回りを取得する関数を作成する

スプレッドシートが作成できたら,「株価」や「配当利回り」を取得する関数を作成します。

関数を作ると聞くと難しそう!と思うかもしれませんが,コピペするだけで作ることができます。

①上のメニューバーにある「拡張機能」→「Apps Script」をクリックします

すると,こんな画面が現れると思います。

②元から書いてあるコードを消して,コピペする

画面を開くと,

function myFunction() {
  
}

というコードが書かれていると思いますが,これを全部消します

消した後に,下のコードをコピペします。

/**
 * @customfunction
 */
// 株価を取得
function GET_STOCKPRICE(stockSymbol) {

  var url = "https://www.bloomberg.co.jp/quote/" + String(stockSymbol) + ":JP";

  var response = UrlFetchApp.fetch(url);
  var content = response.getContentText();
  var pattern = /<div class="price">([\s\S]*?)<\/div>/;
  var match = content.match(pattern);


  // 一致した部分があるか確認
  if (match && match.length >= 2) {
    // キャプチャグループ内の内容を取得
    var priceValue = match[1].trim(); // 必要に応じてトリミング

    // 取得した価格を返す
    return parseFloat(priceValue.replace(/,/g, ''));
  } else {
    // 一致しない場合や何も見つからない場合は空文字列を返すか、エラーメッセージを返すなどの対処を行うことができます
    return "価格が見つかりませんでした";
  }
}

/**
 * @customfunction
 */
// 配当利回りを取得
function GET_DEVIDEND_YIELD(stockSymbol) {

  var url = "https://www.bloomberg.co.jp/quote/" + String(stockSymbol) + ":JP";

  var response = UrlFetchApp.fetch(url);
  var content = response.getContentText();
  var pattern = /<div class="cell__value cell__value_">([\s\S]*?)<\/div>/g;
  var match_yield = content.match(pattern)[15];

  // 一致した部分があるか確認
  if (match_yield && match_yield.length >= 2) {
    // 数字だけ抜き出す
    var priceValue = match_yield.match(/\d+(\.\d+)?/g);

    // 取得した価格を返す
    return parseFloat(priceValue);
  } else {
    // 一致しない場合や何も見つからない場合は空文字列を返すか、エラーメッセージを返すなどの対処を行うことができます
    return "配当利回りが見つかりませんでした";
  }
}

下のような画面になったら完了なので,メニューバーにある保存ボタンを押すか「ctrl+S」(Macの方はcommand+S)を押して保存します

STEP5: 実際に株価や配当利回りを取得する

ここまできたら準備は完了です。

以下のような表をあらかじめ作成しておきます。

株価を取得する

C2セル」にJTの株価を取得してみましょう。

C2セルをクリックした後に,=GET_STOCKPRICE(と入力します。

次に証券コードをクリックします。今回の場合はA2セルをクリックします。

このようになれば大丈夫です。

この状態でエンターキーを押すと,数秒後に株価が取得されます。

配当利回りを取得する

株価と同じように配当利回りも取得してみます。

D2セル」にJTの株価を取得してみましょう。

D2セルをクリックした後に,=GET_DEVIDEND_YIELD(A2)と入力します。

下の画面のように配当利回りが表示されたら完了です!

表全体に適用する

あとは全ての銘柄に対して適用を行います。

C2とD2セルを選択した後に,D2セル右下の青い点をD9までドラッグします。

このような画面になれば,全ての銘柄の株価配当利回りが取得できました!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

このブログでは,PythonやLaTeXの使い方などを紹介しています!
仕事でも趣味でもプログラミングをしています。
ブログは2022年8月にスタートしました。
【経歴】東京大学大学院修了→大手IT企業勤務

コメント

コメントする

目次