为行创build唯一序列
我有几千行的数据,需要为每个数据创build唯一的序列。 这里是一个例子(每个值在它自己的单元格中):
Text1| Text2| Text2| Text2| Text3| Text3| Text1|
我需要创build独特的序列看起来像这样
Text1| Text2| Text3| Text1| or Text1,Text2,Text3,Text1|
有任何想法吗?
如果第一个Text1
在A1中,则:
=A1&","&IF(A1<>B1,B1&",","")&IF(B1<>C1,C1&",","")&IF(C1<>D1,D1&",","")&IF(D1<>E1,E1&",","")&IF(E1<>F1,F1&",","")&IF(F1<>G1,G1,"")
也许值得尝试一下。
作为用户定义的function
Public Function ClarkeyCat2(ByRef rng As Range, delimIT As String, Optional ByVal trimIT As Boolean = False) As Variant Dim c As Range Dim UniqueColl As Collection Dim tmpValue As Variant Set UniqueColl = New Collection If Not trimIT Then On Error Resume Next For Each c In rng If (c.Value <> "") Then UniqueColl.Add c.Value, c.Value End If Next For k = 1 To UniqueColl.Count ClarkeyCat2 = ClarkeyCat2 & IIf(ClarkeyCat2 = "", "", delimIT) & UniqueColl.Item(k) Next Else On Error Resume Next For Each c In rng If (c.Value <> "") Then tmpValue = Trim(c.Value) UniqueColl.Add tmpValue, tmpValue End If Next For k = 1 To UniqueColl.Count ClarkeyCat2 = ClarkeyCat2 & IIf(ClarkeyCat2 = "", "", delimIT) & UniqueColl.Item(k) Next End If End Function
像这样使用
更新“更新”,以便在决定条目是否唯一之前,从单元条目中select性地去掉多余的空白。 默认行为是不去掉空白。 使用可选的布尔三参数进行设置。