複数のExcelファイルをPADで一つのExcelにまとめる

![スーパーマーケット 従業員による プロトタイピング (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/c802f503-042f-c373-c7a4-ad7e8f5c77b2.png)

皆さんこんにちは！スーパーマーケットの従業員によるゼロからのプロトタイピングチャレンジ第三弾です～
今回は・・・
# 売上管理表を自動で収集し手軽に確認できる！
の前段部分を作成しました。


https://twitter.com/yuuuuuichi69/status/1558516014291116033?s=20&t=_ZjS6CMuceojk125DMXiLg


# 経緯
私の管理する無人店舗や移動販売の売上確認は、既存のお店とは違いボタン一つで売上を収集できません。私含め担当者や部長が日々一つ一つ開いて確認している為、自動で収集されているものを各々が簡単に確認できるようなものを作りたくて、その前段なるものをPowerAutomateDesktopを使用して作成してみました。

# PowerAutomateDesktop
全体図はこちら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/288ab3f9-388a-1c9a-44fc-2bffa99c6854.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/d86700f9-3ad7-f28a-cc86-1fed3022fc57.png)
# PowerAutomateDesktopの中身フロー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/e69ef653-e94f-243a-bcea-69d7f5b051e3.png)

フローコードは
```markdown:FUNCTION Main_copy GLOBAL
    Display.SelectFileDialog.SelectFiles Title: $'''%ExcelData%%FirstFreeRowOnColumn%%CurrentItem%ファイル選択''' InitialDirectory: $'''C:\\Users\\yuich\\OneDrive\\デスクトップ\\新規事業売上\\無人店舗''' FileFilter: $'''*.xlsx''' IsTopMost: False CheckIfFileExists: False SelectedFiles=> SelectedFiles ButtonPressed=> ButtonPressed
    Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''C:\\Users\\yuich\\OneDrive\\デスクトップ\\新規事業売上\\無人店舗\\07無人売上本社まとめ.xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance
    LOOP FOREACH CurrentItem IN SelectedFiles
        Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: CurrentItem Visible: True ReadOnly: False Instance=> ExcelInstance2
        Excel.ReadFromExcel.ReadCells Instance: ExcelInstance2 StartColumn: 7 StartRow: 2 EndColumn: 9 EndRow: 2 ReadAsText: True FirstLineIsHeader: False RangeValue=> ExcelData
        Excel.GetFirstFreeRowOnColumn Instance: ExcelInstance Column: 2 FirstFreeRowOnColumn=> FirstFreeRowOnColumn
        Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: ExcelData Column: 2 Row: FirstFreeRowOnColumn
        Excel.SaveExcel.Save Instance: ExcelInstance2
        Excel.CloseExcel.Close Instance: ExcelInstance2
    END
END FUNCTION
```
①メッセージボックス　→　「ファイルの選択ダイアログを表示」
まとめるファイルの選択を行うためのフローです。選択させないで強制なら別フロー使用。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/f6f26199-f7fe-c268-3354-4922b43534f0.png)
②Excel　→　「Excelの起動」
新規ファイルに作成するのか、既存ファイルに抜き出すのかによって中身が変わります。
今回はベースに張り付けていくフローにしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/ce42b8a1-c624-25ba-b744-95f35d8c1c6f.png)
③ループ　→　「For each」
繰り返しの作業はループを使用して繰り返し指示を行う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/f547fb7c-5c04-5b11-4762-eb0e575d67a7.png)
④Excel　→　「Excelの起動」
日別ファイルを開く指示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/72c44aca-59dd-5dba-a530-e86516a48336.png)
⑤Excel　→　「Excelワークシートから読み取る」
開いたExcelから、セル値をすべて読み取ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/67a26744-4b36-cb44-bdbc-893ee1b7aacb.png)
⑥Excel　→　詳細　→　「Excelワークシートから列における最初の空の行を取得」
A列の最終行を取得します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/66972ec4-9758-6c8e-f253-707c50fbf714.png)
⑦Excel　→　「Excelワークシートに書き込む」
取得したセル値を書き込みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/32ec4287-05bb-a3cb-4a9c-6156631a87c8.png)
⑧Excel　→　「Excelの保存」
開いたExcelを保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/ef4a9049-2840-0915-fdc2-0a2c25778d00.png)
⑨Excel　→　「Excelを閉じる」
開いたファイルを閉じます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2717626/41400730-6e63-e287-a68c-a0d9c241cb83.png)
下記参考をにして作成しました。
**参考資料**

https://kirinote.com/pad-filejoin/
# 周りの評価
**上司**：現状のままだと社内PCでできないし、全く使えない。そもそも、システムに売上を簡単に抜けるようにしてもらうことも考えたほうがいい。と辛口コメントをいただきました・・・
**担当者**:最後の展開までたどり着けば端末で簡単に確認できるのでよさそうだが・・・逆に手間がかかる気がする。とこちらも辛口コメント・・・

# 今後の展開
本来であれば会社PCを使用し売上データ抽出から自動化したいところだが、規制がかかっているため抜き出したデータからの自動化にとどまっております。
今回は無人店舗の１店舗のデータをまとめるにとどまったが、店舗増やし、移動販売などでもできるフローにしていきたい。
また、**スプレットシート化　→　ドライブへ投函　→　Glide等**で携帯端末で見れる　もしくは　LINEでメンバーにのみ配信
を最終目標としたいと感じました。
まだ、できることは少ないが少しづつ挑戦していきます。

最後まで見ていただきありがとうございます！！！