Let's時短！集計＆報告作業をPower Automateで自動化

お疲れ様です。
金融業界で働いている事務員兼主婦です。
前回はGlideを使用して管理簿アプリを作成、画像＆文書取込にもチャレンジしてみました。


https://qiita.com/kiku_2005/items/67f67ca8340dab7206de

https://qiita.com/kiku_2005/items/3ddbca656521b9227c20


職場では電話が鳴り響く中、管理業務のほかに、月次資料の作成や色々な集計や報告の取り纏め業務も多くあります。とくに各支店から報告をもらい集計する作業はデータ量が多すぎるため、Excelシートを分割して報告をもらっています。そこでPower Automateを使用して集計＆報告作業を自動化してみました。今回は職場の中で１番集計や取り纏め業務が多い上司に「少し時間短縮出来るかもしれないのでやってみてもらえませんか？」と試作品を使用してみてもらいました。　　　　
（※職場内はセキュリティが厳しいため、サンプルを使用してもらいました。）


# 完成品



https://x.com/kiku_2005/status/1737616714932933101?s=20





# 使用ツール
・[Power Automate](https://learn.microsoft.com/ja-jp/power-automate)
・[Microsoft Excel](https://www.microsoft.com/ja-jp/microsoft-365/excel)



# 製作開始
## １. 集計や取り纏めたいExcelを準備する。
①支店合計表
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/d7226333-fd95-e343-8db7-812b51fdee17.png)
②A支店表
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/bc9d64d4-01fd-53cc-6df2-41aaea925aa5.png)
③B支店表
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/aa13a711-65fa-ba70-9b5a-059bef5fb06b.png)
③C支店表
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/d3195925-cda3-43e5-97f3-f3656bc5df30.png)





## ２. Power Automateの設定

Power Automateの公式ドキュメントです。


https://learn.microsoft.com/ja-jp/power-automate/

### フローの作成
* 新しいフロー名はわかりやすい名前で作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/ddead053-841f-50e9-f314-c1c9212c8d73.png)
* 自分のフロー`集計`が出来上がりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/f3852de5-721b-1852-606b-5f2972731c72.png)


<details><summary><b>詳細設定（折りたたみ）</b></summary><div>

①アクションから`Excelの起動`をMainにドラッグ、ドキュメントパスを指定し支店合計表を起動させる設定にして保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/d15870d0-f527-39f7-f87c-e20e3659146e.png)
②同じく、アクションから`Excelの起動`をMainにドラッグ、ドキュメントパスを指定しA支店表を起動させる設定にして保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/b94c37c5-3548-025a-c5e1-da965ad4f1e5.png)
③繰り返し、アクションから`Excelの起動`をMainにドラッグ、ドキュメントパスを指定しB支店表を起動させる設定にして保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/7115ad55-a97d-e5da-3e75-26c494ae66fa.png)
④同じくC支店も設定を保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/fac756b5-de9f-27fa-17ca-2f81b9b552a8.png)
⑤アクションから`Excelワークシートから読み取る`をMainにドラッグ、A支店表のExcelインスタンス、取得値、先頭列と行、最終列と行を設定し保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/936d45d6-53b4-d731-05f9-83e69b6678f3.png)
⑥同じく、アクションから`Excelワークシートから読み取る`をMainにドラッグし、B支店表のExcelインスタンス、取得値、先頭列と行、最終列と行を設定し保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/fa9dff56-0f12-2edf-f4ae-06ec6dd5b0a5.png)
⑦繰り返し、アクションから`Excelワークシートから読み取る`をMainにドラッグし、C支店表のExcelインスタンス、取得値、先頭列と行、最終列と行を設定し保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/c3c80e74-0c4a-5ab5-56bf-12bccf3de07d.png)
⑧アクションから`Excelワークシートに書き込む`をMainにドラッグし、支店合計表のExcelインスタンス、A支店の書き込む値、書き込むモード、列と行を設定し保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/b0b2a7f4-8c66-c219-1d9e-60182f50d2f9.png)
⑨繰り返し、アクションから`Excelワークシートに書き込む`をMainにドラッグし、支店合計表のExcelインスタンス、B支店の書き込む値、書き込むモード、列と行を設定し保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/132cd488-14cc-f4ee-5905-c1a5d95dcaf0.png)
⑩同じく、アクションから`Excelワークシートに書き込む`をMainにドラッグし、支店合計表のExcelインスタンス、C支店の書き込む値、書き込むモード、列と行を設定し保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/369340c2-3eae-f129-06d6-ad9de1cb06e9.png)
⑪アクションから`Excelを閉じる`をMainにドラッグし、支店合計表のExcelインスタンス、Excelを閉じる前の動作を設定し保存する。今回は集計作業なので、支店合計表のみ保存して閉じる設定とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/844b2bdf-0401-4640-80f1-745f443ba931.png)
⑫アクションから`Excelを閉じる`をMainにドラッグし、A支店表のExcelインスタンス、Excelを閉じる前の動作を保存しないに設定し保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/f0881fc7-b8f4-4feb-b330-32fe1d8bbe74.png)
⑬繰り返し、アクションから`Excelを閉じる`をMainにドラッグし、B支店表のExcelインスタンス、Excelを閉じる前の動作を保存しないに設定し保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/271017e3-6f92-eead-18bd-71bcc46dffca.png)
⑭同じく、アクションから`Excelを閉じる`をMainにドラッグし、C支店表のExcelインスタンス、Excelを閉じる前の動作を保存しないに設定し保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/794e2a3d-ce6e-d2d5-bab1-94d2715e67a7.png)
⑮実行ボタンを押すと自動的に一連の作業が自動化され、支店合計表の出来上がり。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/63187181-582a-950a-69e8-348fd715cb82.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570716/2b9548df-3215-710e-fd2b-6fbeb3db6fec.png)



