1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【脱・手動修正】Forms入力のばらつきをPower Automateで自動整形する方法

Posted at

はじめに

社内イベントの出欠確認フォームをMicrosoft Formsで作成したときの話です。
氏名、所属組織、参加可否の項目をユーザーに入力してもらうよう依頼したのですが、
回答結果(Excel)を確認すると、入力にバラつきがあり、Excelでの集計が困難な状態になっていました。

具体例

  • 氏名:山田太郎、佐藤、鈴木 次郎
  • 所属組織:部門名だけ、正式名称、略称

反省点

Formsは簡単にフォームを作れる反面、入力形式を厳密に制御しないと、回答結果に統一性がなくなります。
実際、Excelで集計する際に「氏名のスペース」や「部署名の略称」などが障害になりました。

解決策

自分で手動修正するのも、再度登録依頼をするのも避けたかったので、
Power Automateでデータを正規化する仕組みを作りました。

Power Automateの作成内容

Microsoft Formsではメールアドレスが自動で登録されるため、
そのメールアドレスをキーに氏名(表示名)と所属組織を取得し、Excelに反映するフローを構築しました。

フロー概要

  1. 変数を初期化
    • 変数 ID を作成(初期値は 1)
  2. 行の取得
    • 変数 ID と Excel の ID 列を比較し、一致するレコードを取得
  3. ユーザープロフィールの取得
    • ステップ2で取得したレコードのメールアドレスをキーに、その他情報(表示名、組織情報)を取得
  4. 行の更新
    • ステップ3で取得した情報をレコードに追加
  5. 変数の値を増やす
    • 変数 ID に+1する

{26041D50-9C79-4F6A-B3A0-BB15CC5E5C6B}.png

{7A5393B9-3D08-4287-9D66-55FD0336BA8A}.png

ステップ3~5はループ処理で実行しています。
本来であれば、Excelの最後尾を停止条件にするのがスマートですが、
今回は「一度しか更新しないだろう」という前提で、IDを直接指定しました。

{829E2367-1518-40CB-A22E-4E48E7DE7C34}.png

3. PowerAppsで表示

元となるデータがそろったので、PowerAppsの方を作成していきます。
やったことは以下の通りです。

  1. Excelをテーブル化
    • 変数 ID を作成(初期値は 1)
  2. 行の取得
    • 変数 ID と Excel の ID 列を比較し、一致するレコードを取得
  3. ユーザープロフィールの取得
    • ステップ2で取得したレコードのメールアドレスをキーに、その他情報(表示名、役職、組織情報)を取得
  4. 行の更新
    • ステップ3で取得した情報をレコードに追加
  5. 変数の値を増やす
    • 変数 ID に+1する

結果

手動修正ゼロで無事データ整形に成功しました…!
実行時間もレコード100件に対して約3分で処理が完了し、手作業より圧倒的に効率的でした。

今回は自分のミスを取り返す形でPower Automateを使いましたが、
活Excel」という発想でMicrosoft 365のサービスを組み合わせると、業務効率化が大きく進むと実感しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?