Power Automate Desktop|Excelデータの最終行を取得する方法

Power Automate for desktopを使って、Excelデータの最終行を取得する方法を解説します。ついでにワークシート内のデータの範囲を把握する方法も身に付けましょう。

この記事の内容

それではどうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) ITエンジニア歴25年超。RPA開発歴8年超
2) RPA関連の書籍を6冊出版。
3)RPAトレーニング動画を販売しています。
4)RPAトレーニング研修を行っています
5)ご質問・お仕事のご依頼はこちら

Excelデータの最終行を取得する方法

「Excelデータの最終行を取得したい」というときがありますよね。特に列によって行数が異なるデータの場合です。下図の例で解説します。

本来A列、B列、C列のすべてに値が入力されているべき表があると仮定します。A列とC列の列数を取得し、A列とC列の差があるときは未入力セルがあると判断します。この例ではC5、C6のセルが未入力と判断できます。

この例のように、列を指定して最終行を取得する場合は、[Excelワークシートから列における最初の空の行を取得]アクションを使用します。[Excelワークシートから列における最初の空の行を取得]アクションはアクションペインの[Excel]→[詳細]に格納されています。

[Excelインスタンス]のドロップダウンリストで、操作するExcelインスタンスを選択してください。

このアクションを使うには、[Excelの起動]アクションを使って、Excelのインスタンスを起動している必要があります。また、Excelのインスタンスが1つだけの場合は、[Excelインスタンス]のドロップダウンリストには最初からExcelインスタンス型変数が入力されています。

[列]にはExcelワークシートの列を識別するインデックス番号またはテキスト(A列の場合は「A」)を入力します。インデックス番号を入力する場合、列の付番は1から始まります。

フローを実行すると、[生成された変数]に指定された列の完全に空の最初の列の数値が入ります。作成された変数から1を引くと行数が取得できます。

Excelワークシート内のデータの範囲を把握する方法

「Excelワークシートからデータを取得したいが、Excelワークシート内のデータの範囲がわからない」という場合には、Excelワークシート内のデータの範囲を把握しなければいけません。

データの範囲が何列、何行あるのかを取得するには[Excelワークシートから最初の空の列や行を取得]アクションを使用して、データの最初の空の列と行を取得します。[Excelワークシートから列における最初の空の行を取得]アクションはアクションペインの[Excel]アクショングループに格納されています。

例を使って解説します。

完全に空の最初の列は4列目(D列)なので、データは3列目まで入っていることがわかります。

完全に空の最初の行は7行目なので、データは6行目まで入っていることがわかります。

RPA推進部署および部署リーダーの皆様へ
社内の生産性を飛躍的に向上させましょう。法人向けにトレーニング動画「業務自動化!RPA入門 Power Automate for desktop」を販売しています。

  • 初心者でも簡単に学べる内容:
    基本からわかりやすく学べるので、全社員がすぐに活用できます。
  • 視聴人数・回数に制限なし:
    一度の購入で全社員が自由に学べます。いつでも、どこでも繰り返し視聴可能です。
  • スキマ時間で学べる設計:
    忙しいビジネススケジュールの中でも、効率良く学習を進めることができます。
  • Excel業務にフォーカス:
    実務に役立つExcelスキルを中心に、即効性のあるトレーニングを提供します。
  • 動画視聴トライアル:
    全ての動画を無料でご確認いただけます。
詳細はこちらをご覧ください!

Power Automate Desktop
完全自動化研究所

コメント ログインすると書き込めます

  1. kenji より:

    色々勉強になります。
    ありがとうございます。

    最終行を取得し、テキストを書き込もうとした結果、2行目の想定でしたが何故か最終形が690行になってしまいました。
    何か考えうる原因があれば教えていただけますでしょうか。

    • こさいこさい より:

      Kenjiさん、こんにちは。
      変数[FirstFreeRow]の値が690になっているんでしょうか?
      考えられるとしたら689行目になんらかの値が入っている、くらいですかね。
      もう少し詳しい情報があれば、もっと考えられますよ。