Power Automateでデータ転記とファイル保存を自動化!
Business Efficiency Cost Reduction エンジニアブログ

Power Automateでデータ転記とファイル保存を自動化!

July 24, 2023

記事の監修

S.Sato

記事の監修


S.Sato

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

Contents

目次

こんなお悩みはございませんか?
サーバーの利用状況を示すCSVファイルが週1回システム担当者からメールで送付されてくるが、それを毎回手作業でExcelファイルに取り込んでグラフを作成するのが煩わしい。
基幹システムの売上データ(CSVファイル)を夕方にメールで受け取って、それからExcelファイルに手作業​で取り込んでデータ集計やグラフを作成し、明朝の営業会議までに準備する毎日の作業が手間である。
Excelの請求データを別の請求書のExcelファイルに転記する作業に追われて、特に月末などは他の仕事に手が回らない。
全てPower Automateで簡単に解決できます!

PowerAutomateで予めフローを設定すれば、受信したメールに添付されたCSVファイルのデータやExcelファイルのデータを、別のExcelファイルの指定位置へ転記し指定のファイル名を付けて特定の場所に保存する、というフローを一瞬で完了することができます。
例えば、サーバーの利用状況を示すCSVファイルや売上げデータのCSVファイルを、Excelファイル内の計算式によって自動計算し新たなExcelファイルを生成して別名で保存する、というフローを自動化できます。
また、Excelの請求データをフォーマットの決まった別のExcelファイルの請求書へ転記して希望の場所に自動的に保存することもできます。この場合、請求書のExcelファイルを保存する時にファイル名に日付を付けて自動的に保存することも可能です。
Power Automateで業務の自動化を行って、社内の業務改善を行ってみてはいかがでしょうか?
今回はファイルが添付されたメールを受信した時に、Share Point上に作成したExcelファイルに、添付ファイルのデータが自動で追加転記をされていくというフローの作成方法を具体的に紹介してきますね。
作成するフローの全体図
「Apply to each」の中
「Apply to each」の中(全行ループ)
事前準備

Excelファイルにtableが作成された状態の物をSharePointやOneDriveに作成し保存してください。​
今回はSharePointにファイルを作成し説明いたします。このファイルに添付ファイルの情報が記載されます。
ファイルの中はこの様なテーブルが作成されています。
1. Power Automate 新しいフローを作成
1-1. 「マイフロー」を選択

「Power Automate」を開き、「マイ フロー」を選択します。
my_flow
1-2. 「自動化したフロー」を選択

「新しいフロー」から「自動化したクラウド フロー」を選択します。
1-3. 「フロー名」を入力

「フロー名」に任意のフロー名を入力します。今回は、「メールの添付ファイルを自動保存」と入力します。 続いて「フローのトリガーを選択してください」に「outlook」と入力し、「新しいメールが届いたとき(V3) Office 365 Outlook」を選択します。入力内容に問題がなければ「作成」を選択します。 name_flow
2. 「新しいメールが届いたとき」の設定

「新しいメールが届いたとき(V3)」のアクションが表示されますので、「詳細オプションを表示する」を選択します。
action
詳細オプションを設定できますので、添付ファイル付きのメールが届いた時にフローが起動されるように、「添付ファイルを含める」を「はい」、「添付ファイル付きのみ」を「はい」に変更します。
また、特定の差し出し人からメールが届いた時にフローが起動されるようにするには、「差出人」に該当メールアドレスを入力したり、件名でフィルターをかけることができます。
詳細は「Learn 新しいメールが届いたとき (V3)」を参照してください。
arrive
3. 変数の作成
3-1. 変数「コンテンツ」の作成・変数「空白の削除」の作成
「+新しいステップ」を押下します。​
「コネクタとアクションを検索する」に変数と入力し検索結果の「変数を初期化する」を押下します。
変数に使用する名前を入力します。今回は名前を「コンテンツ」で作成します。
種類を「文字列」で指定します。値は無記入で問題ありません。同じ要領で「+新しいステップから」「変数を初期化する」、変数に使用する名前を「空白の削除」で作成します。
【補足情報】
■「・・・」からアクションの名前を変更する事が出来ます。フローが長くなる場合、同じアクションを使用する場合など、名前を付けて見分けがつくようにすると フローの修正などが行いやすくなります。
■「・・・」を押下し名前の変更を押下します。名前の箇所が記入出来るようになるので、アクションの名前を記入しエンターキーを押下します。

