我有13000多种产品的清单。我有一列称为产品编号的列,其中有一个数字代表每个产品及其所有变体。
并非每种产品都有一个以上的变体。
我想要一个新表,其中每个表具有多个变体。
例如:如果产品1下有14个选项,则我希望产品1有一行。如果产品2只有一个条目,则我根本不希望它在列表中。
这是可以在excel中完成的事情,还是我必须将这些数据传输到数据库中并使用SQL进行此操作?
答案 0 :(得分:1)
根据我的评论,您可以查看Dictionaries
。让我们想象一下以下数据:
运行以下代码:
Sub Test()
Dim dict1 As Object: Set dict1 = CreateObject("Scripting.Dictionary")
Dim dict2 As Object: Set dict2 = CreateObject("Scripting.Dictionary")
Dim arr As Variant
Dim lr As Long, x As Long
With Sheet1 'Change according to your sheets CodeName
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
arr = .Range("A2:A" & lr)
For x = LBound(arr) To UBound(arr)
If dict1.Exists(arr(x, 1)) = True Then
If dict2.Exists(arr(x, 1)) = False Then
dict2.Add arr(x, 1), 1
End If
Else
dict1.Add arr(x, 1), 1
End If
Next x
.Range("C2").Resize(dict2.Count).Value = Application.Transpose(dict2.Keys)
End With
End Sub
将导致: