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

More than 1 year has passed since last update.

【PowerAutomateDesktop】変数を使ってExcelからDataTableを取得する方法と注意点

Last updated at Posted at 2023-07-20

変数を使ってExcelからDataTableを取得する方法を紹介します。

変数を使ってExcelからDataTableを取得する

今回取得する予定のExcelデータはこちらです。

image.png

それでは、さっそくPADで[Excelの起動]アクションで、こちらのExcelを開いていきます。
image.png

ExcelからDataTableを取得するためには、[Excelワークシートから読み取る]アクションを利用するのですが、最終列や最終行をベタ書きしてしまうと行や列が追加された場合に毎回フローを編集しなければならず手間になります。
image.png
※べた書きした例↑↑↑

そのため、最終列と最終行をそれぞれ保持する変数を用意します。

変数作成のためには、[Excelワークシートから最初の空の列や行を取得]アクションを使用します。
image.png

実行すると、FirstFreeColumnと、FirstFreeRowという変数が自動生成されました!
スクリーンショット 2023-07-20 180602.png

値にはそれぞれ、"4"と"9"という数字が格納されています。
Excelを確認すると…、きちんと最初の空白の列番号と行番号が取得されていることが分かります。
スクリーンショット 2023-07-20 180943.png

変数の用意ができたので、[Excelワークシートから読み取る]アクションにセットしていきます。
{x}をクリックすると、既存の変数を選ぶことができます。
変数は%で囲って使用します。
スクリーンショット 2023-07-20 181654.png

変数FirstFreeColumnと、FirstFreeRowが-1されていることにお気づきでしょうか?
[Excelワークシートから読み取る]アクションを利用して取得したいセル範囲は、以下オレンジで囲った部分になるため、それぞれ-1をします。
スクリーンショット 2023-07-20 180943.png

ヘッダーカラム付きのExcelの場合、詳細>範囲の最初の行に列名が含まれていますをオンにしてあげるのを忘れないようにしましょう。
image.png

作成したフロー

image.png

こちらを実行すると、無事に変数を使用してExcelからDataTableを取得することができました!
image.png

注意点

[Excelワークシートから最初の空の列や行を取得]アクションを使用するにあたって、注意点が2点あります。

注意点①

当たり前ではありますが、以下のようなデータの場合、E列、10行目が最初の列、行として取得されます。意図しない範囲を取得しないように、Excelデータの値にはご注意ください。
image.png

注意点②

注意点①と通ずる部分がありますが、もう一点紹介させていただきます。
こちらのExcelは、先ほど無事取得したExcelと同じように見えますが…
image.png

フローを実行すると、なぜか正しく値が取得出来ていません。
スクリーンショット 2023-07-20 184018.png

DataTableの値もこの通り、最初の空の列と行が正しく取得出来ていなかったため、不要な列と行が入ってしまっています。
image.png

原因はセルに余計な書式設定が入ってしまっていたこと。
image.png

Excelの値を用意したら、念のため必要な範囲の周囲の列と行を削除しておく等の対策が良いかもしれません。
image.png

おわりに

読んでいただきありがとうございました!
お役に立てれば幸いです。

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