コラム - お役立ち情報

2023.06.15

【無料RPA】Power Automate Desktop(PAD)活用事例 「データテーブル」アクションを使いこなそう!

本シリーズでは、Power Automate Desktop※を活用して業務効率化に役立てる方法をご紹介しています。
今回は、表形式データのDatatableを扱うためには必修の「データテーブル」アクションの使い方と活用例をご紹介します。(「データテーブル」アクションは2022年7月のアップデートで追加されました。)

「データテーブル」とは?という方は前回のコラムから読んでみてください。

※ Power Automate Desktop (PAD)とは?
MicrosoftがWindows10ユーザー向けに無償で提供しているPC自動化ツールです。
プログラミングなしでPCの操作を自動化できます。
本コラムでは当ツールの活用方法をご紹介しています。
https://powerautomate.microsoft.com/ja-jp/desktop/

目次

1.データテーブルアクション
2.各アクションの使い方

3.まとめ

1.データテーブルアクション

まずはデータテーブルアクションについて簡単に紹介していきます。

 
(1)新しいデータテーブルを作成する

任意のデータテーブルを自作できるというアクションです。
具体的に言うと、「列数」「行数」「列名」「データ値」を自身で設定出来るアクションになります。
ですが、PADでデータテーブルを扱う場合、WebブラウザやExcelから抽出するのがほとんどですので、実際にこのアクションが活躍するのはフロー作成中のテストの段階になるかと思います。

 
(2)行をデータテーブルに挿入する

データテーブルの任意の場所に新しく行を追加できるアクションです。

 
(3)データテーブル内で検索または置換する

その名の通り、検索・置換ができるアクションです。
データテーブルアクションの中で最も使用する機会が多いアクションです。
本アクションができる前は特定の値を持つデータを検索する場合、データ全行を「ForEach」アクションで確認し処理する必要がありました。
しかし、本アクションを使うと検索にヒットした行だけ処理をすればよくなるため、フローの作成時間も実行時間も短縮できます。

 
(4)データテーブル項目を更新する

任意の行・列の値を変更できるアクションです。
「データテーブル内で検索または置換する」アクションと組み合わせて使うと効果を発揮します。

 
(5)データテーブルから行を削除する

任意の行を削除できるアクションです。
コチラも「データテーブル内で検索または置換する」アクションと組み合わせて使うと効果を発揮します。


2.各アクションの使い方

次にそれぞれのアクションの使い方を使用例とともに解説していきます。
 

(1)新しいデータテーブルを作成する

任意の列数、行数のデータテーブルが作成できるアクションです。
このアクションを使って下の画像のデータテーブルを作成します。

 

 
「編集」ボタンをクリックして編集用のウィンドウを開きます。

 
このウィンドウでデータテーブルの編集ができます。列数、行数の他に各セルの値や列名が編集可能です。

 
右上部の+ボタンをクリックすることで列の追加が出来ます。

 
右下部の+ボタンをクリックすることで列の追加が出来ます。

 
編集したいセルをクリックすることで値を入力できます。列名を変更する場合はヘッダーのセルをダブルクリックします。

基本の使い方は以上です。
 
ではデータテーブルを作成していきます。
今回作成するデータテーブルは「2行4列」ですので、行追加ボタンを1回、列追加ボタンを2回押します。

 
次に、列名を編集します。
[Column1]をダブルクリックし「ID」と入力します。

 
他の列も同様に値を設定します。

 
各セルをクリックして値を入力していきます。

 
入力が終わったら「保存」をクリックします。

 
最初のウィンドウに戻ります。変数名を「NewEmployee」に変更し、「保存」ボタンをクリックします。

以上で新しいデータテーブルを作成できました。

 

(2)行をデータテーブルに挿入する

既存のデータテーブルに新しく行を追加できるアクションです。
下のデータテーブルに先ほど作った2行のデータテーブルを追加してみましょう。

 

 
アクションのパラメーターは以下のように設定します。
 データテーブル:UserList(追加先のデータテーブルの変数名)
 挿入場所:データテーブルの末尾
 新しい値:CurrentItem(後述)

 