3-2. 変数「改行」の作成
「+新しいステップ」を押下します。​
「コネクタとアクションを検索する」に「変数」と入力し検索結果の「変数を初期化する」を押下します。
変数の名前を「改行文字」とします。種類は「文字列」を指定、値に一回だけ改行(リターンキー押下)をします。
3-3. 変数「列配列」の作成
「+新しいステップ」を押下します。​
「コネクタとアクションを検索する」に「変数」と入力し検索結果の「変数を初期化する」を押下します。
変数の名前を「列配列」とします。種類は「アレイ」を指定します。
4. 「添付ファイルの取得」アクション
「+ 新しいステップ」から「添付ファイルの取得」アクションを作成します。
作成すると「Apply to each」が自動的に挿入されますが、これは添付ファイルが複数だった場合に全て保存するようにするために自動で作成されます。
1.メッセージIDに動的なコンテンツの「新しいメールが届いたとき 」内に有る「メッセージID」を選択します。
2.同じ様に添付ファイルIDに動的なコンテンツの「新しいメールが届いたとき 」内にある「添付ファイルID」を指定します。
5. 「ファイルの作成」アクション
今回は作成先、保存先をSharePointで実装しますので、SharePointに添付ファイルのコピーファイルを作成します。
1.「+ 新しいステップ」から「ファイルの作成」アクションを作成します。
2.「サイトのアドレス」を、保存するサイトのパスにします。押下すると候補箇所がドロップダウンから選択できます。
「フォルダーのパス」に保存する箇所のパスを記載します。フォルダーのマークから指定していく事も可能です。
3.「ファイル名」にファイルの名前を記載します。(添付ファイルと同じにする場合は動的なコンテンツの「添付ファイルの取得」アクション内に有る「名前」を選択します。)
4.「ファイルコンテンツ」に動的なコンテンツの「新しいメールが届いたとき 」内に有る「コンテンツのバイト数」を選択します。
6. 「ファイルコンテンツの取得」アクション
「+ 新しいステップ」から「ファイル コンテンツの取得」アクションを作成します。
サイトのアドレスはコピーファイルを作成したサイトを指定します。
ファイル識別子に動的なコンテンツ、「ファイルの作成」内に有る「id」を選択します。
7. 変数「コンテンツ」に「ファイルコンテンツの取得」で得た情報を入れる
「+ 新しいステップ」から「変数の設定」アクションを作成します。
名前を押下すると、初期化した変数の名前がドロップダウンで表示されます。
「コンテンツ」を指定し、値に動的なコンテンツ、「ファイルコンテンツの取得」内に有る「ファイルコンテンツ」を選択します。
8. 変数「空白の削除」で「コンテンツ」の余計な空白の削除
「+ 新しいステップ」から「変数の設定」アクションを作成します。
名前を押下すると、初期化した変数の名前がドロップダウンで表示されます。
「空白の削除」を指定し、値を押下します。
=====
以下、式を入力します。
trim(variables(‘コンテンツ’))
=====
【補足情報】
■trim関数でコンテンツの前後に有る空白を削除します。
■式にtrimと入力、動的なコンテンツを押下し、変数「コンテンツ」を選択することでこの式を作成することが出来ます。
9. 変数「列配列」を改行させる
「+ 新しいステップ」から「変数の設定」アクションを作成します。
名前を押下すると、初期化した変数の名前がドロップダウンで表示されます。
「列配列」を指定し、値を押下します。
=====
以下、式を入力します。
split(variables(‘空白の削除’),variables(‘改行文字’))
=====
【補足情報】
■8.で作成された空白のないコンテンツを改行が内包された変数と合わせて分割させるようにします。
■式にsplitと入力、動的なコンテンツを押下し、変数「空白の削除」、「改行文字」を選択することでこの式を作成することが出来ます。
10. Apply to eachを作成し全行を改行させるようにループさせる
「+ 新しいステップ」から「Apply to each」アクションを作成します。
Apply to eachの「以前の手順から出力を選択」の値に「列配列」を選択します。
変数の設定アクションを作成し、名前に「列配列」を指定します。
=====
以下、式を入力します。
split(items(‘全行ループ’),‘,’)
=====
【補足情報】
■コピーファイルの全行に対してsplit関数を当てます。
11. 変数の値を表に入れる
「+ 新しいステップ」から「表を行に追加」アクションを作成します。
場所、ドキュメントライブラリ、ファイルは事前準備で作成したファイルの場所、ファイル名を指定してください。
作成したファイルを入れるとテーブルにExcel内に有るテーブルを選択できるようになります。
今回このExcelファイルに有るテーブルの情報は下記になり、それぞれに「列配列」の値を入れていきます。
申請者:variables(‘列配列’)[0]
メールアドレス:variables(‘列配列’)[1]
作業予定日:variables(‘列配列’)[2]
12. csvの不要箇所の削除
先の状態で入れるとファイルに申請者、メールアドレス、作業予定日も入力されてしまうのでこの行だけ削除します。
「+ 新しいステップ」から「行の削除」アクションを作成します。
場所、ドキュメントライブラリ、ファイルは事前準備で作成したファイルの場所、ファイル名を指定してください。
作成したファイルを入れるとテーブルにExcel内に有るテーブルを選択できるようになります。
「キー列」に値のキーとなる情報をドロップダウンから選べるので指定します。
今回は「メールアドレス」を指定しました。
「キー値」に削除する行の値を入力します。メールアドレスの列にメールアドレスの表記が有る行を削除したいので、「メールアドレス」を指定します。
13. 作成したフローの保存
設定が完了したら「保存」を選択します。
14. テストのやり方

