リモートワークで導入して良かったツール詳しく見る

Power Automateで取得した情報をExcelに書き出す方法

目次

この記事の内容

この記事は3記事による連載「Power AutomateでOutlookのイベント情報をExcelに書き出す方法」の最後の記事になります。前回の記事はコチラ↓

じょじお

この記事では、Power Automateで取得したデータをExcelに書き出すアクションについて解説します。

Power AutomateでExcelに書き出す方法(「表に行を追加」アクションを使う)

Excelに書き出すにはいくつか方法がありますが、この記事では、Excelコネクタの「表に行を追加」アクションを使う方法について解説します。

表に行を追加」アクション(「テーブルに行を追加する」アクションに名称が変更されました。)

(事前準備)「テーブル」化したExcelを用意する

「表に行を追加」アクションを使うためのExcelファイルの条件

Excelファイルを用意する前に「表に行を追加」アクションを使うためには下記の条件があることに注意してください。

「表に行を追加」アクションを使う条件

  • ExcelはOneDrive か Sharepoint Onlineに保存されている。
  • Excel内のデータ領域(表)がテーブル化されていること。
ぽこがみさま

Power Automateで扱うExcelはテーブル化されていないといけません。

Excelの完成図の確認

用意するExcelファイル
Excelのサンプルのテーブル

▲今回はヘッダー(見出し)だけ作った空っぽの表を作ってテーブル化しました。作成方法は次の項で紹介します。

Excelファイルを新規作成する

Excelの新規作成

こちら(Office365)からExcelを新規作成します。

 

Excelの表をテーブル化する

テーブル化の方法1

▲1行目に見出しの名前を入力したら、テーブル化するセル範囲のどこかを選択した状態で、「挿入」タブ→「テーブル

テーブル化する方法

▲「先頭行をテーブルの見出しとして使用する」にチェックを入れます。

セル色が変化しオートフィルタが適用されたらテーブル化の成功です。一番上の図のように見出し行と空っぽのデータ列の2行だけのテーブルが出来ました。

Excelの保存

Excelが完成したらファイルを保存しましょう。保存した場所はPower Automateフローを作成するときに必要になりますので覚えておいてください。ちなみに「新しい空白のブック」から作成して特に保存場所を変更しなければOneDriveのトップフォルダの中に保存されているかと思います。

Power Automateのフローを作成する

フローを作る前におすすめの設定

Power Automateでフローを作成する前にPower Automateのおすすめの設定があります。特に動的コンテンツ(動的な値)を利用した関数式の作成がとっても楽になります。下記の記事で詳細を紹介していますので興味のある方はご覧ください。

Power Automate「表に行を追加」アクションを追加する

STEP
前回の記事で作成したフローに新しいアクションを追加します。
新しいアクションを追加

前回の記事で作成したフローにアクションを追加します。Apply to eachの中に追加します。

STEP
「Excel Online」コネクタをクリックします。
Excelの表に行を追加アクション

▲Excel Onlineコネクタを選択します。

STEP
「表に行を追加」アクションをクリックして追加します。
表に行を追加アクション

▲ 「表に行を追加」アクションをクリックします。

STEP
「表に行を追加」アクションのパラメータを入力します。
Excel表に行を追加アクション

▲必要なパラメータを入力します。

  • 場所
    • Excelを保存したOneDriveかSharepointサイト
  • ドキュメントライブラリ
    • Excelを保存したOneDriveかSharepointサイトのドキュメントライブラリ名
  • ファイル
    • Excelファイル名
  • テーブル
    • テーブル名(名前を変更していなければデフォルトテーブル名は「テーブル1」です。)
テーブルの列の設定

▲テーブル名まで入力すると、テーブルに設定された列名を図のように読み込んでくれます。

じょじお

テーブルの列名とリンクするのでテーブルによって図の赤枠の項目名や項目数は変わります。

今回は下記のように設定しました。

  • name列
    • (動的なコンテンツ)「イベントの取得v4」の中の「件名」
  • start/dateTime列
    • formatDateTime(body(‘タイム_ゾーンの変換(イベント開始時間の変換)’),’g’)
  • end/dateTime列
    • formatDateTime(body(‘タイム_ゾーンの変換(イベント終了時間の変換)’),’g’)
  • かかった時間
    • (空白)

start/dateTime列、end/dateTime列には、「タイムゾーンの変換」で変換した値をformatDateTime関数で書式を変更してからExcelに渡しています。そのままExcelに書き出してもExcelで日付として認識されず、Excel内で計算できなかったためです。

formatDateTime関数の構文

