Microsoft Formsで集めたアンケート結果、毎回手動でExcelにエクスポートして、コピペで集計表に貼り付けていませんか?
「新しい回答があったから、またエクスポートしなきゃ…」 「関係者への報告のために、急いで最新データに更新しないと…」 「コピペの列がズレて、データがぐちゃぐちゃに…」こんな経験をされている方も多いのではないでしょうか。非常に便利なFormsですが、この「集計」という最後のひと手間が、地味に面倒だったりします。
もし、この面倒な作業が一切なくなり、Formsに回答が来た瞬間に、自動でExcelファイルにデータ記録されていくとしたらどうでしょう。
それを実現するツールが「Power Automate」です。
「なんだか難しそう…」「プログラミングとか分からないし…」と感じられる方もいるかもしれませんが、ご安心ください!この記事では、プログラミングの知識が一切なくても、誰でも・驚くほど短時間で設定できるように解説していきます 。
この記事を読み終える頃には、あなたは面倒なコピペ作業から完全に解放され、リアルタイムに更新されるデータリストを手にしているはずです。
Power Automate を基本操作から理解したい方は、書籍での学習をお勧めします。
Forms手動集計における具体的な課題
Formsは自動で集計する機能が備わっています。全体の回答傾向をグラフで確認するだけの場合はそれで十分ですが、個別の回答データを他のデータと組み合わせて分析したり、特定のフォーマットで報告したりしたい場合は、データをExcel形式でダウンロードして手動集計をする必要があります。
この「手動集計」がいかに非効率でリスクを伴うか、具体的な課題を4つの観点から確認します。
1. 作業時間の浪費:回答があるたびにエクスポートし、ファイルを開き、データをコピーして、集計用のファイルに貼り付けるという一連の作業は、たとえ数分で終わるとしても、積み重なれば大きな時間的コストとなります。本来であればより付加価値の高い業務に充てるべき貴重な時間が、単純作業に奪われてしまいます。
2. リアルタイム性の欠如と信頼性の低下:手動で更新しない限り、データは古いままです。そのため、関係者間で常に最新の情報を共有することが難しく、「このデータは最新版か?」といった不要な確認作業が発生し、迅速な意思決定の妨げになる可能性があります。
3. ヒューマンエラーの発生:単純なコピー&ペースト作業は、集中力の低下を招きやすく、人的ミスの温床となります。「貼り付け先の行がズレていた」「一部のデータをコピーし忘れた」といったミスは、データの正確性を著しく損ない、後々の手戻りや修正作業の原因となり得ます。
4. ファイルのバージョン管理の煩雑化:手動でのデータ更新は、「アンケート結果_20250611.xlsx」や「アンケート結果_20250612_最新.xlsx」のような類似ファイルを増加させます。結果として、どれが最新で正確なファイルであるかの管理が困難になり、業務の混乱を招くケースも少なくありません。
これらの課題は、Power Automateを活用することで、根本的に解決することが可能です。
FormsとExcelの自動連携の概要
Power Automateを利用することで、これまで手動で行っていたFormsからExcelへのデータ転記プロセスを完全に自動化できます。全体の処理の流れは以下の通りです。

この仕組みでは、Power Automateが中継役となり、2つのアプリケーション間のデータフローを制御します。具体的には、「トリガー」と「アクション」という2つの要素で構成されます。
- 【トリガー】 Microsoft Formsで新しい回答が送信されることを起点(トリガー)として、自動化プロセスが開始されます。
- 【アクション】 トリガーが起動すると、設定された一連の処理(アクション)が実行されます。具体的には、Formsで送信された回答の詳細を取得し、指定されたExcelファイルのテーブルに新しい行としてデータを追加します。
この「トリガー」と「アクション」から構成されるフローを一度設定するだけで、以降はすべてのプロセスが人手を介さずに24時間365日、自動で実行され続けます。
自動化のための事前準備
自動化フローを作成する前に、必要な準備を2つのステップで行います。
ステップ1:Formsの作成
まず、自動転記の対象となるMicrosoft Formsを準備します。社内アンケートや問い合わせフォームなど、用途に応じたフォームを用意してください。