</div></details>

※フローのソースコード
```ruby:qiita.rb
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''G:\\マイドライブ\\支店集計\\支店合計.xlsx.xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''G:\\マイドライブ\\支店集計\\A支店.xlsx.xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance2
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''G:\\マイドライブ\\支店集計\\B支店.xlsx.xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance3
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''G:\\マイドライブ\\支店集計\\C支店.xlsx .xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance4
Excel.ReadFromExcel.ReadCells Instance: ExcelInstance2 StartColumn: 5 StartRow: 2 EndColumn: 6 EndRow: 6 ReadAsText: False FirstLineIsHeader: False RangeValue=> ExcelData
Excel.ReadFromExcel.ReadCells Instance: ExcelInstance3 StartColumn: 5 StartRow: 7 EndColumn: 6 EndRow: 11 ReadAsText: False FirstLineIsHeader: False RangeValue=> ExcelData2
Excel.ReadFromExcel.ReadCells Instance: ExcelInstance4 StartColumn: 5 StartRow: 12 EndColumn: 6 EndRow: 16 ReadAsText: False FirstLineIsHeader: False RangeValue=> ExcelData3
Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: ExcelData Column: 5 Row: 2
Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: ExcelData2 Column: 5 Row: 7
Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: ExcelData3 Column: 5 Row: 12
Excel.CloseExcel.CloseAndSave Instance: ExcelInstance
Excel.CloseExcel.Close Instance: ExcelInstance2
Excel.CloseExcel.Close Instance: ExcelInstance3
Excel.CloseExcel.Close Instance: ExcelInstance4
```




# 使用してもらった感想
お忙しい中、ご協力頂いた上司に感想を伺いました。「すごっ！勝手に動いてる！早いじゃん！これならなんでも集計するの早くなるよね。」と大絶賛でした:v:
その後、設定方法を説明したところ色々とFBを頂きました。

:::note warn
・報告書式は各支店ともに決まった書式に合わせないといけない。
・各支店から報告をもらう際、書式を崩されないような指示が必要。
・同様の作業は自動化可能だが、イレギュラー対応は不可。
・設定方法を覚えられるか心配。

:::
実際に私も作成していて、まだ全然詳細を理解出来ておらず、高度な技までには至りませんでした。説明しながら、これからさらに勉強が必要だなーと実感しました。さらに精進していきたいと思います。


# 参考記事

https://qiita.com/tnsato4000/items/ccb788e003092b783936



ここまでお付き合い頂きまして、ありがとうございました。