<基本構文>
formatDateTime(変換する時間 , 書式指定子)

<例>
formatDateTime(body(‘タイム_ゾーンの変換’),’g’)

formatDateTime関数の使い方はこちらの公式ドキュメントを確認してください。書式指定子についてはこちらの公式ドキュメントを確認してください。

formatDateTime関数の使い方

STEP
「表に行を追加」アクションの「動的なコンテンツを追加」をクリックします。

▲「動的なコンテンツ」をクリック→「式」タブをクリック→「もっと見る」をクリックします。

STEP
関数一覧から「formatDateTime関数」をクリックして追加します。
formatDateTime関数をクリックします。

▲formatDateTime関数をクリックします。

formatDateTime関数が自動入力される

▲formatDateTime関数が自動入力されます。

STEP
「formatDateTime関数」のカッコの中に動的コンテンツを追加します。(第1引数)
formatDateTime関数の使い方2

▲カッコの中に動的なコンテンツの値を入れます。

formatDateTime関数の使い方3

▲「動的なコンテンツ」の値が関数の中に自動入力されました。

STEP
「formatDateTime関数」に書式を指定します。(第2引数)
formatDateTime関数の使い方4

▲関数の第二引数を手入力で追記してOKボタンを押します。

先で解説しましたように第二引数は書式を指定します。書式には「書式指定子」か直接’yyyy-MM-dd’のように記述することもできます。図では書式指定子の’g’を用いました。gは「一般の日付と時刻のパターン (短い形式の時刻)」を表現します。gを使うと下記の例のように出力されます。gは汎用的に使えるので覚えておくと良いと思います。

例:2009/6/15 13:45

STEP
「formatDateTime関数」が正しく入力できたことを確認します。
formatDateTime関数の使い方5

▲関数として認識されるとピンクのカード表示になります。

ピンクのカード表示にならずにグレーのカードになっている場合は、関数の文法が間違っている可能性があります上述の基本構文を確認し誤りが無いか確認してください。

STEP
「表に行を追加」アクションのその他のパラメータを入力します。
Excel表に行を挿入完成図

▲あとはイベントの終了時間の方も同じ要領で入力してフローがすべて完成です。

フローの完成

フロー全体図
じょじお

フローが完成しました。

フローの実行

じょじお

フローが完成したので実行してExcelを確認してみましょう。下図のようにExcelに出力できたのではないでしょうか。

フロー実行結果のExcel

ちなみに説明を忘れていましたが、フロー実行前にD列に「=C2-B2」という式を入れておくと、図のようにD列全部で時間の計算してくれます。

Power Automateを学ぶ

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してください。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

テーブル化していないExcelファイルを操作するには?

テーブル化していないExcelファイルや、Excelコネクタに無い複雑なExcel操作を行うには、Excel Online版のマクロ言語であるOffice Scripts(Officeスクリプト)をPower Automateと連携して使う方法があります。下記の記事を参考になさってください。

Office ScriptによるExcel on the web 開発入門

『Office ScriptによるExcel on the web 開発入門』
  • オススメ度:★★★★★
  • Kindle版:あり
  • 対象者:Office Scriptをこれから習得したい方
  • Office Scriptを体系的に学ぶならおススメ!
デザインも良く読みやすいのでおススメです。
良い点

現時点ではAmazonで購入できる唯一の日本語で書かれたOfficeスクリプト(Office Script)の書籍です。(2021年11月05日時点)そもそもOffice Scriptを解説している日本語のWebサイトやYouTubeは多くありませんので貴重な解説書です。

Office ScriptのベースとなっているTypeScriptの解説から始まるのでプログラム経験のない方でもこの1冊でOffice Scriptを始めることができるかと思います。セルの操作はもちろん、Office Scriptの一番のメリットであるPower Automateとの連携の方法(変数の受け渡しも)も解説されていて一通り網羅されているかと思います。Kindleで読んでも文字サイズやレイアウトがキレイで読みやすいのもありがたかったです。

Office Scriptを体系的に学ぶにはこちらの書籍の購入をおススメします。

悪い点

本の内容には満足しているのですが、Power Automateとの連携についてもう少し事例があったら最高だなぁと思いました。しかしながら本書は「入門書」とタイトルされていますので最低限の説明にとどまっているのは仕方がないかな、とも思います。

まとめ

じょじお

以上で、Power AutomateでExcelに書き出す方法についてご紹介しました。

ぽこがみさま

実務では、Excelのテーブルの機能である集計行を追加して、全てのイベントの時間の合算をしたりすると良さそうですね。

ノンプログラマーでも自動化スキルを身につける。

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
目次
閉じる