6
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?

本記事は、「TTDC Advent Calendar 2025」の2日目の記事です。

はじめに

本記事は、Power Automateを今から始める方・始めたいと思っている方をターゲットにした記事です。
以前書いた「Power AutomateでPower BIのデータを自動取得」の出力先をcsvではなくExcelにする方法の紹介です。

本記事でわかること

  • Power AutomateでデータをExcelファイルへ出力する方法

やりたいこと

Power BIのレポートから、必要なデータを絞り込んで、OneDrive上のExcelファイルに出力します。
Power BIのレポートイメージは、下記の通りです。
sample_data.png

このデータを使って、以下の条件に当てはまる人達を絞り込んで、Excelファイルへ出力します。

  • 20歳以下の人
  • いちご好きの人
  • アレルギーのある人

フロー

フローは、下記の通りです。
赤枠で囲んだ部分が、Excelファイルへの出力に必要なフローです。
Power BIのデータを絞りこむ方法は、前回と同じため、省略します。

紹介するフローは、定期実行を想定しています。
前回のcsv出力時もそうでしたが、更新されるPower BIのレポートから、条件に合う最新のデータを抽出するイメージです。
flowchart.png

準備

クラウド版のPower Automateでは、現時点(2025年11月)では、Excelファイルの新規作成をする機能がありません。
そのため、フロー作成前に下記の作業を行います。

  • 出力先Excelファイルの作成
  • Excelファイル内のテーブル作成※

今回は、出力先をデスクトップとして、Excelファイルを作成しました。
テーブル作成は、メニューの「挿入>テーブル」で作成できます。
今回は、Power BIのレポートに合わせて、下記のようにテーブルを作成しておきました。
excel_table.png

※Power Automateを使用してExcelファイルのデータを扱う場合は、アクション内でテーブルを指定する必要があるため、テーブルが必須です。

表内に存在する行を一覧表示

csvファイル出力の場合は実行時に中身が全部更新されていましたが、Excelファイル出力の場合は1行ずつの操作になります。
そのため、最初にExcelファイルの中身をクリアします。

Excelファイルの中身をクリアするために、まずは表内に存在する行を取得します。
Excel Online(Business)コネクタから表内に存在する行を一覧表示というアクションを追加します。
クリックすると、以下のような編集画面が開きます。
excel1.png
準備しておいたExcelファイルの情報を設定してください。

  • 場所:OneDriveまたはSharePoint
  • ドキュメントライブラリ:ドキュメント
  • ファイル:/デスクトップ/Excelファイル名
  • テーブル:定義済みのテーブル名

それぞれに適用する+行の削除

ループ処理を使って、Excelファイルを1行ずつ削除します。

まず、コントロールコネクタからループ処理であるそれぞれに適用するというアクションを追加します。
内部に、Excel Online(Business)コネクタから行の削除というアクションを追加します。

それぞれに適用するをクリックすると、以下のような編集画面が開きます。
roop1.png
Excelファイル1行ずつにアクションを行いたいため、前のステップから出力を選択には、fxマークから下記のように設定します。

body('表内に存在する行を一覧表示')?['value']

行の削除をクリックすると、以下のような編集画面が開きます。
excel2.png
表内に存在する行を一覧表示と同じExcelファイルの情報を設定してください。

  • 場所:OneDriveまたはSharePoint
  • ドキュメントライブラリ:ドキュメント
  • ファイル:/デスクトップ/Excelファイル名
  • テーブル:定義済みのテーブル名

Key Columnには、選択したテーブルの一覧が表示されます。
このアクションでは、1行ずつしかデータを削除できません。
全行を削除するためには、テーブル内の一意のキー列を指定する必要があります。よって、今回のフローでは、IDを選択します。

  • Key Column:ID

Key Valueには、削除したいKey Columnの値を設定します。
Excelファイル1行ずつのIDになるように、fxマークから下記のように設定します。

  • Key Valueitem()?['ID']

選択

次は、データ操作コネクタから選択というアクションを追加します。
select.png
csv出力の場合と同じ設定をします。(詳細は前回記事を確認してください。)

それぞれに適用する+表に行を追加

ループ処理を使って、Excelファイルを1行ずつ追加します。

まず、コントロールコネクタからループ処理であるそれぞれに適用するというアクションを追加します。
内部に、Excel Online(Business)コネクタから表に行を追加というアクションを追加します。

それぞれに適用するをクリックして編集画面を開きます。
roop2.png
選択の出力はjson配列になっているため、前のステップから出力を選択には、fxマークから下記のように設定します。

outputs('選択_1')?['body']

表に行を追加をクリックして編集画面を開きます。
excel3.png
表内に存在する行を一覧表示と同じExcelファイルの情報を設定してください。

  • 場所:OneDriveまたはSharePoint
  • ドキュメントライブラリ:ドキュメント
  • ファイル:/デスクトップ/Excelファイル名
  • テーブル:定義済みのテーブル名

テーブルを選択すると、テーブルの列名が編集画面の下部に表示されます。
テーブルの各列には、jsonの値を設定するために、fxマークから下記のように設定します。

item()?['キー']

出力ファイル

フローを実行すると、指定したExcelファイルの中身が更新されます。
期待通り、絞り込んだ結果をExcel出力できていることが確認できます。
output.png

最後に

本記事では、Power AutomateでデータをExcelファイルへ出力する方法を紹介しました。
読んでくれた方のお役に立てれば幸いです!

最後まで読んでいただき、ありがとうございました。
最後になりますが、本記事の内容に誤りなどあれば、コメントにてご教授お願いいたします。

6
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
6
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?