複数のExcelファイルからデータを抽出して集計するサンプルシナリオ

人気
2019.05.17【18_Excel関連】
WinActorのExcel操作ライブラリを使用して、指定したフォルダ内の全Excelファイルからデータを抽出し、別のExcelファイルに集計するサンプルシナリオとなります。

※本サンプルシナリオをダウンロードする前に、こちらの注意事項を必ずご確認ください。

DOWNLOAD
340.1 KB
複数のExcelファイルからデータを抽出して集計するサンプルシナリオ

複数のExcelファイルからデータを抽出して集計するサンプルシナリオ

はじめに

WinActorのExcel操作ライブラリを使用して、指定したフォルダ内の全Excelファイルからデータを抽出し、別のExcelファイルに集計するサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

注意事項

本サンプルシナリオ利用時の注意事項はこちらです。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

シナリオ概要
シナリオ概要
  • 指定されたフォルダ内の全Excelファイルからデータを抽出し統合先Excelファイルに転記します。
  • 統合元Excelファイルからカラム名を取得し、統合先Excelファイルへ転記します。
  • 統合元Excelファイルの検索キーワードを使用して統合先Excelファイル内を検索し、一致するデータがある場合、統合先Excelファイルに集計データを転記します。一致するデータがない場合、統合先Excelファイルにキーワードを追加と集計データを転記します。 ※サンプル画像の黄色網掛けが統合先に存在しないキーワードです。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • 13_ファイル関連/04_ファイル一覧/ファイル一覧(ファイル数)取得.ums5
  • 13_ファイル関連/04_ファイル一覧/ファイル一覧(ファイル名)取得.ums5
  • 18_Excel関連/Excel操作(検索一致).ums5
  • 18_Excel関連/Excel操作(値の設定).ums5
  • 18_Excel関連/03_行列操作/Excel操作(最終行取得 その4).ums5
  • 18_Excel関連/09_セル位置/A1形式 次の行へ.ums5
  • プチライブラリ/18_Excel関連/Excelファイルで指定行の最終列を取得するライブラリ
  • プチライブラリ/18_Excel関連/指定した値をExcelのセルに設定する(行列の数値指定可)ライブラリ
  • プチライブラリ/18_Excel関連/指定したExcelのセルの値を取得する(行列の数値指定可)ライブラリ

    (プチライブラリはこちらからダウンロード可能です。)

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10
  • WinActor 5.3.1
  • Microsoft Excel 2016

制約事項

  • 統合元フォルダのExcelファイルは同じシート名、同じフォーマットのExcelファイルを使用してください。
  • 統合元フォルダはExcelファイルのみを格納してください。

本サンプルシナリオの使い方

本サンプルシナリオの使い方は以下の通りです。

Step 1. サンプルシナリオの読み込み

ダウンロードしたZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step 2. 動作に必要な変数を設定

本サンプルシナリオの実行にあたり、事前に設定が必要な変数は以下の通りです。

変数一覧設定箇所
変数一覧設定箇所
  • 統合元フォルダパス
    • 統合元のExcelファイルが格納されているフォルダ名を絶対パスで指定します。※フォルダを指定してください。

      例) C:\winactor\sample\入力データ

  • 統合ファイルパス
    • 統合したExcelファイルを保存する際のファイル名を絶対パスで指定します。※ファイルを指定してください。

      例) C:\winactor\sample\出力データ\統合先.xlsx

動作を変更するための変数

本サンプルシナリオには、動作を変更するための変数が存在します。
添付されたサンプル(sampleフォルダ)を入力ファイルとして使用する場合、初期値のまま実行しても問題ありませんが、入力ファイルや出力ファイルのフォーマット変更や、検索範囲変更などを行う場合、以下の変数の値を変更してください。

変数一覧動作変更向け
変数一覧動作変更向け
  • 統合元シート名
    • 統合元フォルダパス内のExcelファイルから集計データを取得するシート名を指定します。

      例) 入力データ

  • 統合シート名
    • 統合ファイルパスで指定したExcelファイルのシート名を指定します。指定したシートへ集計データを転記します。

      例)結果

  • 統合元のカラム名セル
    • 統合元フォルダパス内のExcelファイルからカラム名を取得するセルをA1形式で指定します。

      例) A1

  • 統合元集計キーワード取得列
    • 統合元フォルダパス内のExcelファイルから検索キーワードを取得する列を数値で指定します。A1形式でAの場合は1を指定します。

      例) 1

  • 統合元集計データ取得列
    • 統合元フォルダパス内のExcelファイルから集計データを取得する列を数値で指定します。A1形式でBの場合は2を指定します。

      例) 2

  • 統合元集計データ取得行(初期値)
    • 統合元フォルダパス内のExcelファイルから集計データを取得する行を数値で指定します。

      例) 3

  • 統合ファイルのカラム名の行
    • 統合ファイルパスで指定したExcelファイルにカラム名を転記する転記先の行を数値で指定します。 例) 2
  • 統合ファイルのキーワード列
    • 統合ファイルパスで指定したExcelファイルに転記する検索キーワードの列を英字で指定します。

      例) A

  • 統合ファイルのキーワード開始セル
    • 統合ファイルパスで指定したExcelファイルに対する検索範囲の開始セルをA1形式で指定します。

      例) A1

サンプル(sampleフォルダ)のセルと変数の補足

統合元の変数
統合元の変数
統合先の変数
統合先の変数

Step 3. サンプルシナリオの実行

WinActorで本サンプルシナリオを実行開始します。
全Excelファイルの抽出/集計が完了すると、本サンプルシナリオは終了します。

Step 4. サンプルシナリオの終了後

本サンプルシナリオの実行完了後、統合ファイルパスで指定したExcelファイルに集計した結果が転記されます。

Step2で記載した変数設定例の場合、「C:\winactor\sample\出力データ\統合先.xlsx」が生成されています。

トラブルシューティング

本サンプルシナリオでは、変数で誤った指定をした場合、エラーメッセージが出力されます。

詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて説明します。

統合元フォルダ内のExcelファイル分ループ処理

ファイル分ループ処理
ファイル分ループ処理

ファイル一覧(ファイル数)ライブラリで統合元フォルダ内のファイル数を取得し、ファイル数分ループするようにしています。 ループ内のファイル一覧(ファイル名)取得ライブラリでファイルのインデックスを指定しており、ループの最後にファイルインデックスを格納している変数をカウントアップすることでファイルが順番に取得されるようにしています。

統合元Excelファイルの検索キーワード分ループ処理

キーワード分ループ処理
キーワード分ループ処理

統合元Excelファイルの検索キーワードの列(サンプルのA列)に値が存在するかチェックし、データがある場合は後続処理が実行されます。 ループグループの最後に行を格納している変数をカウントアップすることで次の行のセルがチェックされるようにしています。 データの存在する間、上記がループし、データが無くなり次第ループを終了しています。

統合ファイルの検索キーワード有無で処理分岐

キーワード有無で処理分岐
キーワード有無で処理分岐

統合元Excelファイルの検索キーワードが統合先のExcelファイルに存在するかチェックし、処理を分岐しています。※完全一致検索のため、部分一致のキーワードでは該当なしの分岐となります(大文字と小文字を区別します)。

統合先にキーワードが存在する場合、統合先のキーワードに一致した行+統合先の最終カラム名の列に集計データを転記しています。 統合先にキーワードが存在しない場合、キーワードを統合先の最終行に追加し、統合先の最終行+統合先の最終カラム名の列に集計データを転記しています。

変更履歴

版数 日付 修正内容
1.0版 2019/05/17 初版
Twitterでシェア Facebookでシェア
ページの最上部に移動します