こんにちは!UiPath メンターです。
「1万件ある売上データから、東京支店のデータだけを抽出したい」
「商品IDを元に、マスタ表から商品名を引っ張ってきたい(VLOOKUP)」
これらをExcelの機能(オートフィルタや関数)を使ってロボットにやらせることも可能です。
しかし、データ量が増えるとExcelが固まったり、動作が遅くなったりしますよね。
UiPathには、Excelを開かずにメモリ上だけでこれらを処理する専用機能があります。
驚くほど高速で、しかもバックグラウンドで動くため、画面操作のエラーとも無縁です。
1. データを絞り込む:「データ テーブルをフィルター」
まずは、特定の条件に合う行だけを残すフィルタリングです。
手順
- まず、元となるデータを [範囲を読み込み] で変数(例:
dt_AllData)に格納しておきます。 - [データ テーブルをフィルター (Filter Data Table)] アクティビティを配置します。
- [フィルター ウィザード (Configure Filter)] ボタンをクリックします。
ウィザードの設定方法
この画面で「何を残して、何を捨てるか」を定義します。
- 入力データテーブル (Input Data Table): 元のデータ(
dt_AllData) - 出力データテーブル (Output Data Table): 結果を入れる箱(例:
dt_TokyoData)
※元と同じ変数を指定すれば、上書き保存になります。 - 行のフィルター (Filter Rows):
- [保持 (Keep)]: 条件に合う行を残す(基本はこちら)。
- [削除 (Remove)]: 条件に合う行を消す。
- 条件欄:
"支店名"="東京"のように設定。
これで [OK] を押せば、一瞬で東京支店だけのデータテーブルができあがります!
あとはこれを [範囲に書き込み] でExcelに出力すれば完了です。
2. データを結合する:「データ テーブルを結合」
次は、Excelの「VLOOKUP関数」にあたる操作です。
「売上リスト」にある商品IDを使って、「商品マスタ」から商品名を持ってきたい時に使います。
手順
- 「売上リスト(
dt_Sales)」と「商品マスタ(dt_Master)」をそれぞれ読み込んでおきます。 - [データ テーブルを結合 (Join Data Tables)] アクティビティを配置します。
- [結合ウィザード] を開きます。
結合の種類(ここが重要!)
ウィザードの真ん中にある「結合の種類」を選びます。
- Inner (内部): 両方のテーブルにIDがあるデータだけ残す。(マスタにない商品は消える)
- Left (左): 売上リスト(左)は全部残し、マスタ(右)があればくっつける。(マスタになければ空欄になる)
※VLOOKUPと同じ動きをしたいなら、通常はこれを選びます。 - Full (完全): どっちかにあれば全部残す。
結合条件
「どの列を使って紐付けるか」を指定します。
- データテーブル1:
"商品ID" - 操作:
= - データテーブル2:
"商品コード"(名前が違っていても中身が同じならOK)
これで実行すると、売上リストの横に、対応するマスタの情報が連結された「巨大な横長のテーブル」が生成されます。
3. 必要な列だけ選ぶ:「列の削除」
結合すると、不要な列(例えば両方のテーブルにあった「ID列」が2つ重複するなど)まで含まれてしまいます。
最後にデータを整えましょう。
- [データ列を削除 (Remove Data Column)]:特定の列を消します。
- または、最初の [データ テーブルをフィルター] のウィザードにある [出力列 (Output Columns)] タブを使って、「必要な列だけリストアップして保持する」ということも可能です。
今回のまとめ
- Excel操作よりも、データテーブル操作の方が圧倒的に速い。
- [フィルター] アクティビティで、行の抽出も列の整理もできる。
- [結合] アクティビティを使えば、VLOOKUPのような紐付け処理が可能。
💡 メンターからのアドバイス:型に注意!
結合(Join)やフィルターをする時、「ID」が片方は数値(101)、もう片方は文字列(”101″)だと、ロボットは「一致しない」と判断してしまいます。
Excelから読み込む時に型を揃えるか、読み込み後に変換する必要があります。データがうまく結合されない時は、まず「型」を疑いましょう。
次回からは第3章「堅牢なロボットを作る」編。
ロボットがエラーで止まってしまった時、そのままフリーズさせるのではなく、「エラーが発生しました」と報告して安全に終了させる技術、「エラーハンドリング(Try Catch)」を学びます。
これを知っていると、夜間の無人実行も怖くありません!