Formsの回答をExcelに自動で転記する
解決できる課題
アンケートや日報の回答を、手作業でExcelに転記していませんか? ・フォームの回答が来るたびに、手作業でExcelにコピペ ・回答の件数が多く、転記ミスや漏れが発生しやすい ・リアルタイムな集計ができず、データの分析が遅れる このレシピを使えば、そんな面倒な作業から解放されます。 Microsoft Formsに回答が送信されると、Power Automateが自動でその内容を取得し、Excelの指定したシートに行を追加します。 このフローを設定することで、手作業でのデータ入力がゼロになり、リアルタイムで最新のデータが反映されるため、常に正確な情報を基に分析や集計を行えます。
完成イメージ

必要なもの
Forms コネクタ
Excel コネクタ
作り方
Formsは、基本機能として回答をExcelに集約する機能を持ちます。
ですが、基本機能ではそのExcelを開かなければ、回答はExcelへ反映されません。
Power Automateを使えば、Excelを開かず、最新の回答を反映できます。
- 1. Formsを作成
まずは、Formsを作成します。
ここで、Formsで作成した質問項目は、回答を転記するExcelのテーブル項目にします。
※このタイミングで、事前にExcelも用意し、テーブル作成までしておくとスムーズです
Excelのテーブル作成は、対象のセル範囲を選択し、挿入→テーブルを実行します
テーブル名を分かりやすいものにしておくと良いです(テーブルデザインから変更可)
テーブル作成時、先頭行は項目にしてください(後工程で使用します)
イメージのわかない方は、ページ最後に完成したExcelの画像があるので、確認してください

- 2. トリガー「新しい応答が送信されるとき」を設定
ステップ1で作成したFormsを選択します。
トリガーはフローの起点に使うので、Formsの回答取得は次のステップで設定します。

- 3. アクション「応答の詳細を取得する」を設定
[フォームID]は、ステップ2と同じものを選択します。
[応答ID]は、「応答ID」を選択します。

- 4. アクション「表に行を追加」を設定
[場所]は、自分のOneDrive以外に、SharePointで管理しているExcelも指定できます。
[テーブル]は、Excelで作成したテーブル名を選択します。
[詳細パラメーター]から、Excelのテーブルの項目をそれぞれ選択します。
選択した項目には、動的コンテンツから取得した値を反映するので、Formsの該当する質問項目を選択します。

回答は下図のように転記されます。
※[No.]には、関数=ROW()-1を入力することで、回答の転記に従って番号も自動で加算されます
No.1にはすでに関数が入っているので、2行目は値がある行として判定されます(よって、No.2の3行目から追記される)
