「データテーブルを検索」と「範囲をコピー」について

いつも参考にさせていただいています。

上記のようにマスタファイル(左)に値段が設定されていて、別シート(右)に購入金額(C列)までを入力したシートがあります。この後UipathにてD列に、マスタから引っ張った金額を表示し、E列に差額を表示したいと思います。
Excelのみで作業する場合、D列はVLOOKUP(B列,マスタ!B:C,2,0)、E列ではC-Dと計算しておりました。
Uipathのアクティビティで調べていたところ、①範囲をコピーで計算式をコピーする②繰り返し(各行)の中にデータテーブルを検索、2つのパターンで考えておりましたが、どちらもうまくいきませんでした。特に②データテーブルを検索でやってみたいのですが、もし効率的な方法をご存じの方がいらっしゃいましたらご教示いただけると幸いです。

いちど実際に作ってみて上手く動かなかったのかと思いますが、「どのように」上手く動かなかったか教えていただけると助かります。

  • アクティビティを配置しているが、エラーが消えず実行できない
  • アクティビティを配置して、実行できたが、エラーが発生する
  • アクティビティを配置して、実行できてエラーも発生しないが、期待したとおりにならない

「データテーブルを検索」のアクティビティが良いと思います。
うまくいかなかったのは、文字列と数値で型が相違したため、不一致になってると思います。

ご確認いただきありがとうございます。

上記
左マスタ=変数名masta (型 System.Collections.Generic.IEnumerable)
右入力シート=変数名 kensakuDT 型(Datatable)

2つの変数にデータが入っていることはデバックモードで確認しております。

やりたいこととしては、データテーブルkensakuDTの中の、
ルックアップ値kensakuDT.Rows.Item(1).ToStringを
mastaの中から検索したいのですが、「式 “masta” の処理中にコンパイル エラーが発生しました。
Option Strict On で ‘System.Data.DataTable’ から ‘System.Collections.Generic.IEnumerable(Of Object)’ への暗黙の型変換はできません。」と出てしまいます。

ご指摘のように、mastaの型を変えなければならないと思うのですが、どのように変更すればよいのかわかりません。Excelすら初心者で申し訳ありません。

列名が指定してあればOKです。
「ターゲット列」の「列名」(“値段”)も指定しましょう、この値が出力のcellValueに入ります。

ご教示いただきありがとうございます。

ご指示のとおりターゲット列にも列名に"値段"を入力したところ、青いマークは消えました。
ですが、実行するとやはり下記メッセージでエラーになってしまいました。

メッセージ: ‘検索列カテゴリー’ 引数 ‘列名’ の値が設定されていないかまたは無効です。

このプロパティ内にmastaを記載している部分がどこにもないのですが、やはりどこかに入れる必要があるのでしょうか?

こんにちは

最終目的に対して、やり方に拘らないのであれば、Left Join等を使うほうが良いように思えます。
以下サンプルです。

Sample20210129-2.zip (3.4 KB)

失礼しました、誤りでした。

入力のデータテーブルは、[マスタ]シートのデータテーブルを指定してください。
また検索列の列名は"果物"です。

入力データテーブルを変更したところ、Cellvalueが出力できました。

ここまでできれば、cellvalueをExcelに入力する等自力できました。
色々とご教示くださってありがとうございます。Lookup data tableここで使うことが出来たので、郵便番号検索など応用していきたいと思います。ありがとうございました。

Yoichi様
ロボットいただきありがとうございます。拝見させていただき、非常に参考になりました。「データテーブルを結合」アクティビティも別の機会に使えると思いますので、勉強いたします。いつもありがとうございます。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.