WinActor

2020.09.15
サンプルシナリオ Excel関連 変数
「繰り返しグループ」の「データ数」を使用してExcelの売上明細から同月に販売した商品別の売上を算出するサンプルシナリオ

「繰り返しグループ」の「データ数」を使用してExcelの売上明細から同月に販売した商品別の売上を算出するサンプルシナリオとなります。

繰り返しグループのデータ数の使用方法や辞書と1次元配列ライブラリの学習に利用することができます。
本サンプルシナリオの項目を変更することで出力ファイルの変更が可能です。

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

サンプルシナリオ概要

はじめに

「繰り返しグループ」の「データ数」を使用してExcelの売上明細から同月に販売した商品別の売上を算出するサンプルシナリオ(以降、本サンプルシナリオ) について説明します。

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

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

  • Excelの売上明細から各行の日付と商品名、金額を取得します。
  • 同月に販売した商品の金額を合算し、商品の売上を算出します。
  • 新規に集計用のExcelファイルを作成します。
  • 集計用のExcelファイルに販売月と商品名、商品毎の合計金額が記載された表を作成します。

使用するWinActorモジュール

本サンプルシナリオでは、主として以下のWinActorモジュールを使用します。
太字の項目は、サンプルシナリオの実現にあたって重要度が高いWinActorモジュールです。

  • ノード/ユーザ/待機ボックス
  • ノード/変数/変数値設定
  • ノード/変数/変数値コピー
  • ノード/変数/四則演算
  • ノード/変数/カウントアップ
  • 03_変数/02_辞書と配列/辞書操作(初期化).ums6
  • 03_変数/02_辞書と配列/辞書操作(情報取得).ums6
  • 03_変数/02_辞書と配列/辞書操作(情報更新).ums6
  • 03_変数/02_辞書と配列/1次元配列操作(初期化).ums6
  • 03_変数/02_辞書と配列/1次元配列操作(情報取得).ums6
  • 03_変数/02_辞書と配列/1次元配列操作(情報挿入).ums6
  • 07_文字列操作/02_切り出し分割/文字列を前後に分割.ums6
  • 07_文字列操作/03_連結/文字列の連結(2つ).ums6
  • 07_文字列操作/03_連結/文字列の連結(3つ).ums6
  • 08_日付関連/日付書式変換.ums6
  • 18_Excel関連/01_ファイル操作/Excel操作(新規作成).ums6
  • 18_Excel関連/01_ファイル操作/Excel操作(上書き保存).ums6
  • プチライブラリ/03_変数/辞書から指定したキーと情報を削除するライブラリ
  • プチライブラリ/18_Excel関連/Excelファイルの罫線を引くライブラリ
  • プチライブラリ/18_Excel関連/Excelファイルで行の値を設定するライブラリ

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

動作確認環境

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

  • Windows 10
  • WinActor 6.3.0、7.1.0
  • Microsoft Excel 2019

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

本サンプルシナリオの実施方法は以下の通りです。

Step 1. 事前準備

本サンプルシナリオは、同梱されているExcelの売上明細を使用しています。
売上明細から抽出したい項目の名前が、本サンプルシナリオの変数一覧に存在していることを確認してください。
存在しない場合、正しくデータが抽出できない可能性があります。
(本サンプルシナリオで抽出したい項目は日付と商品名、金額になります。)

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

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

Step 3. 動作に必要な変数の設定

本サンプルシナリオを実行するために必要な値を、変数一覧で設定します。
事前に設定が必要な変数は下記の3つです。

  • 情報抽出対象Excelファイル
    • 商品の売上を抽出する対象となる売上明細を指定してください。
       例) C:\winactor\売上明細.xlsx

  • 表作成対象Excelファイル
    • 新規に作成するExcelファイルを指定してください。
       例) C:\winactor\月商品別売上表.xlsx

  • 書き込む行番号 
    • 作成する表の先頭行の位置を指定してください。
       例) 表をExcelの1行目から作成:1

      10931_input1.png

変数一覧画面1

Step 4. 動作に必要な変数の確認

本サンプルシナリオを正常に実行するために必要な値が、変更されていないことを確認します。
事前に確認が必要な変数は下記の4つです。

  • 合計金額
    • 商品別に売上の算出を行うために設定されています。
       初期値:0

  • 配列インデックス
    • 商品別に算出した売上の確認を行うために設定されています。
       初期値:0

  • 辞書登録キー一覧配列 
    • 配列の作成を行うために設定されています。
       初期値:配列

  • 合計金額一覧辞書
    • 辞書の作成を行うために設定されています。
       初期値:辞書

10931_input2.png

変数一覧画面2

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

