配当目当ての株式投資をしていると、日本の連続増配銘柄を調べたくなります。
でもいざ連続増配銘柄を調べようとすると、ある時点での「連続増配銘柄ベスト○○」のような情報は見つかっても、現時点の・全銘柄を網羅的に確認できるサイトはありませんでした。
- 「配当金チェッカー」と云うサイトが見つけたのですが更新がストップしているようです。
- マネックス証券の「銘柄スカウター」に「10年スクリーニング」と云う機能がありますが、連続増配年数は5期までしか条件指定することができません。
5期では少なすぎる。せめて10年ぶんくらい…と思いつつ、情報を自分で拾い集める根気は無いので、データソースを探して作成してみました。簡単なEXCELのツールとして残しておきます。
国内株(東証上場株式)の配当実績取得 for EXCEL
Special Thanks!
このツールではWEBクエリを使って JPX(日本取引所グループ) および「IR BANK」さんの情報を参照させていただいています。
「IR BANK」さん は上場企業の業績を過去にわたって調べる際に大変重宝しております。超有り難い神サイトなので、みなさんも使ってみてくださいね。
さて、EXCELの処理の内側をもう少し具体的に言うと、
- JPXより東証上場銘柄一覧を取得し、
- 「IR BANK」さん からは配当実績を全銘柄一括で複数年にわたり取得し、
- これを EXCEL の Power Query の機能を使ってうにゃうにゃと加工…
という流れで情報を整形しています。
EXCELに収録されているもの・更新されるもの
まずはダウンロードしてみてください。一部些細やマクロを使っているため ZIP 形式でアップしてあります。解凍した上でお使いください。
国内株の配当実績取得ツールをダウンロードする(2021年4月20日版)
なお、動作確認は Office365 付帯の EXCEL で行っています。古いEXCELではWEBクエリやマクロが正常に動作しないかも知れません。その場合には、予め収録されている情報の参照のみになります。
ファイルには上記日付時点での東証上場銘柄と2010年~2021年4月20日時点の配当実績が収録してあります。何故2010年以降なのかと云うと、「IR BANK」さん が提供してくださっている情報が2010年以降だからです。
また、期末決算の情報をもとにした配当実績を収録しているため、5月以降の決算の企業など今回(2020年4月20日時点)で期末決算を発表していない企業については、配当実績の収録は2020年までになります。
なお、これ以降の画像は2019年時点で採取したものなので、2019年までの記録になります。
もともと収録してある情報だけでも、少なくともツール更新時点での配当実績を見ることができます。
- 増配した年の配当金は太字になっています。
- いちばん右端に「連続増配」「減配なし」とそれぞれの年数を設定しています。(最大10年)
- 連続増配年数および減配なし年数は、2010年以降の配当実績より算出しています。それ以前の年数はカウントしません。
- 各銘柄の「コード」には「IR BANK」さん の個別銘柄のページにリンクを張っています。
2011年以降毎年欠かさず増配してきた企業
例えば「連続増配」列のフィルタを「10」で絞れば、2010年以降毎年欠かさず増配してきた企業に絞り込むことができます。
絞り込んだ一覧のコードのリンクから「IR BANK」さん の情報を開いて詳細な情報を確認することができます。
あくまでも配当「実績」をもとにカウントしているので、配当「予想」は考慮されない点にご注意ください。
配当実績を最新の状態に更新する
「IR BANK」さん の情報は日々更新されるようです。以下の手順(?)でEXCELの配当実績の一覧に最新の情報を反映できます。ただし頻繁なアクセスには制限がかかるようなので何度も繰り返し実行することのないようにしましょう。
- ファイルを開くとセキュリティの警告が出ます。マクロを有効にするために「コンテンツの有効化」を選択してください。
- 左上の「更新」ボタンをクリックしてください。
- 数分待っても処理が終了しない場合には、一度「ESC」で終了してから再度実行してください。
要するにファイルを開いたら「更新」ボタンをクリックするだけです。
初回の実行時には以下のような警告が出る場合があります。
この場合には、「このファイルのプライバシーレベルのチェックを無視します。…」のチェックをONにして「保存」をクリックしてください。
基本的には「更新」ボタンを押して待つだけなのですが、年が替わったタイミングではEXCELの処理を少し変更する必要があります。その手順をこの後の項で簡単にだけ説明します。
EXCEL処理の変更方法<ヒント>
基本的には、年が替わったタイミングでわたくし千鳥足がツールの更新版をアップしておくつもりで居ますが、僕自身がアップを忘れていたり、ブログを放置しているような場合には、以下の記載を参考にして処理を変更してください。あまり事細かには書けません。よく理解できない…と云う方は、理解する必要はありません。僕が更新を忘れないと云う前提付きになりますが、アップされているEXCELファイルをそのまま使用してください。
変更するべきクエリ
このツールのマクロは「コード」にURLのリンクを設定することがメインで、データの更新自体はマクロ無しのWEBクエリで行っています。変更すべきクエリを確認しましょう。
上部のリボン「データ」より「クエリと接続」を選択してください。
画面の右側にクエリの一覧が表示されます。
肝は「複数年実績」クエリと「配当実績」クエリです。この2つだけ変更すれば年替わりに対応できます。
「複数年実績」クエリの変更の仕方
「複数年実績」クエリをダブルクリックして Power Query の編集画面を開きます。
「ホーム」の「詳細エディター」を開いてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
let 追加0 = 年別実績取得("0000"), 追加1 = Table.Combine({追加0, 年別実績取得("0019")}), 追加2 = Table.Combine({追加1, 年別実績取得("0018")}), 追加3 = Table.Combine({追加2, 年別実績取得("0017")}), 追加4 = Table.Combine({追加3, 年別実績取得("0016")}), 追加5 = Table.Combine({追加4, 年別実績取得("0015")}), 追加6 = Table.Combine({追加5, 年別実績取得("0014")}), 追加7 = Table.Combine({追加6, 年別実績取得("0013")}), 追加8 = Table.Combine({追加7, 年別実績取得("0012")}), 追加9 = Table.Combine({追加8, 年別実績取得("0011")}), 追加10 = Table.Combine({追加9, 年別実績取得("0010")}), 並べ替えられた行 = Table.Sort(追加10,{{"コード", Order.Ascending}, {"年度", Order.Ascending}}), 削除された重複 = Table.Distinct(並べ替えられた行, {"コード", "年度"}) in 削除された重複 |
コードはこれだけです。全銘柄一括データを年度毎に複数回取得してガッチャンコしているわけです。
「IR BANK」さん のURLに合わせて関数クエリに引数を渡しています。「0000」が現在年(この記事を更新している時点で2020年)を指し、「0019」は2019年、「0018」は2018年を指します。年が替わったタイミングでどんな変更が必要か…想像は付きますね?
「配当実績」クエリの変更の仕方
「配当実績」クエリをダブルクリックして Power Query の編集画面を開きます。
「ホーム」の「詳細エディター」を開いてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
let ソース = Table.NestedJoin(銘柄, {"コード"}, 複数年実績, {"コード"}, "複数年実績", JoinKind.Inner), #"展開された 複数年実績" = Table.ExpandTableColumn(ソース, "複数年実績", {"年度", "一株配当"}, {"年度", "一株配当"}), 並べ替えられた行 = Table.Sort(#"展開された 複数年実績",{{"コード", Order.Ascending}, {"年度", Order.Ascending}}), ピボットされた列 = Table.Pivot(Table.TransformColumnTypes(並べ替えられた行, {{"年度", type text}}, "ja-JP"), List.Distinct(Table.TransformColumnTypes(並べ替えられた行, {{"年度", type text}}, "ja-JP")[年度]), "年度", "一株配当", List.Sum), 追加された条件列1 = Table.AddColumn(ピボットされた列, "連続増配", each if [2020] = null or ([2019] <> null and [2020] > [2019]) then (if [2020] = null then 0 else 1) + (if [2018] <> null and [2019] > [2018] then 1 + (if [2017] <> null and [2018] > [2017] then 1 + (if [2016] <> null and [2017] > [2016] then 1 + (if [2015] <> null and [2016] > [2015] then 1 + (if [2014] <> null and [2015] > [2014] then 1 + (if [2013] <> null and [2014] > [2013] then 1 + (if [2012] <> null and [2013] > [2012] then 1 + (if [2011] <> null and [2012] > [2011] then 1 + (if [2010] <> null and [2011] > [2010] then 1 else 0) else 0) else 0) else 0) else 0) else 0) else 0) else 0) else 0) else 0), 追加された条件列2 = Table.AddColumn(追加された条件列1, "減配なし", each if [2020] = null or ([2019] <> null and [2020] >= [2019]) then (if [2020] = null then 0 else 1) + (if [2018] <> null and [2019] >= [2018] then 1 + (if [2017] <> null and [2018] >= [2017] then 1 + (if [2016] <> null and [2017] >= [2016] then 1 + (if [2015] <> null and [2016] >= [2015] then 1 + (if [2014] <> null and [2015] >= [2014] then 1 + (if [2013] <> null and [2014] >= [2013] then 1 + (if [2012] <> null and [2013] >= [2012] then 1 + (if [2011] <> null and [2012] >= [2011] then 1 + (if [2010] <> null and [2011] >= [2010] then 1 else 0) else 0) else 0) else 0) else 0) else 0) else 0) else 0) else 0) else 0) in 追加された条件列2 |
7行目以降の連続増配年数をカウントする箇所だけ、変更が必要になります。ちょっと泥臭い処理をしていてゴメンナサイ。
まあこれも、年が替わったタイミングでどんな変更が必要か…想像は付きますね?
連続増配株をチェックしてみよう
日本の連続増配株と云うと、[4452]花王 などが有名ですね。
でも [4452]花王 ほどではなくても、10年弱の短いスパンで見ると連続増配している企業はたくさんあります。「あれ?この企業も?」と意外な銘柄も連続増配していることに気付きます。ファイルをいじりながら、「IR BANK」さん の情報を参照して楽しんでくださいね。
<関連情報>
国内株・米国株の株価を日付指定で取得する子です。
コメントを書く