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

**URL:** <https://forum.uipath.com/t/topic/156994>\
**Category:** フォーラム\
**Tags:** studio\
**Created:** [October 7, 2019, 1:34am UTC](https://forum.uipath.com/t/topic/156994 "2019-10-07T01:34:36Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![matoba](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/matoba/32/177757_2.png) [@matoba](https://forum.uipath.com/u/matoba)\
**Post date:** [October 7, 2019, 1:34am UTC](https://forum.uipath.com/t/topic/156994/1 "2019-10-07T01:34:36Z")

</div>

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

 ![uipath%20exel%E6%8C%87%E7%B4%8Bpng](https://global.discourse-cdn.com/uipath/original/3X/9/7/973dd0938d242c35a9ba66c5047c4c0565b9eff8.png)  
Book2には以下のようなデータがあるとします。  
 ![uipath%20excel%E8%B3%AA%E5%95%8FBook2](https://global.discourse-cdn.com/uipath/original/3X/8/8/88eaf5f1d5a821bf8f2f5cf40083a320d17bfb7c.png)  
Book2のI列の文字列とBook1のA列の文字列が一致した場合、  
Book2のJ列の数値を、Book1のB列の数値に加算したいです。  
例えば、Book2のI1セルはAであるので、Book1のA1セルと一致し、  
Book1のB1にBook2のj列の2を加算する、というものです。  
最終的に以下の画像のような結果にしたいです。  
 ![%E7%84%A1%E9%A1%8C](https://global.discourse-cdn.com/uipath/original/3X/f/6/f67c36e8a04f583ff714690cb668a1a93094b652.png)  
UiPath GoのかんたんExcelなどを使っていますが、手も足も出ません。  
ヒントでもよいので、よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![HANACCHI](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/hanacchi/32/85375_2.png) [@HANACCHI](https://forum.uipath.com/u/HANACCHI)\
**Post date:** [October 7, 2019, 1:47am UTC](https://forum.uipath.com/t/topic/156994/2 "2019-10-07T01:47:40Z")

</div>

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

Book1ファイル側のデータテーブルをDT1、Book2ファイル側のデータテーブルをDT2とします。  
「データテーブルの結合」の結合ウィザードの入力データテーブル１にDT1、入力データテーブル2にDT2を指定し、出力データテーブルにはDTOなど仮のデータテーブルを指定します。

結合型は多分「LEFT」かな？（DT1のデータはすべて出力するタイプ）。

結合条件は、DT1.Columns(0) ＝ DT2.Columns(0)ですね。

処理結果は、DT1の列１、列２、DT2の列１、列２になるので、DT2の列１が空白でなかったら、「代入アクティビティ」で左辺：DT1の列２ 右辺：DT1の列２＋DT2の列２で計算。その後、DT1列情報が残るようにｍDT2の列情報を「データ列を削除」アクティビティで削除して、EXCELに書き戻す。

簡単（？）には、こうすればいいと思います。

但し、データを更新（上書き）するので、万が一の異常終了時のリカバリ、リランのための保全処理もあった方がいいですね（ファイルバックアップしておくなど）。

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [October 7, 2019, 2:11am UTC](https://forum.uipath.com/t/topic/156994/3 "2019-10-07T02:11:14Z")

</div>

こんにちは

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

サンプル添付します。  
[20191007-1.xaml](https://forum.uipath.com/uploads/short-url/sEw1VlzyCVB0BfNsIBgAs9h4x4X.xaml) (9.1 KB)

---

<div class="post-metadata">

**Author:** ![matoba](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/matoba/32/177757_2.png) [@matoba](https://forum.uipath.com/u/matoba)\
**Post date:** [October 7, 2019, 2:18am UTC](https://forum.uipath.com/t/topic/156994/4 "2019-10-07T02:18:46Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/system/32/182466_2.png) [@system](https://forum.uipath.com/u/system)\
**Post date:** [October 10, 2019, 2:18am UTC](https://forum.uipath.com/t/topic/156994/5 "2019-10-10T02:18:49Z")

</div>

Closed on October 10, 2019, 2:18am UTC

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