【様々な帳票をWinActorでラクラク時短処理!!】 新機能「雛形・データ」ライブラリと従来の「Excel関連」ライブラリでは、 どちらが速くて最適か?
目次
はじめに
今回の機能追加により帳票操作の自動化が大幅に簡単になり高速化したとされています。
そこで、処理速度がどのくらい高速化したかを確認するため、後者の専用部品「雛形・データ」ライブラリを使用したものと、従来の「18_Excel関連」のライブラリを使用したもの(以下、「Excel関連」ライブラリ)の2パターンで帳票処理を作成し、各シナリオ実行時間を計測してパフォーマンスを比較し、5評価してみました。
以下のような方のご参考になれば幸いです。
- 帳票業務のシナリオ作成に課題を感じている
- WinActorの実行時間を短縮したい
- 繰り返し処理するExcelデータ数が多い
- 処理時間の長さによりライセンス数を増やすかどうか悩んでいる
帳票操作の処理速度をシナリオ2パターンで比較してみた
検証の概要
<処理概要>
1000件の発注書データ(転記元Excel)を読み込み、商品名でフィルタリングして発注書_抽出データ(転記先Excel)に転記する。
※実際の業務ではExcelからExcelへの転記より、Excelからシステムに入力する作業をRPA化しているケースが多いと思いますが、ここでは処理速度を比較しやすくするため使用ツールをExcelに限定しています。
| 手動時の流れ | 「Excel関連」ライブラリ 使用シナリオ |
「雛形・データ」ライブラリ 使用シナリオ |
|---|---|---|
| 前処理 | ①【雛形・データ 読み取り】 転記元Excelファイルからデータを読み取り、構造化データの変数に格納する |
|
| 商品名を 「ボールペン」で絞り込む (後述、処理A) |
①【Excel操作(フィルタ条件設定、件数取得)】 転記元Excelファイルを開いて、商品名を「ボールペン」で絞り込み、対象のデータの件数を取得する |
②【雛形・データ 表形式指定 フィルタリング】 格納された構造化データからさらに商品名が「ボールペン」のみのデータに絞り込む |
| 絞り込み後、 商品名がボールペンのデータ(行)をExcelファイルに転記する (後述、処理B) |
②【エミュレーション】&【Excel操作(アクティブセルのセル位置を取得)】 転記元Excelファイルの値を読み込むため、カーソルを1行下に移動させてセルの位置を取得する ③【Excel操作(行の読み取り)】 カーソル位置の行の値(商品コード、商品名、数量、単価、金額(税込み))を取得し、各変数へ格納する ④【セル位置文字列の連結(2つ)】&【Excel操作(値の設定)】 転記先Excelファイルのセル位置を生成して、ファイルへ各変数の値を転記する ⑤【カウントアップ】 転記先Excelファイルの次の行に値を転記するため、行の変数をカウントアップする ⑥【Excel開く(前面化)】 カーソル移動(②)をするため、転記元Excelファイルの前面化する。 |
③【雛形・データ 表形式指定 行または列の挿入】&【雛形・データ 表形式指定 値の設定】 転記先Excelファイルに合った(上記①の構造化データとは別の新たな)構造化データに行の追加とデータを格納する ④【雛形・データ 書き込み】 転記先Excelファイルに構造化データ(商品名が「ボールペン」のみ)のデータを一括で書き込む |
<用意するファイル(Excel)>
①インプットファイル
WinActor に読み込ませる転記元の発注書をExcelで用意します。
今回は以下のサンプルファイルを使用します。
明細(表部分)がシナリオで繰り返し処理するデータ(トランザクション)です。
②テンプレートファイル
転記先ファイルの出力フォーマットを定義した雛形をExcelで用意します。
当ファイルは実行前に、ヘッダのみ記載した状態で名前を付けて所定の場所に格納しておきます(最終的にアウトプットファイルとなります)。
※「雛形・データ」ライブラリを使用する場合、繰り返しの度にExcelにアウトプット(転記元Excelの明細部分から取得した値を転記先Excelに貼り付け)するのではなく、構造化データを都度更新し、繰り返し終了後に転記先Excelに一気に書き込みます。あらかじめ列名が指定されたExcelファイルを用意し、これに合わせた構造化データを作成させます。
シナリオ比較:「Excel関連」 VS 「雛形・データ」
検証結果:実行時間の短縮率
実行時間は、「Excel関連」ライブラリ使用時と比較して、「雛形・データ」ライブラリ使用時のシナリオの方の処理時間が短くなりました。
※実行時間の計測対象範囲はExcelファイルの読込~転記まで
今回の比較検証の前提として、インプットファイルの読み込みから項目フィルタリング、転記してアウトプットファイルを生成する処理までを、各シナリオの実行時間比較のための計測範囲としています。
考察:なぜ短縮できたか
「雛形・データ」ライブラリ使用シナリオでは、Excelファイルから読み取ったデータを構造化データに変換し、そのデータに対する繰り返し処理はExcelファイルを介さず実行できること、一括で書き込めることが、処理時間短縮の大きな要因と考えられます。
実際に、転記元Excelのファイル読み込みと構造化データへの変換には少し処理時間を要した一方、転記先Excelへの書き込みは一瞬で完了していることを確認しました。
まとめ
「Excel関連」ライブラリ使用シナリオと比較して、実行時間を短くすることができました。
数十件程度のデータ数では高速化の効果をあまり感じられない可能性がありますが、処理件数が増えれば増えるほど短縮時間が増加すると考えられるため、処理の効率化に繋がると考えられます。
処理速度以外に、それぞれ以下のような特徴があります。
| 比較観点 | 「Excel関連」ライブラリ使用シナリオ | 「雛形・データ」ライブラリ使用シナリオ |
|---|---|---|
| 処理速度 | 従来通り 大量データ処理時に時間がかかる傾向がある。 |
やや高速化 従来手法に比べて処理速度が約1/4短縮した。 ※検証では、Microsoft Excel for Microsoft 365使用していますが、Microsoft OfficeのExcelを使用した場合は、処理速度が変わる可能性があります。 |
| 難易度 | ★☆☆ Excelファイルに対する操作を配置・設定すればよいため、操作対象や処理の流れを直感的にイメージすることができ、実装が比較的容易。 |
★★☆ 構造化データを理解していることが前提となり、構造化データの値の操作に慣れるまで、処理の流れの検討やライブラリの設定に難しさを感じる可能性がある。 |
| 安定性 | 低~標準 エミュレーション操作やアクティブセル位置の取得、カーソル移動といった、Excelファイルに対する直接操作が組み込まれる場合があるが、それらはExcelのアプリケーション状態によってはシナリオの実行エラーや意図しない操作を招く可能性がある。 |
高い Excelファイルの読み込み及び書き込み以外は、Excelファイルに対する直接操作がなく、処理の大半が構造化データ内で完結するため安定性が向上する。 |
| 保守性 | 低い セル位置生成(文字列連結)のように、Excel操作のために使用する部品数が比較的多いため、処理対象の項目が増えれば増えるほど、修正を要する箇所も増えて保守性は低下する。 |
やや高い 部品数が比較的少なく、処理対象の項目が増えても修正を要する箇所が最小限に抑えられる。 |
| 流用性 | 標準 部品をコピーし、一部のプロパティ設定や変数を変更するだけで他の類似処理のシナリオを作成できるケースが多い。 |
標準 同じ形式の帳票を使用して類似処理をするシナリオを作成する場合、流用性は「Excel関連」ライブラリ使用時と変わらない。一方、異なる種類の帳票を新たに操作する場合は生成AIによる単票/帳票形式の雛形・データ抽出機能、もしくは構造化データを改修することによって、新しい「雛形・データ」を生成する必要がある。 |
安定性や保守性など、業務要件に合わせて使い分けてみると良いのではないでしょうか。本コラムでは、WinActorを使った帳票処理の高速化についてご紹介しました。
CACではRPAの開発、さらには運用・保守やトレーニングをワンストップにサポートしています。是非、お気軽にお問い合わせください。
おまけ
検証で使用したインプットファイルとテンプレートファイルは実は、WinActorの生成AI連携機能の一つ、単票/帳票形式の雛形・データ抽出機能を使って事前に読み込んでいました。インプットファイルを雛形・データ抽出機能で読み込むと、Excelファイル上のデータ名と実データ、及びその位置情報を持つ構造化データが生成され、変数「雛形・データ」の初期値に取り込まれます。また、アウトプットファイルのヘッダ(データ名)とそのセル位置も同様に、構造化データのテンプレートとして、変数「雛形・データ(商品名フィルタリング)」の初期値に取り込まれます。データ名やデータの位置情報が初期値に設定されることにより、フォーマットが同じ別の帳票を既存のシナリオで処理することができます。
転記元Excel:「発注書_yyyymm.xlsx」
転記先Excel:「発注書_抽出データ.xlsx」
本記事のカテゴリ :RPA技術コラム
PickUP
本記事に関連するCACのサービスやお役立ち情報をご紹介します。
RPA技術レポート無料ダウンロード
- 【コラム】RPAによる業務改善、効率化推進の成功のカギ【連載第二弾】~モデルケース② 最適な業務選定~
- 【コラム】RPAによる業務改善、効率化推進の成功のカギ【連載第一弾】~モデルケース① 導入効果の実感~
- 【コラム】WinActorで生成AI連携 ~シナリオひな型作成機能におけるプロンプト検証の実例と比較まとめ~【連載第三弾】
- 【コラム】どうもうまくいかない!?SharePoint Online(SPO)とRPAの”あるある”をこう解決した!
- 【サービス】RPA開発/サポートサービス
- 【サービス】RPA+Oneソリューション
- 【サービス】RPA研修 自社開発イネーブルメントプログラム
- 【動画】CAC RPAセミナー オンデマンド
- 【資料ダウンロード】美しいコードをみると感動する、美しいワークフローの作り方|CAC RPA White Paper
























