エクセルで文字列を検索し 別のブックに同じ文字列があれば隣のセルに加算

こんにちは。
2つのエクセルファイルで行う作業があります。
Book1には以下のようなデータが


Book2には以下のようなデータがあるとします。

Book2のI列の文字列とBook1のA列の文字列が一致した場合、
Book2のJ列の数値を、Book1のB列の数値に加算したいです。
例えば、Book2のI1セルはAであるので、Book1のA1セルと一致し、
Book1のB1にBook2のj列の2を加算する、というものです。
最終的に以下の画像のような結果にしたいです。
%E7%84%A1%E9%A1%8C
UiPath GoのかんたんExcelなどを使っていますが、手も足も出ません。
ヒントでもよいので、よろしくお願いします。

「データテーブルの結合」アクティビティを使用してはいかがでしょう?

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

こんにちは

いろいろやり方があるかと思いますが....
個人的にはdictionary(連想配列)使う方法ですね。

サンプル添付します。
20191007-1.xaml (9.1 KB)

1 Like

返信ありがとうございます。
うまくいきました!とても助かりました。

1 Like

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