Power PlatformとAppSheetのアレコレ蓄積ブログ

【Power Automate】Formsの回答状況を自動で収集する<#001>

やりたいことFormsで回答済かどうかをアンケート対象者別に収集したい
使うアプリ  
改善効果回答結果を出力し未回答者を抽出する作業が無くなる(約15分削減/回)
パッケージあり
いいね数
対象者一覧を作成するのに時間がかかるかもです

手順

アンケート対象者Excelファイル作成

アドレス帳から作る

Formsアンケート作成

Power Automate回答収集フロー作成

Formsで回答があった時にExcelを更新するフローを作る

Power Automateの基礎的な操作が分からない方は以下をご参照ください。

Step.1 アンケート対象者Excelファイル作成

Step.1-1 アドレス帳から対象者一覧を取得

まずはOutlookのアドレス帳から、対象者一覧を作ります。情シスや人事に依頼しないで済む方法です。

こちらのページを参照いただき、アドレス帳から対象者のメールアドレス一覧を取得してください。

必須項目
  • メールアドレス
任意項目
  • 氏名
  • 会社名
  • 部署名
  • 課名
  • 役職
メールアドレス単体で記載が無い場合

アドレス帳の作りによっては、メールアドレス欄に値が無く、表示名等の一部にメールアドレスが記載されているパターンがあります。

こんなパターン

こういった時は関数を使用してメールアドレスのみを抽出してあげます。

横に1列追加し、例えばこんな関数を入れてみます。

コピーしました!

Excel関数
=IFERROR(MID(CE2,FIND("(",CE2)+1,FIND(")",CE2)-FIND("(",CE2)-1),"対象無し")

実際に使用するときは、セル番地と()の部分を対象に合わせ変更してみてください。

Step.1-2 Power Automateで使用するExcelファイル作成

Step.1-1 で取得した一覧を用いて、Power Automateで使用するExcelファイルを作成します。

こちらのファイルをダウンロードしていただいても大丈夫です。すぐに使えます。

新規で作成する場合は、以下の手順でExcelファイルを作成してください。

Excelファイルを新規で作成し、1行目に下記の文字列をコピぺします。

A列B列C列D列E列F列G列H列
mailnamecompanydepartmentdivisionpositionstatusdate
1行目の文字列

次に、A1セルを選択した状態で、「挿入」⇒「テーブル」でテーブルを追加します。<先頭行をテーブルの~>にチェックを入れ、「OK」します。

こんな感じになればOK

あとは、Step.1-1で取得した一覧をコピぺしていけば、アンケート対象者Excelファイルの完成です。

status・dateについては、この後のPower Automateで使用する項目なので、入力不要です。

Step.1-3 作成したExcelファイルをTeamsのチームに保存する

今回は分かりやすく、チームにファイルを保存します。関連するチームにファイルを保存するといいでしょう。

自分がアクセスできるチームならどこでも大丈夫です

Step.2 Formsアンケート作成

今回の主旨ではないので手順は割愛します。まだ作られてない場合は作っておいてください。

作り方を紹介しているサイトのリンクを貼っておきます。こちら

Step.3 Power Automate回答収集フロー作成

フローダウンロード&修正箇所

フローのパッケージは以下からダウンロードすることが可能です。また、インポート手順はこちらを参考にインポートを行ってみてください。1からフローを作らなくてもいいので、非常に効率的です。

また、インポート後の修正箇所を簡単に説明します。ここだけ変えればとりあえず動くだろうという箇所です。

修正対象のステップ

①FormsのフォームIDの変更

[×]で削除してから、別で作成したFormsのアンケートを指定しなおしてください。

②行の更新変更

各項目[×]で削除してから、Excelファイルを指定しなおしてください。

以上です。これでフローは動きますが、以降は各ステップの詳細を説明しています。必要な方のみご覧ください。

各ステップの説明

全体のフローは以下の通りです。

ステップごとに説明していきます。

Step.3-1 全体

Step.3-1-1 新しい応答が送信されるとき

Step.2で作成したFormを選択します

Formsで回答があった時にこのフローが起動してくれる設定です。

Step.3-1-2 応答の詳細を取得する

フォームIDを指定し、応答IDを選択します

Formsの回答結果詳細情報を取得しています。(回答の中身や回答者情報等)

Step.3-1-3 現在の時刻&タイム ゾーンの変換

書式設定文字列は、カスタム文字列にて[yyyy/MM/dd(ddd) HH:mm:ss]をセットします
他は画像の通りにセットします

現在の時刻(Forms回答日時)を取得し、日本時間に変換しています。表示形式については、こちらで詳しく説明されています。

Step.3-1-4 行の更新

Step.1で保存したExcelファイルを指定します
キー列は[mail]、キー値は[Responder’s Email]、statusに[OK]、dateに[変換後の時間]をセットします

このステップについてもう少し詳しく

Forms回答者のメールアドレスでExcelのmail列を検索し、該当した行のstatus列に「OK」という文字と、date列にForms回答日時を入力する設定をしています。

例:r-shima@xxx.co.jpが2023/08/08 9:48にFormsで回答した場合、2行目のG列に「OK」、H列に「2023/8/8 9:48」が入力される

 r-shima@xxx.co.jpが回答

実運用時に気を付けること

  • Formsでは「名前を記録」の設定が必要(匿名不可)
  • Formsで複数回答可能にしていた場合、最後の回答日時が入力される
  • 対象者一覧に漏れがあると成立しない
  • Excelの1行目や「OK」等はなるべく半角を使う(予期せぬエラー回避の為)

次回は、未回答者にリマインドメールを送信するフローを作ります。

本記事で参照させていただいたサイト様

いつも大変参考になる情報をありがとうございます。

この記事は参考になりましたか?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA