株を運用する際に,スプレッドシートやエクセルで管理することがあると思います。
今回は,スプレッドシートで株価を取得する方法についてご紹介します。
スプレッドシートで株価を取得
今回は,下のようなイメージのスプレッドシートを作ることが目的です。
青色の部分に「証券コード」と「銘柄名」を入力すると「株価」と「配当利回り」が自動入力されます。
エクセルの関数のように,=関数名(証券コード)
と入力するだけで株価を取得できます。
![](https://icochan1.net/wp-content/uploads/2023/09/36af60a7d19beb9edb4dccfcf4afa45b.png)
【5分でできる】スプレッドシートで株価を取得する方法
STEP1: アカウントを作成する
まずは,Googleスプレッドシートを使うためにGoogleアカウントを作成します。
作成はこちらのリンクからできます。
すでに持っている方は次のステップへ進んでください。
STEP2: Googleドライブにアクセスする
次に,Googleドライブにアクセスします。
検索で「Googleドライブ」と検索するか,Googleの右上のメニューボックスからもアクセスできます。
以下のような画面になれば次のステップに進んでください。
![](https://icochan1.net/wp-content/uploads/2023/09/d430f4da2df6f3216d5253e5b5962f9f-1024x487.png)
STEP3: スプレッドシートを作成する
Googleドライブにアクセスできたら,スプレッドシートを作成します。
① 画面左上にある「+新規」をクリックします
![](https://icochan1.net/wp-content/uploads/2023/09/e4a35fe062ff6be310eb8895f5a8b0b7-1024x573.png)
②Googleスプレッドシートをクリックして新規作成します
![](https://icochan1.net/wp-content/uploads/2023/09/2f76cc5d937426dd5d48e5a66ac70749.png)
以下のような画面が出てくれば完了です!
次のステップに進んでください。
![](https://icochan1.net/wp-content/uploads/2023/09/ec73704e88fa931a768ce45c0d476293-1024x412.png)
STEP4: 株価や配当利回りを取得する関数を作成する
スプレッドシートが作成できたら,「株価」や「配当利回り」を取得する関数を作成します。
関数を作ると聞くと難しそう!と思うかもしれませんが,コピペするだけで作ることができます。
①上のメニューバーにある「拡張機能」→「Apps Script」をクリックします
![](https://icochan1.net/wp-content/uploads/2023/09/83208c96a7f4dca377429f876f4786a9.png)
すると,こんな画面が現れると思います。
![](https://icochan1.net/wp-content/uploads/2023/09/0e2315699f384dac7c2a26e4f7576018-1024x470.png)
②元から書いてあるコードを消して,コピペする
画面を開くと,
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)を押して![](https://icochan1.net/wp-content/uploads/2023/09/7719cf676ca2ef8d0c35382c19066ea7-1024x655.png)
STEP5: 実際に株価や配当利回りを取得する
ここまできたら準備は完了です。
以下のような表をあらかじめ作成しておきます。
![](https://icochan1.net/wp-content/uploads/2023/09/36c631d7486d5849f3a129cdd71be935-1024x621.png)
株価を取得する
「C2セル」にJTの株価を取得してみましょう。
C2セルをクリックした後に,=GET_STOCKPRICE(
と入力します。
![](https://icochan1.net/wp-content/uploads/2023/09/76296465018b7da28bc6504c03d86801-1024x576.png)
次に証券コードをクリックします。今回の場合はA2セルをクリックします。
このようになれば大丈夫です。
![](https://icochan1.net/wp-content/uploads/2023/09/61c2125d8b6fc17d806663ec669d68c8-1024x628.png)
この状態でエンターキーを押すと,数秒後に株価が取得されます。
![](https://icochan1.net/wp-content/uploads/2023/09/e4a6bc69980710775963374d762a6589-1024x582.png)
配当利回りを取得する
株価と同じように配当利回りも取得してみます。
「D2セル」にJTの株価を取得してみましょう。
D2セルをクリックした後に,=GET_DEVIDEND_YIELD(A2)
と入力します。
![](https://icochan1.net/wp-content/uploads/2023/09/1e57953f8ce988fc2a252f1eb29cb81e-1024x646.png)
下の画面のように配当利回りが表示されたら完了です!
![](https://icochan1.net/wp-content/uploads/2023/09/33f446dcf81f6982c353d16b707e0cda-1024x652.png)
表全体に適用する
あとは全ての銘柄に対して適用を行います。
C2とD2セルを選択した後に,D2セル右下の青い点をD9までドラッグします。
![](https://icochan1.net/wp-content/uploads/2023/09/dc33f96cde334b606ffb1dfa3bf1a30c.png)
このような画面になれば,全ての銘柄の株価と配当利回りが取得できました!!
![](https://icochan1.net/wp-content/uploads/2023/09/89a36610963f614c226807ff74ba99a7-1024x573.png)
コメント