WinActorで本サンプルシナリオを実行します。
集計した結果のExcelファイルが保存されると本サンプルシナリオは終了します。

Step 6. サンプルシナリオの終了後の確認

変数一覧内の表作成対象Excelファイルに指定したパスのExcelファイルが新規に作成され、
Excelファイル内に同月に販売した商品別の売上表が作成されていることを確認してください。

トラブルシューティング

本サンプルシナリオでは、変数指定が不十分であった場合、エラーメッセージが出力されます。
詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

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

1. 作成する表の見出しを設定

本サンプルシナリオでは、「Excel操作(行の書き込み)」を使用して、表の見出しを設定しています。
見出しを設定する行番号は、変数一覧内の書き込む行番号に設定して行います。
項目名の設定は、「Excel操作(行の書き込み)」内のライブラリ変数の「A列」、「B列」、「C列」に指定して行います。

10931_input3.png

Excel操作(行の書き込み)の設定

設定する項目名数を変更する場合は、以下の手順で変更してください。

1.「Excel操作(行の書き込み)」のスクリプトタブを選択してください。
2.「value1 = !A列!」の記述が出現する位置までスクロールしてください。
3-1.項目数を増やす場合は、以下に添付されている画像の赤枠内の記述をコピーしてアルファベットと番号を振り直してください。

10931_input4.png

Excel操作(行の書き込み)で項目の変更


例)D列分を追加後

10931_input5.png

Excel操作(行の書き込み)で項目を追加後

3-2.項目数を減らす場合は、以下に添付されている画像の赤枠内の記述から該当する列を削除してください。

10931_input6.png

Excel操作(行の書き込み)で項目の削除


例)C列分を削除後

10931_input7.png

Excel操作(行の書き込み)で項目の削除後

2. 商品毎の合計金額を算出

本サンプルシナリオでは、繰り返し処理のデータ数と辞書操作系ライブラリ、
1次元配列操作系ライブラリを使用することで、同月に販売した商品の合計金額を算出しています。

  1. 日付と区切り文字列、商品名を結合し、辞書のキーを作成します。
  2. 辞書にキーと金額を登録します。
  3. 正常に登録ができたら配列にキーを順番に登録し、キーリストを作成します。
  4. キーは重複して登録が出来ないため、既に同一のキーが存在する場合は対象となるキーをもとに情報を辞書から取得し、現在変数一覧の合計金額に設定します。
  5. 4で対象となったキーと情報を辞書から削除します。
  6. 合計金額に変数一覧の金額に設定されている値を加算します。
  7. 4で対象となったキーと合計金額を辞書に登録します。

10931_input8.png

合計金額の算出

3. 作成する表の各項目に値を設定

本サンプルシナリオでは、以下の手順で表の各項目に値を設定しています。

  1. 指定した1次元配列から、同月に販売した商品の合計金額を保持する辞書のキーとなる値を取得します。
  2. 指定したキーに対応する合計金額を取得します。
  3. 1で使用したキーとなる値をカンマで区切り、カンマより前の値を日付、カンマより後の値を商品名として取得します。
    ※日付と商品名の間にカンマを使用して結合し、辞書のキーを作成したためカンマで値の分割を行っています。
  4. 「Excel操作(行の書き込み)」を使用して、表の各項目に値を設定しています。
    項目を増やす場合は、サンプルシナリオ解説の「1. 作成する表の見出しを設定」に記載されている手順を参照してください。

10931_input9.png

辞書の値からExcelに転記

4. 繰り返しグループのデータ数

本サンプルシナリオでは繰り返しグループのデータ数を使用しています。
データファイル名に抽出用のExcelファイルを指定することで、抽出用のExcelファイルのデータ数分の処理を繰り返すことができます。
本サンプルシナリオでは、売上明細.xlsxのデータ件数分の処理を繰り返しています。
詳細についてはWinActor操作マニュアルの「繰り返しの判定条件(データ数)の設定」を確認してください。

10931_input10.png

繰り返しグループのデータ数

変更履歴

版数 日付 修正内容
版数
1.0版
日付
2020/9/15
修正内容
初版
版数
1.1版
日付
2024/1/11
修正内容
・注意事項を削除
・ファイル名を「SS2009_10931_LoopGroupOperation_CalcSales_SameMonth_1.0.1.zip」に変更

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

"変数"に関連するその他のサンプルシナリオ

サンプルシナリオ一覧へ戻る
当サイトでは、お客さまに最適なユーザー体験をご提供するためにCookieを使用しています。当サイトをご利用いただくことにより、お客さまがCookieの使用に同意されたものとみなします。詳細は、「プライバシーポリシー」をご確認ください。