見出し画像

テストの答え合わせをする ②|Power Automate for desktop

対象:2つのExcelデータを照合して情報を取得したい方
前提:Power Automate for desktop(無料版)
所要時間:約3分(実際の作業時間は約5分)

今回は前後編の後編です。前編で作成した処理やファイルを使用しますので、まだご覧になっていない方は先に前編をお読みください。


実習

それでは、実際にフロー作成の続きを行っていきましょう。

前回は、テスト回答データと正解データを結合し、1つのデータテーブルにまとめるところまで設定しました。今回は、その結合したデータを利用して、回答の判定結果をExcelへ書き込む処理を作成していきます。

前回作成したフローを開き、結合処理の下にアクションを追加しながら設定を進めていきましょう。指定する内容は下記の通りです。

1. データを1件ずつ処理する

アクション名: For each

💡結合したデータテーブルには複数の問題が含まれています。For each を使うことで、1行ずつ順番に取り出しながら答え合わせを実施できます。

設定する内容:
反復処理を行う値:%JoinedDataTable%
保存先:%CurrentItem%

※%CurrentItem%には現在処理中の1件分のデータが格納されます。以降の処理では%CurrentItem['No']% や%CurrentItem['回答']% のように各列の値を取得できます。
なお、No の部分は固定ではなく、参照したい列名を手入力いただく必要があります。


2. 問題番号の行を検索する

アクション名: Excel ワークシート内のセルを検索して置換する

💡答え合わせの結果を書き込むために、現在処理中の問題番号がExcelの「何行目」にあるかを探します。今回の実習の一番大切なところです

設定する内容:
Excel インスタンス:%ExcelInstanceテスト%
検索モード:検索
検索するテキスト:%CurrentItem['No']%
セルの内容が完全に一致する:オン
検索条件:列
生成される変数:%FoundRowIndex%

※FoundRowIndexには見つかった行番号が格納されます。後続の書き込み処理で使用します。


3. 正解かどうかを判定する

アクション名: If

💡テストの正解と実際の回答を比較します。
一致していれば正解、不一致なら不正解として処理を分岐します。

設定する内容:
最初のオペランド:%CurrentItem['答え']%
演算子:と等しい (=)
2番目のオペランド:%CurrentItem['回答']%

※列名は実際のデータテーブルの列名と一致させてください。全角・半角も区別されます。


4. 正解の場合の結果を書き込む

アクション名: Excel ワークシートに書き込む

💡回答が正しかった場合は、結果列へ「正解」と書き込みます。

設定する内容:
Excel インスタンス:%ExcelInstanceテスト%
書き込む値:正解
列:E
行:%FoundRowIndex%

※検索で取得した行番号へ結果を書き込みます。


5. 不正解の場合の処理

アクション名: Else

💡Ifの条件に一致しなかった場合、こちらの処理が実行されます。
今回は不正解だった場合に、正解と理由を一緒に記録します。

このアクションは設定するだけで問題ありません。
設定したら次に進みましょう。


6. 不正解の内容を書き込む

アクション名: Excel ワークシートに書き込む

💡単に「不正解」と表示するだけでなく、正しい答えと解説も記録します。後から見返したときに、どこを間違えたのかが分かりやすくなります。

設定する内容:
Excel インスタンス:%ExcelInstanceテスト%
書き込む値:不正解:【%CurrentItem['答え']%】:%CurrentItem['理由']%
列:E
行:%FoundRowIndex%

※出力例 不正解:【正解:B】:Power Automate DesktopはMicrosoft製のRPAツールです。変数は実行時に自動で置き換えられます。


7. Excelを保存して閉じる

アクション名: Excel を閉じる

💡最後に結果を書き込んだExcelを保存して閉じます。for each-end の後にこのアクションを追加します。

設定する内容:
Excel インスタンス:%ExcelInstanceテスト%
Excel を閉じる前:ドキュメントを保存

※今回は答え合わせ結果を書き込んでいるため、「ドキュメントを保存」を選択します。
下記画像を参考に設定してみてくださいね。


8. 実行して確認

すべての設定が完了したら、「💾保存」「▶実行」をクリックしてフローを実行してみましょう。

正常に動作すると、

  • 問題番号でデータが検索される

  • 正解と回答が比較される

  • 正解なら「正解」

  • 不正解なら「不正解+正解の答え+理由」

がExcelへ自動で書き込まれます。


最後に

今回の採点結果の集計については、Excelの関数を利用しました。
Power Automate for desktopで実現することも可能ですが、Excelで簡単に対応できる処理はExcelに任せるほうが効率的です。

また、実務では複数のテストファイルをまとめて採点したいケースも多いでしょう。

その場合は、「フォルダーの選択ダイアログを表示」「フォルダー内のファイルを取得」「For each」などを組み合わせることで、複数ファイルを自動処理できます。

関連する内容として、下記の実習記事もぜひ参考にしてみてください。

いいなと思ったら応援しよう!

chisato_mom よろしければ応援をお願いします。いただいたチップは、活動費として活用し、一部は寄付に回しています。