matoba
1
こんにちは。
2つのエクセルファイルで行う作業があります。
Book1には以下のようなデータが
Book2には以下のようなデータがあるとします。
Book2のI列の文字列とBook1のA列の文字列が一致した場合、
Book2のJ列の数値を、Book1のB列の数値に加算したいです。
例えば、Book2のI1セルはAであるので、Book1のA1セルと一致し、
Book1のB1にBook2のj列の2を加算する、というものです。
最終的に以下の画像のような結果にしたいです。
UiPath GoのかんたんExcelなどを使っていますが、手も足も出ません。
ヒントでもよいので、よろしくお願いします。
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
2
「データテーブルの結合」アクティビティを使用してはいかがでしょう?
Book1ファイル側のデータテーブルをDT1、Book2ファイル側のデータテーブルをDT2とします。
「データテーブルの結合」の結合ウィザードの入力データテーブル1にDT1、入力データテーブル2にDT2を指定し、出力データテーブルにはDTOなど仮のデータテーブルを指定します。
結合型は多分「LEFT」かな?(DT1のデータはすべて出力するタイプ)。
結合条件は、DT1.Columns(0) = DT2.Columns(0)ですね。
処理結果は、DT1の列1、列2、DT2の列1、列2になるので、DT2の列1が空白でなかったら、「代入アクティビティ」で左辺:DT1の列2 右辺:DT1の列2+DT2の列2で計算。その後、DT1列情報が残るようにmDT2の列情報を「データ列を削除」アクティビティで削除して、EXCELに書き戻す。
簡単(?)には、こうすればいいと思います。
但し、データを更新(上書き)するので、万が一の異常終了時のリカバリ、リランのための保全処理もあった方がいいですね(ファイルバックアップしておくなど)。
1 Like
Yoichi
(Yoichi)
3
こんにちは
いろいろやり方があるかと思いますが....
個人的にはdictionary(連想配列)使う方法ですね。
サンプル添付します。
20191007-1.xaml (9.1 KB)
1 Like
matoba
4
返信ありがとうございます。
うまくいきました!とても助かりました。
1 Like
system
(system)
Closed
5
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.