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?

【UiPath】表が2つあるExcel操作④データの読み込み

Last updated at Posted at 2025-08-24

表が2つあるExcelシートに対して

  • データの読み込み
  • データの削除
  • データの追記

などをどのように実装できるかを、各アクティビティの挙動を見ながら考えていきます。

今回は、データの読み込みについて。
サンプルとして使うExcelは、次のようなもの。
※表が2つあるときはヘッダ行が1行目にないことも多いので、そのようなケースを想定しています。
Excel_2Table_1.jpg

前回

データの読み込みを実装する2つの方針

「範囲の読み込み」アクティビティの挙動を踏まえると、それぞれの表を読み込む方法としては、次の2つが考えられます。

  1. 「範囲を読み込み」アクティビティで単一のセルを指定して読み込んだ後、「データテーブルをフィルター」アクティビティを使って必要な範囲のみを抽出
  2. 最終行の行数を取得し、Range(B4:F14)のように始点と終点のセルを指定して「範囲の読み込み」

それぞれの方針で取得してみます。

方針1

1.セルを指定して「範囲を読み込み」

「範囲の読み込み」の挙動についてで見たように、セルを指定して「範囲を読み込み」を行うと、そのセルから右下のデータをすべて含む形で読み込まれます。

Excel.Sheet("Sheet1").Range("B4")

Excel_2Table_10.jpg

2.「データテーブルをフィルター」アクティビティで必要な範囲のみを抽出

読み込み範囲(赤枠)に対して、実際に抽出したい範囲は青枠で囲った部分。
Excel_2Table_24.jpg

不要な行や列を取り除くために、「データテーブルをフィルター」アクティビティで行う処理は次の2つ。

  • B列からF列のみを抽出
  • 空白行を削除(左の表が右の表より行数が少なくなる場合に備えて)

設定は、次の通り。

  1. 「データテーブルをフィルター」アクティビティにて「フィルターを設定」をクリック
    Excel_2Table_26.jpg

  2. 「フィルター行」タブでは、すべての列が空白の行を削除するように設定
    ※NotNull制約の列がある場合は、その列のみで大丈夫です。
    Excel_2Table_27.jpg

  3. 「出力列」タブでは、取得したい項目のみを保持するように設定
    Excel_2Table_28.jpg

このアクティビティを、セルを指定した「範囲を読み込み」アクティビティの後に実装してあげれば、左側の表のみを抽出することができます。

3.実装

実際のフローがこちら。
Excel_2Table_30.jpg

取得結果がこちら。
Excel_2Table_29.jpg

無事に左側の表だけを抽出することができました。

ただ、この方針だと不要な領域まで読み込んでいるため、行数が増えれば増えるほど処理に時間がかかるようになってしまうのが欠点です。

方針2

1.最終行を取得して終点のセルを設定

最終行数の取得で見たように、VBAコードを利用もしくは「最初/最後のデータ行を検索」アクティビティを使って最終行を取得することができます。

2.セル範囲を指定して読み込み

最終行を取得することができたので、終点のセルを設定できるようになりました。
そのため、セル範囲を「B4:F14」のように指定することができます。

3.実装

実際のフローがこちら。
Excel_2Table_42.jpg

取得結果がこちら。
Excel_2Table_43.jpg

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?