ここで使ったUiPathなどの条件は次のとおりです
UiPath Studio 2023.12.0 Community Edition
UiPath.Automation.Activities v23.10.8
UiPath.Excel.Activities v2.23.0
直近でこの処理がとても楽になったと思ったので紹介します。UiPath StudioXで使われている部分でしょうか簡素化され、動作の信頼性も上がっています。
従来のバージョンだとDataTableに一旦落とし込んだ後の処理だとか、一行ごとに判定して処理。UiPath 外での処理だと、一旦ACCESSで読み込んでエクスポートしたり、Excelでマクロを組んだり(筆者はExcelのマクロは拡張子の種類が増えるのであまり好みませんが)。。。があったリすると思います。
手順
では手順を記載していきます。
Excelスコープを使います。途中までは他の記事でも書いていますが、再掲しますね。
[Excelプロセススコープ]のアクティビティを配置します。
[Excelファイルを使用]アクティビティを[Excelプロセススコープ]内の実行シーケンスに入れます。
これ以降がこの処理独自のものになります。
[Excelファイルを使用]アクティビティ内の[Excelファイル]入力部分に対象となるExcelブックのフルパスを記入します。
[フィルター]アクティビティを[Excelファイルを使用]内の実行シーケンスに入れます。
[フィルター]アクティビティ内のソースの右にある ⊕ マークをクリックするとプルダウンが出現するので[Exccel]を選択します。
すると新たなプルダウンが現れ、先に設定したExccel内のシートがリストで表示される(この例ではシートが一つ)ので、フィルターしたいシートを選択します。
途中ではありますが、ここで対象としたExcelシートですが業務等でよく見かける1行目を項目としたものになります。
さて、構築の続きですが、
ソースのシートを選択した後に、[フィルター]アクティビティ内の列名の右にある ⊕ マークをクリックするとプルダウンが出現するので今度は[範囲]を選択します。
するとさらにフィルターする項目のリストが表示されるので選択します。この例では 都道府県名 にしましょう。
ここまで来たら[フィルターを設定]ボタンをクリックします。
おなじみの、フィルター設定がダイアアログで表示されるので入力(この例では東京都)して[OK]をクリックします。
では、ここまでで一旦実行してみます。
結果は以下の様になって設定どおり 東京都 の結果だけが抽出された状態となります。
しかし良くご覧いただくとお解りのとおり、フィルター対象のデータ行が非表示になっています。データ集計の際には非表示ではなく削除してしまいたいことも多いと思います。
次のアクティビティを追加することで、必要行だけを残したものに出来ますので手順を示していきます。
[フィルター]アクティビティに続けて[行を削除]アクティビティを接続します。
表または範囲を聞かれますので、[フィルター]アクティビティの場合と同様にシートを選択します。
次に、削除対象の部分をクリックすると、削除したい内容がプルダウンで表示されます。
先に東京都以外を非表示にしており、東京都のみを残したいので[すべての非表示の行]を選択します。
以上で構築は終わりです。実行してみるとご覧の様に非表示行が消されたデータになります。
長々と説明しましたが、慣れればこの構築自体は数分、実行は数秒で終わります。
この記事は以上となります。
コメント