ステップ2:Excelファイルの準備と設定
次に、転記先となるExcelファイルの準備と設定を行います。この設定はフローが正常に動作するための重要な要件となります。
1. Excelファイルの保存場所
データを記録するExcelファイルは、必ず「OneDrive for Business」または「SharePoint」のドキュメントライブラリ内に保存する必要があります。Power Automateはクラウド経由でファイルにアクセスするため、PCのローカルフォルダに保存されたファイルは使用できません。今回は「OneDrive for Business」にファイルを保存します。

2. 「テーブル」の作成
作成したExcelファイルを開き、データを蓄積するための領域を「テーブル」として定義します。
- 1行目に、Formsの質問項目に対応する見出し(ヘッダー)を入力します。(例:「回答日時」「氏名」「メールアドレス」「出欠」など)
- 見出しを入力したセル範囲を選択します。
- Excelのリボンメニューから「挿入」タブ → 「テーブル」をクリックします。
- 「テーブルの作成」ダイアログにて、「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確認し、「OK」をクリックします。

以上でテーブルの作成は完了です。

【補足】テーブル形式を利用する理由
データを「テーブル」として定義しておくことで、Power Automateが書き込み先のデータ範囲を正確に特定できるようになります。テーブルには自動で名前(例: テーブル1)が付与されるため、フローのアクションで対象を指定する際にシート上のセル番地ではなく、テーブル名を指定できるためです。また、後のデータ分析においても、スライサーやピボットテーブルなどの機能と高い親和性があります。
Power Automate フローの構築手順
次に、Power Automateで自動化フローを構築します。Microsoft 365のアプリランチャーからPower Automateを開いてください。

ステップ1:フローの骨組みを作る【トリガー設定】
- 左側のメニューから「+作成」をクリックし、「自動化したクラウドフロー」を選択します。
- フロー名に「(例)【Forms】ソフトウェアアンケートフロー」のように、管理しやすい名前を付けます。
- 「フローのトリガーを選択してください」の検索ボックスに「Forms」と入力し、トリガーの一覧から「新しい応答が送信されたとき」を選択して「作成」をクリックします。
- フローデザイナーのワークスペースに配置された「新しい応答が送信されるとき」のカードを選択し、パラメーターの「フォームID」のドロップダウンリストから、自動化の対象とするFormsのタイトルを選択します(ここでは「ソフトウェア製品のフィードバックに関するアンケート」)。
これにより、「指定したフォームに新しい回答があった場合に処理を開始する」というトリガーが設定されます。
ステップ2:応答詳細の取得アクションの追加
トリガーの設定だけでは、どの回答が送信されたかを特定できません。次に、送信された回答の詳細データを取得するアクションを追加します。
- フローの下にある「+新しいステップ」をクリックします。
- 検索ボックスに「Forms」と入力し、アクションの一覧から「応答の詳細を取得する」を選択します。
- 設定画面が表示されたら、以下のように設定します。
- フォームID: トリガーと同じフォームのタイトルを選択します。
- 応答ID: 入力欄に「/」を入力し、「動的コンテンツを挿入する」を選択すると、「動的なコンテンツ」パネルが表示されます。このパネルから、「応答ID」を選択します。これは、取得対象の回答を一つひとつ区別するための識別情報です。
この設定により、トリガーで検知した回答の具体的な内容が、後続のアクションで利用可能になります。
ステップ3:Excelへの行追加アクションの追加
最後に、取得した回答内容をExcelのテーブルに書き込むアクションを追加します。
- 「+新しいステップ」をクリックします。
- 検索ボックスに「Excel」と入力し、アクションの一覧から「表に行を追加」を選択します。
- 以下の設定項目を順に指定します。
- 場所: 「OneDrive for Business」を選択
- ドキュメントライブラリ:「ドキュメント」を選択
- ファイル: 「📁」アイコンをクリックし、事前準備で作成したExcelファイルを選択します。
- テーブル: ファイルを選択すると、その中に含まれるテーブルが自動で認識されます。事前準備で作成した「テーブル1」などを選択します。
- 詳細パラメーターの「すべて表示」を選択すると、Excelで設定した見出しが項目として表示されます。各項目の入力欄に「/」を入力し、「動的コンテンツを挿入する」を選択すると、「動的なコンテンツ」パネルが表示されます。このパネル内の「表示数を増やす」を選択するとFormsの質問項目がすべて表示されますので対応する項目をマッピング(紐づけ)します。
- 全ての項目を紐づけたら、右下の「保存」をクリックします。
【補足】DateTime形式には何を選択したらいいのか
結論から言うと、Power AutomateからExcelに時刻データを渡す際は、ほぼすべてのケースで「ISO 8601」を選択するのが正解です。
ISO 8601 とは?
- 形式:
2025-06-24T00:15:00.000Z
のような形式です。- 特徴:
- 日付と時刻の表記に関する世界標準の規格です。
- 人間にもプログラムにも分かりやすく、特にシステム間でデータをやり取りする際に標準的に使われます。
- Power Automateが標準で扱う時刻データは、すべてこのISO 8601形式です。 Formsの「完了時刻」や、関数
utcNow()
で取得する現在時刻などは、この形式で出力されます。シリアル値 (Serial Number) とは?
- 形式:
45831.01
のような数値です。- 特徴:
- Excelが内部的に日付や時刻を管理するためだけに使っている特殊な数値です。
- 1900年1月1日を「1」として、そこからの経過日数を整数で、時刻を小数で表します。
- Excelシート上での日付計算(例:A1セルの3日後を計算する)には便利ですが、外部のシステムとの連携には全く向いていません。
自動化の動作確認
フローの保存後、意図した通りに動作するかを確認します。
- 設定の対象としたFormsを開き、テスト回答を送信します。
- OneDriveに保存したExcelファイルを開きます。
ファイルを開くと、数秒から数十秒後に、Formsで回答した内容が新しい行として自動的に追加されていることが確認できます。これにより、以降の手動でのデータ転記作業が不要になります。

