Power Automate Desktopは、Microsoftから無償で提供されている、作業を自動化するツールです。
この記事では、Power Automate Desktopを使って、高配当株を分析するためのニワトリリストを自動作成するフローを作ります。
3回に分けて記載します。今回は、最終回の3回目です。
前回:【Power Automate Desktop】高配当株を分析するためのニワトリリストを自動作成したい(2/3)

課題:高配当株を分析するためのニワトリリストを自動作成したい

coffee 700x700 with name
ニワトリリスト自動作成の件、Power Automate Desktopを使ったフローの作成・テストが完了しました。
coffee 700x700 with name
最後の方のExcelスプレッドシートにリンクを出力するところは、ループを使ってHYPERLINK関数を出力するようにしました。
お疲れさまでした。開発規模はどのくらいですか。   
cocoa 700x700 with name
coffee 700x700 with name
行数でいうと、わずか8行です。ステップ数=8と言っていいのでしょうか。
ローコード開発の威力ですね。            
cocoa 700x700 with name

解決策

前回は、Power Automate Desktopを使って、次のフロー全体のうち、1番までを作成しました。

  • 1.ブラウザを起動してYAHOOファイナンス配当利回りランキングへ移動する
  • 2.Webページからデータを抽出し、Excelスプレッドシートへ出力する
  • 3.IR BANKのリンクを出力する

今回は、上記「3.IR BANKのリンクを出力する」の作り方を説明します。
やり方は、Excelスプレッドシートから株式コードを読み取って、その株式コードを使用してIR BANKのハイパーリンクをExcelスプレッドシートに出力します。

作り方

Excelワークシートから最初の空の列や行を取得

「Excelワークシートから最初の空の列や行を取得」アクションを使って、Excelスプレッドシートに存在する表に対して、最初の空の列と最初の空の行の2つの数値を変数で取得します。
最初の空の列とは、表の列数+1です。最初の空の行とは、表の行数+1です。
変数名は、デフォルトで%FirstFreeColumn%、%FirstFreeRow%です。
ここでは、デフォルトのままにします。
左側の「アクション」から、Excel ⇒ Excelワークシートから最初の空の列や行を取得、を真ん中へドラッグ&ドロップします。すると次のウィンドウが起動します。そのまま「保存」ボタンをクリックします。
03-0010 get firstfreecolumn firstfreerow

ループ

Excelスプレッドシートの表から1行ずつ株式コードを読み取って、IR BANKのリンクを出力します。
そのため、表の1行目から最終行(この場合、%FirstFreeRow-1%)までをループしつつ処理します。
左側の「アクション」から、ループ ⇒ Loop、を真ん中へドラッグ&ドロップします。すると次のウィンドウが起動します。
開始値:1、終了:%FirstFreeRow-1%、増分:1、を入力後、「保存」ボタンをクリックします。
03-0020 loop

Loopがフローへ追加されます。
変数%LoopIndex%は、初期値が1でループするたびに1増加し、FirstFreeRow-1に達したらループ終了となります。
03-0025 loop


Excelワークシートから読み取り

Excelスプレッドーシートの表から株式コードを読み取る部分をループの内部に実装します。
左側の「アクション」から、Excel ⇒ Excelワークシートから読み取り、をLoopとEndの間へドラッグ&ドロップします。すると、次のウィンドウが起動します。
株式コードは表の2列目に書かれているため、先頭列:2、と座標を入力します。
また、先頭行:%LoopIndex%、を入力します。
生成された変数は、デフォルトで%ExcelData%ですが、このままではわかりにくいため、%StockCode%に変更します。
03-0030 read from excel worksheet


以上まとめると、表の2列目を1行目から順に読み取って、変数%StockCode%へ格納する部分ができます。
次に「保存」ボタンをクリックします。LoopとEndの間に「Excelワークシートから読み取り」が追加されます。
03-0040 read from excel worksheet added


Excelワークシートに書き込み

次に、Excelワークシートの表の左側にある最初の空の列に、次のハイパーリンク関数を出力します。
=HYPERLINK("https://irbank.net/search/%StockCode%", "IR BANK)
まず左側の「アクション」から、Excel ⇒ Excelワークシートに書き込み、をLoopとEndの間で「Excelワークシートから読み取り」のすぐ下にドラッグ&ドロップします。
すると、次のウィンドウが起動します。
書き込む値:は、=HYPERLINK("https://irbank.net/search/%StockCode%", "IR BANK)、にします。
列:は、最初の空の列である%FirstFreeColumn%にします。
行:は、%LoopIndex%です。
03-0050 write to excel worksheet
「保存」ボタンをクリックします。

LoopとEndの間の「Excelワークシートから読み取り」のすぐ下に「Excelワークシートに書き込み」が追加されます。
03-0060 write to excel worksheet added

メッセージを表示

機能的には以上でフローは完成です。
ただ、このままではフローが実行完了したかどうかがわかりにくいので、メッセージを表示します。
左側の「アクション」から、メッセージボックス ⇒ メッセージを表示、をフローの末尾にドラッグ&ドロップします。
すると、次のウィンドウが起動します。
03-0070 message

タイトルと表示するメッセージを入力して、「保存」ボタンをクリックします。
フローの末尾に「メッセージを表示」が追加されます。
03-0080 message

実行

以上でフローの作成は完了しました。次に、実行(▷)してみます。
実行ボタン(▷)をクリックすると動き始めます。
最初は、Micorosoft Edgeが起動します。しばらくすると、自動的にページが移動していくのが見られます。
次にIR BANKのリンクがExcelスプレッドシートに出力されます。600個ものリンクを、ループしながら1行ずつ出力するので多少時間がかかります。リンクの出力中は、Power Automateの画面でくるくるとループしているのが見られます。Excelスプレッドシートでは、1個ずつIR BANKのリンクが作成されるのが見られます。
最後に、完了メッセージが表示されます。OKをクリックします。
03-0090 message

最終的に、Excelスプレッドシートにニワトリリストが完成します。
03-0100 niwatori list

「IR BANK」のリンクをクリックすると、対応する企業のIR BANKがブラウザに表示され、経営数字を見ることができます。
このニワトリリストを手作業で作成していたときは、50個くらいの企業をリストアップして経営数字をチェックするのがやっとでした。Power Automateで自動化すると、ニワトリリストを作成することについては全く体力を使わないので、経営数字のチェックをすることに集中できるようになりました。DXはやり方が正しければ威力を発揮しますね。

まとめ

Power Automate Desktopを使って作業を自動化すると、本質的な仕事に集中できます。

参考

【初心者向け】高配当株の「分析ツール」の使い方をカンタン解説【株式投資編】:(アニメ動画)第130回
【初心者向け】「分析ツール」を使った日本の高配当株の見つけ方をカンタン解説!