さて、「UserList」に「NewEmployee」を追加していくのですが、追加する新しい値が「CurrentItem」になっていますね。
このアクションは「行(DataRowかList)をデータテーブルに挿入する」ものなので、「NewEmployee」を1行ずつ取り出して挿入していきます。
因みに、データテーブルをそのまま追加しようとするとエラーになります。
データテーブルから1行ずつ取り出すには、ループアクションの「For Each」を使います。
データテーブルに対して「For Each」を使用すると、データテーブルの各行をDataRow型の変数として取り出すことが出来ます。
今回は、反復処理を行う値に「NewEmployee」を設定し、その各行を「CurrentItem」という変数名で取り出しています。


 

 
実行すると以下のようにデータテーブルに行を追加できます。

 

データテーブルの中から特定の値を検索・置換することが出来ます。設定するパラメーターは下図のようになります。

パラメーターの数が多いので一見難しそうに感じるかもしれません。実際に使いながら使い方を覚えていきましょう。
では、早速「UserList」から「システム営業部」という文字を検索してみます。
 

うまくいけば黄色く塗った部分が取得できるはずです。
 
パラメーターは下記のように設定し、実行します。

 
結果がこちらです。

 
検索したい文字が見つかったセルの行番号と列番号をDatatable型の変数で取得できます。

検索結果の行やセルに対して処理を行うには、取得したデータテーブルに対して「For Each」アクションを使用しましょう。

 

(4)データテーブル項目を更新する

データテーブルの指定したセルの値を更新できます。

 
前項の検索・置換アクションと併用されることの多いアクションです。置換アクションと役割が重複している部分がありますが、うまく使い分けていきましょう。
単純な置換の場合は置換アクション、複合条件で置換する場合や複雑な処理を要する場合は本アクションが向いていると思います。
 
では、前項の検索結果を用いて部署を更新してみます。
今回は、「部署がシステム営業部」かつ「IDが2以下」の社員の部署を「システム営業部1課」、「部署がシステム営業部」かつ「IDが3以上」の社員を「システム営業部2課」に置換します。
アクションはこのように配置します。

 
検索結果のデータテーブルに「For Each」を使用します。
アクションのパラメーターはこのように設定しました。

 
検索結果の行番号と列番号を数値に変換してから使っている点に注意です。
実行してみると、

このように値を更新できました。

 

(5)データテーブルから行を削除する

データテーブルから指定した行を削除できるアクションです。

 
コチラも検索・置換アクションと併用されることの多いアクションです。
複数行を同時に消すことはできないので、消す対象が複数ある場合は「For Each」を使用します。
 
では、(3)の検索結果を用いて行を削除してみます。
今回は、「部署がシステム営業部」かつ「IDが3以上」の行を削除します。
アクションは以下のように配置します。

 
前項と同じく検索結果のデータテーブルに「For Each」を使用します。
ポイントは、行を削除すると行番号に変動があるということです。どういうことかと言いますと、下図のようなことが起きます。

 
そのため、検索結果の行番号をそのまま使うとエラーになってしまいます。
そこで、削除した行の数を保存しておくために「DelNum」という変数を用意しました。
この数値を削除対象の行番号から引くことで正しい行番号を指定できます。
実行すると、このような結果になります。


3.まとめ

以上、データテーブルアクション5種を簡単な使用例とともに紹介しました。
データテーブルアクションはPADでデータを加工する際の強い味方になってくれます。
今回紹介したフローは下記のリンクからダウンロードできますので、この機会に是非チャレンジしてみてください。
フローのダウンロードはコチラ→ https://fsh.ybcmap.net/yBF0xSlmfbpikUNHgqdCvM1GhcYA7u
ダウンロードページにてこちらのパスワードを入力してください→『9QbqPHhM』

 記事を書いた人
記事を書いた男性アイコン
 株式会社ワイ・ビー・シー
 営業部 開発チーム
 白川
 



PADに関連する記事はこちら
第1回 入門編 業務を自動化して作業を楽に
第2回 活用事例 メールの添付ファイルを自動保存
第3回 活用事例 Webページからデータを抽出しエクセルに転記
第4回 活用事例 無償アカウントでもフローを共有してさらに便利に!
第5回 活用事例 フローの不具合を見つけて直す
第6回 活用事例 表形式データのDatatableを活用しよう!
第7回 活用事例 「データテーブル」アクションを使いこなそう!
第8回 活用事例 面倒な複数箇所への転記作業はまとめて自動化!
第9回 活用事例 【続】面倒な複数箇所への転記作業はまとめて自動化!
第10回 活用事例 【続々】面倒な複数箇所への転記作業はまとめて自動化!
第11回 活用事例 PADで四則演算!

関連記事

PADで四則演算

【続々】複数個所への転記はまとめて自動化

【続】複数個所への転記はまとめて自動化