このページの本文へ

FIXER cloud.config Tech Blog

Power AutomateでExcelのテーブルから特定日のデータだけをノーコードで取得する方法

2022年08月02日 11時00分更新

文● 佐藤 晴輝/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Power AutomateでExcelのテーブルから特定の日のデータだけをノーコードで取得する方法」を再編集したものです。

 こんにちは、さとはるです。

 今回はPower AutomateでExcelのテーブルから特定の日付が含まれるデータを取得する方法についてご紹介いたします。

 方法は色々ありますが、今回は「ノーコード」に拘ってみました。

 初級者の方が中級に踏み出す第一歩としておススメです。

サンプルアプリの概要

・日付トリガーで一日一回起動する
・毎日同じExcelのテーブルを参照する
・対象のExcelのテーブルには日付を格納する列がある
 ○「日時」ではないので注意です!
・起動した日付のデータを取得する
 ○今回はAutomate上の配列に取得したデータをそのまま追加します

今回扱うExcelの中身

Excelで毎日全データを取得するアプリを作る

 前準備として、細かい条件など抜きにしてExcelのテーブルからデータを取得するフローを作ります。

1. 定期実行フローを作成
2. Excelコネクタの「表内に存在する表を一覧表示」アクションを追加・設定する
3. 変数コネクタの「変数を初期化する」アクションでアレイを用意する
4. Apply to eachコントロールを追加し動的なコンテンツの「value」を選択する
5. 変数コネクタの「配列変数に追加」で動的なコンテンツの「中身(ここはExcelテーブルの列名)」を選択する

 これで全件取得のアプリが完成です!

 結果を表示するためにデータ操作コネクタの「作成」に配列変数を渡し、フローのテストを実行します。

 中身列の内容が全行分取得できているのがわかります。

特定の日付の行のみデータを取得できるように変更する

比較対象となる日付データの準備

 Automateの日付コネクタを使って、比較対象となる日付を用意します。

 まずは、「現在の時刻」アクションを追加します。

 こちらは特に設定は不要です。

 続いて、「過去の時間の取得」アクションを追加します。

 「間隔」を「1」、「時間単位」を「日」に設定します。

Excelの日付データをAutomateの日付に揃える

 私たちが普段Excelで扱っている日付は「ある基準の日時からの経過日時」を用いて管理されています。

 一方のAutomateではISO8601形式という形(2004-04-01T12:00 みたいなやつ)に整形された文字列でしかありません。

 違う概念の比較はできないので、Excel側の日付をAutomateの日付に整形してあげる必要があります。

 Apply to eachの内側で、日時コネクタの「時間への追加」アクションを追加します。

 「基準時間」を「1899/12/30」、「間隔」を動的なコンテンツから「日付」、「時間単位」を「日」に設定します。

日付を比較して処理を分岐する

 ここまで用意した動的なコンテンツを使って、処理を分岐します。

 Apply to eachの内側で「条件」コントロールを追加します。

 左側の「値の選択」に動的なコンテンツから「算出時間」、真ん中の条件に「次の値以上」、右側の「値の選択」に動的なコンテンツから「過去の時間」を選択します。

 続いて「追加」ボタンをクリックし、「行の追加」をクリックします。

 追加された行にも設定を追加していきます。

 左側の「値の選択」に動的なコンテンツから「算出時間」、真ん中の条件に「次の値以下」、右側の「値の選択」に動的なコンテンツから「現在の時間」を選択します。

 左上の選択肢は「And」のままで大丈夫です。

 条件コントールの後ろにある「はいの場合」の中に、条件にあった行に対して実行したい処理を移動させます。

 今回は「配列変数に追加」アクションがそれになります。

 ドラッグ&ドロップで移動させます。

 これで完成です!

 無事に当日の日付のデータだけが取得できていることがわかります。

まとめ

 なにかとややこしい日付操作ですが、ノーコードで実現することができました。

 Excel側の日付の単位をPower Automateの単位に合わせることで条件コントロールで扱うことができるんですね。

 このように、「そのままでは扱えないものを扱える形に整形する」ということができると一気に応用範囲が増えると思います。

 そうなったらもうPower Platform中級者です!

 本記事が少しでも誰かの手助けになれば幸いです。

佐藤 晴輝/FIXER

フロントからバック、ネットワークまである程度触れるガジェットオタクです。
好きな言語は C# で IoT と画像処理が得意です。

[転載元]
 Power AutomateでExcelのテーブルから特定の日のデータだけをノーコードで取得する方法

カテゴリートップへ