2016-10-25 3 views
-1

Excelのスプレッドシートで3行の識別子データを連結することを検討していますが、多くの重複があります。 _001と_002のように重複が見つかった場合は、データを連結するvbaコードを作成しようとしています。私は約160k行のデータを扱っているので、これを行う最も効果的な方法は何か分かりません。私はおそらくgetNextID APIを使用して見ているが、私はどこから始めるべきかわからない。私は簡単に同じの他のスプレッドシートに転送することができ、コードと160K行のためにこれを行うにしようとしています-001、-002を現在の重複に追加することで一意のIDを生成

John_Boston_ABC_001 

Joe_Miami_XYZ_001 

Jane_Dallas_ABC_001 

Jane_Dallas_ABC_002 

John_Boston_ABC_002 

Joe_Miami_XYZ_002 

:私は得るためにしようとしています

Name City   Department 
John Boston  ABC 

Joe  Miami  XYZ 

Jane Dallas  ABC 

Jane Dallas  ABC 

John Boston  ABC 

Joe  Miami  XYZ 

:私のデータは次のようになりますフォーマット。データを想定

+0

をそれをドラッグすることができ(行1ヘッダーのためのものである)行2から始まる列A、BおよびCに記載されていコレクションや辞書を使用するのに十分簡単です。 [Excel VBAの紹介パート39 - 辞書](https://www.youtube.com/watch?v=dND4coLI_B8&index=42&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5)。コードを投稿すると、リファクタリングするのを手伝ってうれしいです。 –

+0

言語、C++またはVBAを選択する –

答えて

0

を使用すると、セルD2に

=CONCATENATE(A2,"_",B2,"_",C2,"_", TEXT(COUNTIF(D$1:D1, CONCATENATE(A2,"_",B2,"_",C2,"*"))+1,"000")) 

この数式を入力し、これは

関連する問題