保存が完了したら、動作確認をするため「テスト」を選択します。
14-1. 「フローのテスト」の設定

フローのテストを「手動」を選択して、「テスト」を選択します。
14-2. テストの待機状態

メールが送信されるまで待機する状態になります。
14-3. テスト実行

作成したフローが問題なく動作しているかテストをしてみます。
宛先に自分のメールアドレスを指定し、csvファイルを添付、メール送信をします。
添付ファイルはこちらを使用します。
14-4. フローの実行結果

メールが送信されると、先程待機状態だったフローが実行され、「ご利用のフローが正常に実行されました。」と表示されればフローの作成が完了です。
14-5. 結果

「SharePoint 」の「メールの添付ファイル自動保存先」フォルダを確認すると、メールに添付されたファイルが保存されていることが確認できます。
事前準備で作成したファイルにcsvファイルの情報が記載されていることが確認できます。
補足.二つ添付した場合
二つ添付された状況で送信すると先に添付したファイルの情報が先に反映されます。※csvの行の名前が異なる場合、行の削除を新たに作成する必要が有ります。
「tesu1.civ」と「tesu-コピー.csv」の二つを送ります。一つは内容を変えずもう一つの内容を下記画像の物にします。
結果が下記内容になります。
Ranking

ランキング

Business Efficiency

April 5, 2021

