アクティビティ
最新
バナーの背景画像
生産性を高めるアクティビティ
最終更新日 2024年4月26日

数値を比較する

以下の例では、Excel ファイルの 2 つの異なる列の数値を比較する方法を説明します。[範囲を読み込み][Excel アプリケーション スコープ][セルに書き込み] のようなアクティビティを使用します。これらのアクティビティは UiPath.Excel.Activities パッケージに含まれています。

この例では、列 A と B の値を比較し、新しい列 C に結果を書き込みます。C 列では、= は数値が等しいことを意味し、A は最初の数値が大きいことを意味し、B は 2 番目の数値が大きいことを意味します。

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。プロセスの既定の名前は Main です。

    注: プロジェクト フォルダーで使用する .csv ファイルを必ず追加してください。このページの下部からサンプルをダウンロードして、サンプルに含まれるファイルを使用することもできます。
  2. ワークフロー デザイナー[フローチャート] をドラッグします。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      existingColumns

      WorkbookApplication

      N/A

      RowIndex

      Int32

      1

  3. [フローチャート][Excel アプリケーション スコープ] アクティビティをドラッグし、[Start] ノードに接続します。

    • [Excel アプリケーション スコープ] アクティビティをダブルクリックして開きます。
    • [プロパティ] パネルで [ブック パス] フィールドに .xlsx ファイルのパスを追加します。このサンプルの場合は columns.xlsx です。
    • [自動保存][新しいファイルを作成]、および [可視] オプションのチェック ボックスを選択します。これによりロボットが新しい Excel ブックを作成し、それに加えられたすべての変更を自動的に保存し、アクションを実行しながら Excel ファイルを前面で開くことができるようになります。
    • [ブック] フィールドに existingColumns 変数を追加します。
  4. [Excel アプリケーション スコープ] アクティビティ内の [実行] シーケンスを選択し、次の変数を作成します。

    変数名

    変数の型

    既定値

    dtColumns

    System.Data.DataTable

    N/A
  5. [実行] シーケンス内に Excel の [範囲を読み込み] アクティビティをドラッグします。

    • [プロパティ] パネルで [シート名] フィールドに名前 "Sheet1" を追加します。
    • [データ テーブル] フィールドに変数 dtColumns を追加します。
  6. [繰り返し (各行)] アクティビティを、[範囲を読み込み] アクティビティの下にドラッグします。

    • [プロパティ] パネルで、変数 dtColumns を [データ テーブル]
  7. [繰り返し (各行)] アクティビティの [本体] シーケンス内に [条件分岐 (if)] アクティビティをドラッグします。

    • [条件 (Condition)] フィールドに式 cint(row(0))=cint(row(1)) を追加します。cint メソッドは、表から抽出された値を Int32 形式に変換し、2 つの数値の比較を可能にします。
  8. [セルに書き込み] アクティビティを [条件分岐 (if)] アクティビティの [Then] セクションにドラッグします。

    • [プロパティ] パネルで [範囲] フィールドに式 "C" + RowIndex.ToString を追加し、[シート名] フィールドに変数 "Sheet1" を追加します。
    • [右辺値 (Value)] フィールドに式 "=" を追加します。
  9. [条件分岐 (if)] アクティビティを [条件分岐 (if)] アクティビティの [Else] セクションにドラッグします。

    • [プロパティ] パネルで [表示名] フィールドに名前 If values を追加します。
    • [条件 (Condition)] フィールドに式 cint(row(0)) > cint(row(1)) を追加します。
  10. [If values] アクティビティの [Then] フィールドに [セルに書き込み] アクティビティを追加します。

    • [プロパティ] パネルで [範囲] フィールドに式 "C" + RowIndex.ToString を追加し、[シート名] フィールドに変数 "Sheet1" を追加します。
    • [値] フィールドに式 A を追加します。最初の数値が 2 番目の数値より大きい場合、この値は列 C に書き込まれます。
  11. [If values] アクティビティの [Else] フィールドに [セルに書き込み] アクティビティを追加します。

    • [プロパティ] パネルで [範囲] フィールドに式 "C" + RowIndex.ToString を追加し、[シート名] フィールドに変数 "Sheet1" を追加します。
    • [値] フィールドに式 B を追加します。最初の数値が 2 番目の数値より小さい場合、この値は列 C に表示されます。
  12. [繰り返し (各行)] アクティビティの本体内の [条件分岐 (if)] アクティビティの下に [代入] アクティビティを追加します。

    • [左辺値 (To)] フィールドに変数 RowIndex を、[右辺値 (Value)] フィールドに式 RowIndex+1 を追加します。式 RowIndex+1 は、ループが実行されるたびに、表の端に到達するまで行インデックスを増加させます。
  13. プロセスを実行します。オートメーション プロセスはデータを分析し、比較された値で新しい列を作成します。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.