使用修改后的数据从列表转换为平面CSV
我有爱尔兰/苏格兰氏族的名字,我需要把我的search模块使用的格式。 这是问题:
O'Quinn Antrim Quillan Antrim Quin Antrim Quinn Antrim Alinden Armagh Baron Armagh Barron Armagh Branagan Armagh Calan Armagh
我有一个名字列表(15k的文件中有100k +,有2-10k行),我想转换成可行的样式。 我想看到他们是这样的:
Antrim:O'Quinn, Quillan, Quin, Quinn, Armagh:Alinden, Baron, Barron, Branagan, Calan
任何人有任何想法如何得到这个成就,而不需要大量的手动干预?
我在另一个答案中使用了这样的东西(编辑:修正了一些小错误和更新的语法)testing工作!
在代码之前:
Sub RemoveDups() Dim CurRow As Long, LastRow As Long, LastCol As Long, DestLast As Long, DestRng As Range, ws As Worksheet Set ws = ActiveSheet LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row For CurRow = LastRow To 3 Step -1 Set DestRng = ws.Range("B1:B" & CurRow - 1).Find(ws.Range("B" & CurRow).Value, LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext) If DestRng Is Nothing Then 'Do Nothing Else DestLast = ws.Cells(DestRng.Row, Columns.Count).End(xlToLeft).Column + 1 ws.Cells(DestRng.Row, DestLast).Value = ws.Cells(CurRow, 1).Value ws.Cells(CurRow, 1).EntireRow.Delete xlShiftUp End If Next CurRow ws.Columns("B:B").Cut ws.Columns("A:A").Insert Shift:=xlToRight Application.CutCopyMode = False End Sub
代码后:
分三部分,假设O'Quinn
在A2:
创buildstring
在C2中:
=IF(B1<>B2,B2&": "&A2,C1&", "&A2)
确定相关的
在D2中:
=B2<>B3
整理
复制C2:D2以适应。
select图纸,复制,粘贴特殊值。
过滤ColumnDselectFALSE
并删除所有可见和列D和A.
重复其他14个文件。