今回は、PowerAutomate を活用して請求書のテンプレートファイルとデータファイルから対象月の請求書を作成する。それほど難しい作業ではないが、このように実用的なフローを作成できることを実感していただきたい。

請求金額データの読み出しと書き込みを行うフローをつくる

前回はデータ用のMicrosoft Excelファイルから請求金額などのデータを取り出す処理を実装した。今回はこの取り出したデータを請求書用のテンプレートファイルに書き込む処理を実装して請求書を完成させる。

まず、前回のフローをコピーして「請求書作成 その5」を作成する。

  • フローて「請求書作成 その5」を作成

    「請求書作成 その5」を作成

請求金額データをMicrosoft Excelファイルから読み出し、別のMicrosoft Excelファイルへ書き込む。書き込む場所(行)は1行ごとに増やしていく必要があるので、それぞれ処理をするために変数を用意する。変数の初期値は最初に読み出す行と、最初に書き込む行に設定した。

  • 変数を設定: %NumberOfRow% 初期値を13

    変数を設定: %NumberOfRow% 初期値を13

  • 変数を設定: %NumberOfRow% 初期値を11

    変数を設定: %NumberOfRow% 初期値を11

データを1行ごと読み出すためにループを作成する。読み出す方の行数は%NumberOfRow%に保持してあるので、これを初期値に設定している。

  • データを読み出すためのループを作成

    データを読み出すためのループを作成

そしてデータファイルから対象となる行の1列目のデータを取り出す。

  • 請求データの対象行の1列目のデータを取り出す

    請求データの対象行の1列目のデータを取り出す

データファイルの対象行以下の行は、1列目に請求データの対象年月が入っているので、この値がユーザー指定の年月と同じかどうかの判定を行う。

  • 対象データが請求対象月のデータであるかを判定する

    対象データが請求対象月のデータであるかを判定する

Ifの中は次のように、データを読み出して、それを請求書ファイルに書き込む処理を行う。まず、「Excel ワークシートから読み取る」アクションでデータを読み出す。

  • 「Excel ワークシートから読み取る」アクションで請求項目データを取り出す

    「Excel ワークシートから読み取る」アクションで請求項目データを取り出す

  • 「Excel ワークシートから読み取る」アクションで請求金額を取り出す

    「Excel ワークシートから読み取る」アクションで請求金額を取り出す

次に、「Excel ワークシートに書き込む」アクションで読み出したデータを請求書ファイルに書き込む。

  • 「Excel ワークシートに書き込む」アクションで請求書ファイルに請求項目データを書き込む

    「Excel ワークシートに書き込む」アクションで請求書ファイルに請求項目データを書き込む

  • 「Excel ワークシートに書き込む」アクションで請求書ファイルに請求金額データを書き込む

    「Excel ワークシートに書き込む」アクションで請求書ファイルに請求金額データを書き込む

読み書きを行ったら書き込む行番号を保持した%NumberOfRow2%の値を1つ増やす。これで次に書き込む時は1つ下の行にデータを書き込むことになる。

  • %NumberOfRow2%の値を1つ増やす

    %NumberOfRow2%の値を1つ増やす

次にIfの前に取り出した年月データが空であるかどうか判定する。

  • 取り出した年月データが空であるかどうか判定する

    取り出した年月データが空であるかどうか判定する

空だった場合には「ループを抜ける」アクションでループを抜ける。

  • 日付データが空だった場合に「ループを抜ける」アクションでループを抜ける

    日付データが空だった場合に「ループを抜ける」アクションでループを抜ける

最後に、読み出す方の行数を保持している変数である%NumberOfRow%の値を1つ増やす。

  • %NumberOfRow%の値を1つ増やす

    %NumberOfRow%の値を1つ増やす

ここまでのフローは次の通りだ。変数を設定してからループを開始し、中に2つのIfが入っていることを確認できると思う。

  • これまでの処理をフローで確認する その1

    これまでの処理をフローで確認する その1

  • これまでの処理をフローで確認する その2

    これまでの処理をフローで確認する その2

これで請求項目および金額の読み出しと書き込みが完了した。

残りのデータを読み書きする

最後に、請求先企業のデータをデータファイルから読み込んで請求書ファイルに書き込む。この処理は特に難しいことなく、「Excel ワークシートから読み取る」アクションと、「Excel ワークシートに書き込む」アクションを繰り返すだけだ。

  • 「Excel ワークシートから読み取る」アクションでデータを読み込み

    「Excel ワークシートから読み取る」アクションでデータを読み込む

  • 「Excel ワークシートに書き込む」アクションでデータを書き込む

    「Excel ワークシートに書き込む」アクションでデータを書き込む

これで今回のフローは完成だ。

作成したフローを実行する

早速実行してみよう。まず、実行するときに使うファイルを先に確認しておこう。次のファイル(請求書テンプレート1.xlsx)が請求書のテンプレートファイルだ。

  • 請求書のテンプレートファイル(請求書テンプレート1.xlsx)

    請求書のテンプレートファイル(請求書テンプレート1.xlsx)

  • 請求書のテンプレートファイル(請求書テンプレート1.xlsx)

    請求書のテンプレートファイル(請求書テンプレート1.xlsx)

次のファイルが実際に請求データを管理しているファイル(請求データ_◯◯◯◯システムズ.xlsx)だ。

  • 請求データを管理しているファイル(請求データー◯◯◯◯システムズ.xlsx)

    請求データを管理しているファイル(請求データ_◯◯◯◯システムズ.xlsx)

フロー「請求書作成 その5」を実行すると、請求書のテンプレートファイル(請求書テンプレート1.xlsx)は「新規請求書.xlsx」にコピーされ、ここに請求データが書き込まれていく。完成した請求書ファイルは次のようになる。

  • 完成した請求書ファイル

    完成した請求書ファイル

  • 完成した請求書ファイル

    完成した請求書ファイル

  • 完成した請求書ファイル

    完成した請求書ファイル

人が操作するものはPower Automateで自動化しやすい

今回取り上げたフローのように、もともと人間が手作業で処理していたものはPower Automateで自動化する対象として適している。手動で処理する場合にはどうしてもヒューマンエラーが発生する可能性があるが、Power Automateでロジックを組めば、その心配はない。最初にフローを作成する手間はかかるが、その後の業務効率の向上につながるはずだ。

Power Automateで業務を自動化する場合、「アクションをどれだけ知っているか」が自動化を進めるカギになる。多くのアクションを把握できていれば、Power Automateでどういうフローを作成すれば自動化できるかを考えやすくなるだろう。これは経験が必要な部分でもあるので、なるべくPower Automateを操作する機会を増やし、さまざまなアクションを試してみていただきたい。