SharePointとは?SharePointの機能や使い方を徹底解説!
SharePointとは?  SharePointとは、マイクロソフト社が提供する企業向けのファイル共有・コラボレーションを行うためのサービスです。  SharePointと比較されるサービスとして、マイクロソフト社が提供するOnedriveがあります。  どちらもファイル共有サービスですが、違いを簡単に述べるとすれば、SharePointは組織向け、OneDriveは個人向けのサービスです。  また、SharePointはポータルサイト(チームサイト)を作成できます。  部署やチーム、プロジェクト毎にファイルや情報を管理する場合により効果を発揮します。  そのためSharePointはビジネスの現場で広く利用されています。 ShrePointでできること  SharePointでできることについてご紹介します。 ポータルサイト(チームサイト)の作成 SharePointでは、チームや部署、プロジェクト毎にポータルサイト(チームサイト)を作成することができます。  作成したポータルサイト上では、情報共有や共同作業を行うことができます。  チームで共有したい情報はポータルサイト上に共有することで、複数人宛に情報を共有することができます。そのため業務効率化に繋がります。  ポータルサイトは、予め特定のビジネスニーズに合わせて設計されているテンプレートが用意されているので、そこから簡単に作成することができます。  チームの特色や業務内容に合わせてカスタマイズすることも可能です。  ポータルサイトは簡単に作成することができ、情報共有を効率化することができます。  ドキュメント管理 SharePointでは、ポータルサイト上で様々なドキュメントや画像などを管理することができます。  マイクロソフトの高品質なセキュリティ対策を活用し、契約書などの重要書類もSharePoint上で管理する企業も増えています。  SharePointでは、ポータルサイトで安全かつ効率的にドキュメントを管理することができます。  ワークフロー SharePointでは、業務フローを自動化することができるワークフローの構築ができます。  例えば、特定のフォルダからファイルが削除された場合は、承認者に承認メールを送信、承認者の承認を得られたらファイルが削除される、といった仕組みです。  このようなワークフローを構築することで、重要なファイルが誤って削除されるミスを防止することができます。  ワークフローを設定することで、日々の業務効率化や誤操作の抑止をすることができます。  モバイルアプリが利用可能 SharePointは、PCだけでなくスマートフォンからもアクセスすることができます。  SharePoint Onlineのモバイルアプリをインストールすることで、自宅や外出先などからでも簡単に情報にアクセスすることができます。  これにより時間や場所を選ばず、いつどこからでも必要な情報にアクセスすることが可能になります。  SharePointの強み SharePointの強みについてご紹介します。 Microsoft製品とのシームレスな連携 SharePointは、マイクロソフトが提供するSaaSのサービスです。  マイクロソフトが提供するその他のサービスとの親和性が高く、連携を行うことでより業務効率化を実現することができます。  例えば、Teamsと連携すればTeams上でファイルを管理することが可能になります。  他にも、Outlookと連携することでスケジュールの共有なども可能になります。  このように、SharePointはマイクロソフト製品との親和性が高く、連携も簡単にできる点が大きな強みです。  万全のセキュリティ対策 SharePointは、マイクロソフトが万全のセキュリティ対策を行っています。  また、管理者はユーザーのアクセス権をコントロールすることができます。  ユーザー毎に適切なアクセス権を付与することで、外部に対するセキュリティ対策に加え内部対策も行うことができるので、より厳重なセキュリティ対策を行うことができます。  SharePointは、マイクロソフト社によるクラウドサービスに対する最適なセキュリティ対策を行っているので、ユーザーは安心してサービスを利用することができます。  バージョン管理 SharePointでは、ドキュメントのバージョン管理をすることができます。  バージョン管理とは、ドキュメントに対する変更履歴を記録するものです。  例えば、SharePoint内のWordファイルを修正した場合、修正前の状態を記憶します。  これにより、修正したWordファイルを修正前の状態に復元することも可能になります。  要するに、SharePointが自動でバックアップをとってくれているということです。  もし、誤ってファイルを修正したり削除したりしてしまってもバージョン履歴から復元できるので安心です。  バージョン管理によって、ユーザーの誤操作にも対応することが可能です。  SharePointの導入方法 SharePointの導入方法についてご紹介します。 SharePoint Online SharePointを単体で利用したい場合は、SharePoint Onlineを契約することで利用することができます。  […]
営業/マーケティング支援

November 18, 2020

Microsoft Dynamics 365とは?その概要を分かりやすく徹底解説!
Dynamics 365とは? Dynamics 365とは、Microsoft が提供するビジネスアプリケーションです。  Dynamics 365は、企業活動を効率的に進めるために必要な業務システムを統合的に提供しています。  Dynamics 365がカバーする領域は様々で、CRM、SFA、ERP、マーケティング、顧客サービスなど、幅広い領域をカバーしています。  Dynamics 365が提供するこれらの機能により、生産性向上や業務効率化の実現をサポートします。  Dynamics 365の強みや導入メリット? Office 製品との連携 Dynamics 365の大きな強みの一つが、 Office 製品との連携が容易にできる点です。 同じ Microsoft 製品ですので 、Microsoft 365を導入していれば、そのアカウントで Dynamics 365を利用することができます。 Microsoft 365のポータル画面上からアクセスすることが可能なので、他の Microsoft 365製品との使い分けも容易にできます。 Outlook の予定表との同期や、SharePoint同期機能を使って、Word, Excel, PowerPoint などのドキュメントを一元管理することができます。 これまで、バラバラに保管していた見積書、注文書、請求書などシステム上で一括管理することもでき、ペーパーレス化の実現もできます。 豊富な導入実績 Dynamics 365は、世界中の様々な規模や業種の企業に導入されています。 その数は、2019年6月時点で約196か国22万社に導入されています。 世界的な企業である Microsoft 社が提供していることもあり、システムに対する信頼度も高く、近年では、三菱地所、住友不動産、森ビル、大東建託、日立など多くの日本企業も導入に踏み切っています。 大手企業のみならず、近年では中小企業の導入も増えており、企業規模や様々な業種の垣根を超えて利用されています。 自社に合わせたカスタマイズが可能 Dynamics 365は様々な業種の企業に導入されています。 その理由の一つがカスタマイズの自由度が高いことです。 多くのSaaS系の業務システムは、既に用意された機能を使って運用していくため、業種によっては必要な機能が不足しているといったこともあるでしょう。 しかし、Dynamics 365では、 Microsoft Power Apps を使うことでノンコーディングでカスタマイズすることができます。コーディングなどの専門知識がないユーザーでもカスタマイズすることが可能です。 自社でカスタマイズを行うことに不安がある場合は、Dynamics […]
Business Efficiency

