16

こんにちは、NTTデータ WinActor技術支援チームのN.Sです。(今日はとても寒くてキーボードを打つ手が震えますね!)
 
いつもユーザーフォーラムをご利用いただき、ありがとうございます。
今回は、NTT-AT社が提供しているプチライブラリ「Excel操作(重複データの削除)」について、ご紹介します!
 
 

ライブラリの概要
このプチライブラリは、指定したExcelファイルのセルの値で重複するデータを削除することができます!
 
重複したデータを削除するには、「Excelに備わっている「重複の削除」機能を使用する」、「数式を使用して重複箇所を見つけ、フィルタ操作で削除する」など様々な方法があるかと思います。
それぞれ、エミュレーションやライブラリを複数用いないといけないので、少々大変ですよね・・・。
そんな場面で活躍するライブラリとなっています!
 
それでは実際に見てみましょう。
ライブラリの設定項目は「6つ」とまずまずの数ですね。
 

 
 
 
実際に使ってみる
それではこのライブラリを実際に使ってみます。
今回は以下のようにExcelにデータを準備してみました。
黄色背景がついているものを重複しているデータとして、氏名(漢字)が重複するデータを削除していきます。
 

 
 

プロパティ設定は以下の通りです。
-------------------------------------------
ファイル名 : [重複データを削除したいファイルのファイルパス]
シート名  : [重複データを削除したいシート名]
開始セル  : 値⇒ A4
終了セル  : 値⇒ G14
列番号   : 値⇒ 2
ヘッダを含む: 値⇒ 2
 

「開始セル」にデータの開始セル位置を設定したため、「ヘッダを含む」は「2」と設定し、4行目を見出しと使用せず削除対象としています。
また、氏名(漢字)が重複するデータを削除したいため、「列番号」はB列の「2」を設定しています。(「B」と設定しないように注意です!)
 

 
 
プロパティ設定が完了したので、早速実行してみましょう。
すると、重複していた氏名(漢字)「豊洲太郎」のデータが1つ削除されました!

 

 
 

重複したデータは削除できましたが、複数の項目が一致する重複データを削除したい場合の方が実際は多いのではないでしょうか?
そう言った場合には、2か所「スクリプト修正」を行うことで可能となります。
 
まず「スクリプト」タブを選択し、スクロールバーが一番下にあることを確認します。
■修正箇所1つ目
colNumber = !列番号! をコピー&ペーストし、重複データを判定する項目数まで数を増やします。
増やした後は、同じ文字列が並ばないように「colNumber1 = !列番号1!」「colNumber2 = !列番号2!」などと数字を振っておきます。
■修正箇所2つ目
「’重複削除」の下にあるカッコ内の「colNumber」を、修正箇所1つ目で修正した分追加します。
追加する際には、コンマで連結した状態とします。
 

 
 
修正を完了して「設定」タブを選択しプロパティ画面に戻ると、列番号を設定する項目が増えていますね。
それでは次に、氏名(漢字)住所の2か所が重複するデータを削除してみたいと思います。
プロパティ設定は以下の通りです。
-------------------------------------------
ファイル名 : 前回と同じ
シート名  : 前回と同じ
開始セル  : 前回と同じ
終了セル  : 前回と同じ
列番号1   : 値⇒ 2(B列の氏名(漢字))
列番号2   : 値⇒ 5(E列の住所)
ヘッダを含む: 前回と同じ 


 
 
設定が完了したので、実行してみましょう。
すると、氏名(漢字)と住所が一致した行が削除されました。
今回は2つの項目での重複削除を行いましたが、もう少し増やすことで「すべての項目が一致するデータを削除する」ということも可能ですね。
 

 
 
 
使ってみた感想
これまで自身でシナリオを作成した時も、Excelの重複を削除の機能を使用したり、数式を使用していたので、
ライブラリ一つで重複の削除ができるのは、とっても便利でした。
更にスクリプトの修正で複数項目をキーとした重複の削除もできたので、さらに便利感がUPしました。
また今回、開始セル・終了セルを「A4」「G14」と設定しましたが、「A」「G」など列のみの設定でも重複の削除は可能でした。
場合によって使い分けられそうですね!
  
重複の削除ってどうやるんだ!と思われていた方に、このコラムが少しでも役立てばうれしい限りです!
また、既に重複の削除処理を作成していた場合でも、プチライブラリに差し替えてしまうというのも一つの手かと思います。(ノード数削減など)
 
今回も長くなりましたが、最後までコラムを読んでくださりありがとうございました!
また次回のコラムをお楽しみに♪

-------------------------------------  
今回紹介したライブラリは以下のページからダウンロードできます!

■Excelのセルの値で重複データを削除するライブラリ 
https://winactor.biz/library/2019/04/22_854.html
 

WA技術支援チーム 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。