通过将-001,-002添加到当前重复项生成唯一ID

时间:2016-10-25 03:09:46

标签: excel vba

我希望在excel电子表格中连接3行标识符数据,但最终会有很多重复项。我正在尝试编写一个可以连接数据的vba代码,然后发现重复添加_001然后_002等等。我正在处理大约160k行的数据,所以我不知道最好和最有效的方法是什么。我已经研究过使用getNextID api,但我不知道从哪里开始。我的数据看起来像这样:

Name   City          Department   
John   Boston        ABC

Joe     Miami        XYZ

Jane    Dallas       ABC

Jane    Dallas       ABC

John    Boston       ABC

Joe     Miami        XYZ

我想要屈服于:

John_Boston_ABC_001

Joe_Miami_XYZ_001

Jane_Dallas_ABC_001

Jane_Dallas_ABC_002

John_Boston_ABC_002

Joe_Miami_XYZ_002

我正在尝试使用代码进行160k行,我可以轻松地将其传输到相同格式的其他电子表格。

1 个答案:

答案 0 :(得分:0)

假设您的数据位于从第2行开始的A,B和C列中(第1行用于标题),您可以在单元格D2中键入此公式

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

并将其拖下来