自動化の応用例
この仕組みは、様々な業務に応用可能です。
- グラフの自動更新ダッシュボード:転記先のExcelファイルでテーブルをデータソースとするグラフやピボットテーブルを作成しておけば、データが追加されるたびに自動で更新される簡易的なダッシュボードを構築できます。
- TeamsやOutlookへの条件付き通知:Power Automateのフローに条件分岐と通知アクションを追加することで、「特定の回答があった場合にのみ、担当者へTeamsやメールで通知する」といった連携も可能です。
- SharePointリストへのデータ集約:転記先をExcelではなくSharePointリストにすることで、より高度なデータ管理や、他のMicrosoft 365アプリケーション(Power Appsなど)との連携が容易になります。
- 稟議書などの承認フロー(ワークフロー)の自動化:本記事で解説したデータ連携の考え方を発展させ、入力インターフェースをFormsからより高機能なPower Appsに置き換えることで、さらに高度な業務アプリケーションを構築できます。例えば、稟議書や経費精算、休暇届といった社内の各種申請における「承認フロー」の自動化に直接応用できます。Power Appsで作成したカスタムの申請アプリから申請が送信されたのをトリガーに、Power Automateの「承認」アクションを利用して、TeamsやOutlook上で上長に承認依頼を送信。上長が「承認」または「却下」を選択すると、その結果に応じて「次の承認者に依頼を進める」または「申請者に差戻し通知を送る」といったプロセスを自動で分岐させることが可能です。これにより、紙やメールで行っていた承認プロセスを電子化し、進捗状況の可視化と大幅な時間短縮を実現します。
まとめ
本記事では、Power Automateを用いてMicrosoft Formsの回答をExcelへリアルタイムに自動転記する方法と、その設定手順を解説しました。
手動でのデータ転記作業に内在する非効率性や人的ミスのリスクは、本記事で紹介した自動化フローを導入することで解消できます。重要なポイントは、①クラウド上のExcelファイルに、②「テーブル」を設定し、③Power Automateの基本的な「トリガー」と「アクション」を組み合わせる、という3点です。
この一度の設定によって、定型的なデータ転記作業から解放されるだけでなく、リアルタイムでのデータ活用が可能になります。さらに、ここで紹介した仕組み、承認フローの構築など、より高度な業務プロセスの自動化を実現するための第一歩となります。
本記事が、皆様の業務における自動化のきっかけとなれば幸いです。
※基本操作から応用まで網羅。FormsやExcel連携にも触れており、実務で使える内容です。