2021.2月追記。「Form excel 転記」みたいな検索で訪れる方が多い中、power automate要らんやんけということに気づいたので加筆しています。
人事というのも仕事の範囲が広く、採用だの人事制度だの給与だの以外のこともたくさんあります。本社管理部門として手続きをしたり、提出物をお願いしたり、何かを報告してもらったりとイロイロ。
そんな事務的な仕事の一つを、Microsoft Power Automate(旧称:Microsoft Flow)を用いてほんの少し改善したので記録に残しておきます。最近こういった自動化ツール等をとにかく使ってラクにする欲がすごい。オラオラオラ。Office365を導入してるんだったら、こういうの使わんでいられますか!!
※初めてのPower Automateなので、ほんとにささやかな仕組みです。
スポンサーリンク
power automateをいろいろ触ってみた。楽しいな!formsで投稿された内容を、onedriveに置いているエクセルに自動的に更新させていく仕組みをテスト。formsからいちいちダウンロードせずに内容が積み上がっていく。便利!
— でご (@dego98) 2020年1月31日
概要
特定の人に対し「これやってきてくれ!(でもそこから人事に報告来るのラグがあるから)終わったら直接報告してくれ!」とお願いしました。やってくれてない人には督促をする必要があります。
かつてはメールで報告させていた
一人ひとりメールが返ってくるのですが、他のメールも溜まっていくので見逃しかねないし、メールが届いたら、こちらが完了者を管理しているエクセルに転記するなどの手間がかかります。
Formsを利用
Microsoft Formsを使い、「終わったらこのフォームで完了日を教えてくれ」としました。
対象者はメールにあるURLを開き、このアンケートをポチポチ答えるだけで終わります。集計側には回答がある度通知が届きますし、時々Forms管理画面を見に行けば「誰が回答したか」の一覧を確認できます。エクセルデータとして回答者一覧をダウンロードもできます。(下図)
これで「終わった人」はわかりますが、「誰が残っているのか」がわかりません。手元の管理表と照合する必要があります。
FormsからのPower Automate
最終的に、Formsでの回答を自動的に管理エクセルに転記させる手法に至りました。これで、回答があったら残数管理しているエクセルに「この人終わったよ」が勝手に更新されるわけです。ひと目で誰が終わり、誰が残っているかがわかります。
スポンサーリンク
説明
まぁまずはFlow…もといPower Automateを使ってみましょうよ。私も初めて触りながら手探りで見つけていった類の人間です。
作成を選ぶといろいろありますね。テンプレも用意されています。
1から作るケースですが、自動フローは今回のように「何かが起きると」というトリガーをベースとして動かす仕組みです。他にも手動で作動させるものやスケジュールで起動させるものなどが作れるようです。今回は自動で作ります。
フローの組み方
まずトリガーを決めます。今回はFormsで新しい回答が送信されたとき(どのフォームか選ぶ)。次にその回答を読み込む処理を指示します。
最初「読み込む」をすっとばしてエクセル転記させようとして事故ってました。そうか、あくまでトリガーなだけで、中身をどうするって指示は出せてないんだよな。
さて、次は読み込んだデータを転記するためのエクセルを用意します。この仕組において、エクセルの中に「テーブル」を用意する必要があります。見出しとなる行を作り、テーブルとして書式設定を選択⇒「先頭行をテーブルの見出しとして使用する」をチェック。
Formsでは回答者のメールアドレスを取得する設定にしていたので、メールアドレスをキーに今回のフローを構築しました。
↑Formsで回答があるとこういったデータが取得されるので…
↓用意している一覧表と「同じメールアドレス」を見つけて、完了日を転記させる
Forms、同じ組織内であれば勝手に氏名も取り込んでくれる設定にしたのですが、現時点でPower Automateでは取得できませんでした。必要あらばFormsの設問に社員IDなど任意の値を入力させて、それをキーにしてもよいかと思います。
最終的な仕組みは下図の通り。
左下の箱が、先程用意したエクセルのテーブルですね。回答が欲しい対象者の氏名とメールアドレスを用意しておきます。
テーブルの「完了報告」の中に、右側にある「Formsで取得したデータ」から「完了報告」の回答を埋め込むという指示をしています。
↓「どれを使うねん」と聞いている画面
回答が必要な人達の管理表を用意しておけば、アンケートの回答があるたびに「完了日」が埋まっていく仕組みができあがりました。このデータを開きさえすれば、誰がまだなのかすぐわかります。
イメージとしてはメールアドレスをキーにしたVLOOKUP関数ですね。VLOOKUPと違って「何行目」といった返し方をさせるのではなく、「このデータ」と選択できるのがいいですね。
…ていうか日程調整したい案件をばらまいて、回答を勝手に集約させていく…みたいな例の方が身近でしたね。「Aさんだけ回答まだですよ~」みたいな。
Formsの結果をなにかに反映させる、というのは結構手軽な入門編かもしれません。回答があるたびに特定のメールを送らせるとか、Teamsに通知を走らせるとかもできるみたいです。
※2021.2月追記
以下ではpower automateでFormsからエクセルに飛ばしていますが、もっと楽な方法がありました。もともとあったのか、追加されたのか…。
ExcelにFormsとの連携機能がついており、ここからFormsを作成すると、回答が勝手に連携されるようになります。べ、べんり~~~!!!!しかもこれだと以下のやり方だと連携できなかった「回答者の名前」も取得できます。あんなに大変だったのに!!!
ちなみにOnedrive内で「新規作成」する中にも「Forms用エクセル」という項目があります。こっちから作っても良いです。
google formからスプレッドシートに自動連携するのと同じような効果をこれで得ることができますね。便利やなあ。
<追記終わり>
またささやかな改善ができたら記録していきます。このツイートの2個めのやつとか…。
【今日できたこと】
— でご (@dego98) 2020年1月31日
・Microsoft formsで回答があったら結果をonedrive上にあるエクセルに自動更新させる
・onedrive上で各部門ごとに用意している記入用エクセルの内容を集計用の記入フォームに自動転記させる。(そもそもonedrive上のエクセルでvlookできれば良いのでは?とも思う)