まとめ作業はお任せ！！PowerAutomateDesktopで複数のExcelシートを１枚に

こんにちは。
私はスーパーマケットの商品部で仕事をしています。
最近、デジタルの勉強を始め、デジタルを活用し新しいことができることに
日々感動と驚きの毎日を過ごしています。

今回は部署メンバーを巻きこみ**業務課題***の解決を図ります。
今回はバイヤーとパートさんに関係するチラシなどの特売明細を自動で１枚にまとめられるよう***PowerAutomateDesktop**を使用し課題解決にチャレンジしてみました。
自部署では、各バイヤーからメールで送られてくる特売明細をパートの方が１枚の書式にまとめ、店舗に開示したり（部門で決めている専用フォーム）、発注やＰＯＰ申請を行っています。この１枚にまとめる際に、最大でバイヤー5名から複数アイテムの依頼があります。バイヤーによってフォームが微妙に異なってる場合があるためそのままコピーして貼ることができません。依頼のあったシートをまとめるのに20分、確認作業で10分使用しています。日付を間違ってしまったり、原価や売価の欄が１行ズレてしまったりと慎重になるため以外に時間を費やしています。この作業を**自動化**し、登録や確認作業に時間を使用していけると良いと思います。

作成したものはこちら
-

バイヤーから送付されてくる販促情報が記載されたExcelを自動で1枚のExcelにまとめます。
Ａシート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/8f77ea52-5d1e-9dcc-74e2-ef31cd764982.png)
Ｂシート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/24a659c8-7e44-3b9c-72a7-d50d2589fabb.png)
ＡシートとＢシートを1枚にまとめまたものがこちら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/4b95da63-c42b-df7e-18d7-77be0352111a.png)
実際にまとめる様子
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a> <a href="https://twitter.com/hashtag/PowerAutomateDesktop?src=hash&amp;ref_src=twsrc%5Etfw">#PowerAutomateDesktop</a><br>第一段階～ <a href="https://t.co/OOOqblbeud">pic.twitter.com/OOOqblbeud</a></p>&mdash; 勝又慎司 (@KatsumataS80528) <a href="https://twitter.com/KatsumataS80528/status/1651255429769617414?ref_src=twsrc%5Etfw">April 26, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

使用するもの
-
・PowerAutomateDesktop
・Excel

作り方
-
1、情報が入力された複数のExcelを用意します。
2、PowerAutomateDesktopで複数のExcelデータを１つのExcelにまとめます。

**全体フロー**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/ea48e2b5-b8ca-3385-17df-516498c118e5.png)
**フローのソースコード**
```
Display.SelectFileDialog.SelectFiles InitialDirectory: $'''C:\\Users\\katsumata-shinji\\Desktop\\チラシ''' FileFilter: $'''*.xlsx''' IsTopMost: False CheckIfFileExists: False SelectedFiles=> SelectedFiles ButtonPressed=> ButtonPressed
Excel.LaunchExcel.LaunchUnderExistingProcess Visible: True Instance=> ExcelInstance
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: CurrentItem Visible: True ReadOnly: False Instance=> ExcelInstance2
Excel.ReadFromExcel.ReadCells Instance: ExcelInstance2 StartColumn: 1 StartRow: 1 EndColumn: 32 EndRow: 32 ReadAsText: False FirstLineIsHeader: False RangeValue=> ExcelData
Excel.GetFirstFreeColumnRow Instance: ExcelInstance2 FirstFreeColumn=> FirstFreeColumn FirstFreeRow=> FirstFreeRow
Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: ExcelData Column: 1 Row: 1
Excel.CloseExcel.Close Instance: ExcelInstance2

```

1.ファイルの選択ダイアログを表示
初期フォルダを選択します。
ファイルフィルターを「.xlsx]に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/60d79f4c-2cd4-7e27-b852-cd971d1afafd.png)
2.Excelの起動
Excelの起動で「空のドキュメントを使用」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/eb59f943-be0d-69a7-de00-282a0ed8da22.png)
3．For eachの設定
パラメーターの選択から反復処理を行う値を「SelectedFiles」にします。
前後に必ず「％」を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/778b79af-08bc-a143-2c40-8bfb83457f52.png)
4.Excelの起動
Excelの起動で「次のドキュメントを開く」を選択
ドキュメントパスを「CurrentItem」に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/89fbf87c-87bd-b867-7ec7-e6bd3644e10e.png)
5.Excelワークシートから読み取る
Excelインスタンスを「ExcelInstance2]に設定します。
取得に「セル範囲の値」を選択し、読み取る行列範囲を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/be189189-9ce5-b090-e9c9-c1a853a06831.png)
6.Excelワークシートから最初の空の列や行を取得
Excelインスタンスに「ExcelInstance2」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/3dcf246c-bd4e-44fa-4f59-f83e25979d68.png)
7.Excelワークシートに書き込む
Excelインスタンスに「ExcelInstance」を選択します。
書き込む値を「ExcelData」にします。
書き込みモードで「指定したセル上」で列と行を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/05e6382f-c7cc-1b41-8c50-a0af1d468a62.png)
8.Excelを閉じる
Excelインスタンスに「ExcelInstance2」を設定します。
Excelを閉じる前に「ドキュメントを保存しない」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/37daa505-398a-4e3b-a4f0-051d6bb6d5d9.png)
以上で完成になります。

実際に使用してもらおう
-
今回は直属の上司であるＫ部長・パートの方に使用してもらいました。
使用する前に「現在、自部署では複数のExcelを1枚にまとめる作業が多く、この作業を正確で速くできるようにPowerAutomateDesktopを使用し改善を図りました。」と説明。あわせてPowerAutomateDesktopはフォルダの中にあるファイルを自動で仕訳けたり、自動でメールの送信やメールで送られてきたファイルを自動で保存できますという説明を画面を見ながら行い、感想やご意見をいただきました。

**感想・ご意見**
Ｋ部長

:::note info
この速さで処理できる点はすごいと思う。複数の作業を１度にまとめてできる点は非常に便利。並び順まで１回で変更できるとさらに良い。他の業務でも改善できるよう挑戦してもらいたい。気をつけなければいけないことは、このツールを使用するために自動化できるものを探しに行ってしまっては意味がなくなってしまうので、自分が行っている作業や周囲の作業をしっかり観察し、効率や課題を解決していくかということが重要なこと。自動化した際の最終形態をどのようにイメージできるかが重要になる。そこをしっかり考えて使用できれば、業務課題の解決と効率化につながる。
:::

パートさん

:::note info
1枚に簡単にまとめられて便利。今までまとめる際に転記の間違いがないかなど非常に意識していた。その部分を考えなくて良くなるので気持ちも少し楽になる。ファイルも確認できるので漏れがないかを気を付け、大幅に作業時間が短縮できそう。
:::

最後に
-
今回も身近な業務で課題の解決に挑戦しました。
ご意見でいただいた「並び順」は調べてみましたが、今の私には難しそう。もっと調べてみたいと思います。
感想やご意見をいただいたなかで、もっと業務の深堀りしていかなければいけないと感じました。
ご意見の中に「**最終形態のイメージをどのようにするのか**」をしっかり考えていかなければいけないと感じました。自動化で便利になる一方で、根本の考え方をしっかりつかんでいくことも大事なことだと思います。なぜその業務を行うのかがしっかりつかめていると自動化に結びつけやすくなる。いろいろ試すなかで、新しい発見と可能性が広がると思います。さらなる業務課題改善にむけ期待が膨らみました。
最後まで読んでいただきありがとうございます。