

記事の監修
S.Sato
記事の監修
S.Sato
マネジメント&イノベーション事業部 開発部/2グループ グループマネージャー
資格:Microsoft Office Specialist Master 2007、ITパスポートなど
2022年よりMicrosoft365とPowerPlatformの案件を担当。
それ以前は業務・Web系システムを要件定義からリリースまでの開発に従事。
IT業界歴15年の経験を活かし、PJを牽引し後続の育成にも力を注ぐ。
趣味は散歩で、思考が煮詰まった際には、近所の緑道を散歩し、新たな発見や自然からのインスピレーションを受けている。
Contents
目次



自動的に更新されるので、常に新しい情報が確認できるため、作業量が削減され、業務の効率を上げることもできます。
では、どのように作成するのか、実際の方法を見ていきましょう!
1. はじめに
まず、前提としてSharePointリストには標準でExcelにエクスポートする機能があります。
特別な要件がなければ標準の機能を使用することをおすすめします。
今回ご紹介するのは標準のエクスポート機能では満たせない要件のためのものです!
例えば、SharePointリストで1ヶ月分の交通費を申請している会社があるとします。
SharePointリスト上では申請した社員が一覧表示されており、エクスポート機能を使用することで一覧表示されている社員の申請情報をExcelに出力することができます。
しかし、申請した社員を一人ずつエクスポートしたいときは、手動で社員ごとにフィルタリングをかける必要があり、作業工数もかかってしまいます。
また、エクスポートを行うには必ず自分で操作する必要があったり、手動でフィルタリングを行ったりすることはヒューマンエラーのもとになります。
Power Automateを使用することで業務の効率化やヒューマンエラーを防ぐことができます!
2.今回作成するフローの要件
今回作成するフローでは、
・SharePointリストに交通費申請のアイテムが追加されたときに自動でExcelファイルに転記してほしい。
・そのExcelファイルには申請者のこれまでの申請履歴を一覧で表示させたい。
・申請者のExcelファイルが存在しない場合も自動で作成と転記がされるようにしてほしい。
といった要件を解決していきます!
手動で作業している部分を省略し、工数削減とヒューマンエラーの防止を目標に作成していきます!
2-1. フローの全体像
今回使用するフローの全体像は下記になります!
このような短いフローで今回の要件を満たすことができます。

2-2. フローの流れ

①トリガー:SharePointリストにアイテムが追加されたときにフローを起動させる。
②アクション:SharePoint上のフォルダー内のExcelファイルを取得する。(後に条件分岐するために使用する)
③アクション:②で取得したExcelから申請者のExcelファイルが既に存在するかどうかの条件分岐に使用する。
④アクション:③で申請者のファイルが既に存在するかどうかの判定を条件分岐させる。この判定の結果は以下
もし既にファイルが存在していればそのExcelファイルを編集する。
存在しなければ、つまり初めて申請した人については新しくExcelファイルを生成する。

⑤アクション:申請者のExcelファイルに登録された情報を転記する。
⑥アクション:新しくExcelファイルを作成するためにテンプレートファイルを取得する。(次に複製とリネームをするため)
⑦アクション:⑥で取得したファイルコンテンツを使用し、新しい申請者のExcelファイルを作成する。
⑧アクション:⑦で作成したExcelファイルに申請者の登録された情報を転記する。
2-3. フローを作成する事前準備
下記のようなテーブルを作成したExcelファイルとSharePointリストに追加するアイテムの各列を用意しておきます。
このExcelファイルは、申請者が初めて申請したときに新しく作成するために使用します。
また、今回はなるべく簡潔なフローを作成するために登録する情報は少なくしていますが、それぞれの要件に合わせてSharePointリストの列とExcelファイルのテーブルを作成してください。

3.フローを作成する
今回作成するフローでは、SharePointリストに交通費の申請を行ったときに自動でフローが起動されます。
申請者が以前に交通費申請をしていた場合は前回作成したExcelファイルを編集します。
交通費申請をしたことがない申請者の場合は新しくExcelファイルを作成し、そのファイルを編集します。
次回以降は、新しく作成されたExcelファイルが編集されます。
各Excelファイルには申請者自身のこれまでの申請履歴を一覧することができるようになります!

3-1. トリガーを作成する
Power Automateでフローを作成するには必ずトリガーを決める必要があります。
①で指定したSharePointリストにアイテム作成されたときや変更されたときにフローが起動します。
②では、現在すでに作成されているファイルをすべて取得します。出力先のファイルがあるフォルダパスを指定します。

3-2. 一覧したファイルから申請者を探す
③のアレイのフィルター処理では、②で取得したすべてのファイルから申請者の名前があるファイルを探し出します。
④のDisplayNameには②で取得したファイルの全ての名前が格納されています。
⑤には①でトリガーされた申請者の名前が格納されています。
次に④のファイル名の中に⑤の申請者の名前でフィルタリングを行います。

3-3.ファイルの存在有無を判定する
⑥の条件分岐を使用し、申請者のExcelファイルが既に存在するか否かを判定します。
⑦で使用しているLength関数は③でアレイのフィルター処理の結果、何件の値が存在しているかを返します。
Length関数で帰ってきた件数が0と「等しくない」かを判定します。
⑦の値が1以上の場合はTrueとなり、⑦の値が0の時にFalseとなります。

3-4.既に存在している申請者のファイルを編集する
申請者の名前のExcelファイルが既に存在している場合はそのファイルを編集します。
①は今回申請した人の名前のExcelファイルを指定しています。
②では、Excelファイルに存在するテーブルの各列名を指定します。
③では、SharePointリストに申請した値が入力されるため、各列の項目を指定します。

3-5.ファイルがまだ存在しない場合、Excelファイルを新規作成する
条件判定でFalseになったとき、つまり申請者のファイルがまだ存在しなかったときに以下のアクションが有効になります。
①でSharePoint上にあるテンプレートファイルを取得します。「交通費申請_.xlsx」がテンプレートファイルになります。
次に②で新しくファイルを作成します。
ファイル名には申請者の名前をファイル名に指定します。
ファイルコンテンツには①で取得したファイルの「本文」を指定します。

3-6.新規作成したExcelファイルに情報を転記する
③にて先ほど新規作成したファイルのフルパスを指定します。フルパスを指定することで先ほど作成されたファイルを選択することができます。
④では「2-4」で行ったものと同じくExcelファイルのテーブルの各列を指定します。
同じく⑤もSharePointリストに登録された情報が記入されるように指定します。

まとめ
以上がフローの作成方法になります。
このフローはSharePointリストにアイテムが追加されるたびに常に申請者のExcelファイルに追加するため、最新のファイルを参照することが可能になります!
今回はわかりやすくするためにシンプルな要件で作成しましたがこれらのフローを応用することで様々な要件に対応することができるかと思います!
最後までご精読いただき、ありがとうございました。

Microsoftを導入して
コスト効率をよくしたい

Microsoftに関して
気軽に聞ける相談相手が欲しい

Microsoftを導入したが、うまく活用できていない・浸透していない

社内研修を行いたいが
社内に適任者がいない
Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。