September 29, 2020

仕事の時短を実現する!エンジニアが教える圧倒的な仕事時短術!
業務効率化とは 業務効率化とは、少ない労力で仕事の生産性をあげることです。 要は、今まで1時間かかっていた仕事を30分で終われるようにすることです。 そうは言っても、そんな簡単なことではありません。 「日々の業務に一生懸命取り組んでいるし、これ以上どうすればいいんだ」 そんな風に感じている人もいると思います。 でも日々の業務を見直せば、誰しも少なからず業務効率化できる部分があります。 そして、最近では業務効率化を手助けしてくれる様々な便利アプリやツールがあります。 今日は、そんな難しい業務効率化を実現できる方法を、現役エンジニアも実際に使っている便利アプリなども含めてご紹介します。 タスク管理 業務効率化と言ってまず最初に見直すべきポイントが、このタスク管理です。 しかし、多くの人は「タスク管理なんて毎日やってるよ」と思っているかもしれません。 そうです。タスク管理は必ず毎日行うものです。 だからこそ、そのタスク管理の方法を見直すことで日々の業務効率化に繋がります。 では、具体的にどうすれば良いのでしょうか。 まずは、その日のタスクと今後のタスクを「目に見える形」にして洗い出すことです。 その際のポイントは、優先順位とざっくりとした所要時間を割り出すことです。 優先順位は、緊急度と重要度を縦軸と横軸に設定し、割り振っていきます。 そして、洗い出したタスクを処理するのにかかるであろう時間を割り出します。 その際のポイントは、緊急度や重要度の指針にしたがってかける時間を設定すること、そしてまずは全てのタスクが就業時間内に終えられるように設定することです。 そうすることで、これから取り掛かるタスクの重要度とそれにかけられる時間を可視化することができます。 例)スパイスカレーを作る場合 例えば、あなたがシェフ見習いだとして「明日のランチまでに」本格スパイスカレーを作るようにシェフから指示を受けたとしましょう。 条件として、本格なスパイスカレーの調理は今回が初の試みで、またスパイスの調達が必須とします。 その際の調理開始までのタスクは以下のようなものがあると思います。 レシピの調査・作成 → 使えそうな具材のチェック → スパイスの調達・必要な具材の調達と仕込み → 自分なりのアレンジを考える 緊急かつ重要なタスク 最も緊急かつ重要なタスクは、「レシピの調査・作成」です。 今回、スパイスカレーは初めて作るので、必要な食材、工程を知るためにもレシピの確認を優先的に行う必要があります。 レシピを知ることは、タスクの洗い出しです。 また、レシピの調査から「スパイスの調達」は、スーパーには売っていないものなどは早めに調達方法を調べる必要があることに気付がつくことができます。 ですから「スパイスの調達」も、緊急かつ重要なタスクと言えすぐに対応すべきです。 これらの所要時間はおよそ1時間くらいに設定しましょう。 緊急だが重要度は低いタスク 緊急だが重要度は低いタスクは、「使えそうな余り物の具材のチェック」です。 このタスクでは使えそうな余り物が冷蔵庫にないかどうかチェックします。 余り物で使えそうな具材を調べることはレシピを作るためにすぐに知る必要がありますが、最悪調達すればいいのでそこまで重要度の高いタスクではありません。 所要時間はおよそ15分くらいに設定しましょう。 緊急ではないが重要なタスク 緊急ではないが重要なタスクは、「具材の調達」や仕込みなどです。 レシピの調査から、スパイス以外の具材は、スーパーなどで簡単に手に入ることがわかりました。 スパイス以外の具材は明日の調理開始までに調達できればいいので、緊急ではありませんが必ず必要なので重要なタスクです。 また具材の仕込みも必ず必要なので重要なタスクです。 優先順位は上記の二つよりは低いが、仕込み時間などもしっかりと計算した上である程度余裕を持って取り組むべきタスクです。 所要時間はおよそ3時間くらいに設定しましょう。 緊急でもなく重要でもないタスク 緊急でもなく重要でもないタスクは、自分好みのアレンジを探したりすることです。 これは時間があれば対応すれば良いことなので、特に緊急でも重要でもありません。 上記のタスクが完了し、時間があれば対応しましょう。 […]

ビズウインドでは、 様々な課題でお困りの お客様に対して、 無料相談を実施しております。

無料相談に申し込む