我有這張表;如何在Excel中的特定單元格中組合列值?
我希望能夠列出這些選項與選項價值觀在一個單元格像這樣每一個給定的產品ID:Image
還要記住我在該表中列出了1800個產品ID,因此手動提取數據非常困難。
謝謝。
我有這張表;如何在Excel中的特定單元格中組合列值?
我希望能夠列出這些選項與選項價值觀在一個單元格像這樣每一個給定的產品ID:Image
還要記住我在該表中列出了1800個產品ID,因此手動提取數據非常困難。
謝謝。
這UDF會給你一定的產品ID有一定的選擇您所需的輸出:
Function UDF_ListValues(prodId As Variant, attrib As String, R As Range)
Dim colValues As Collection
Dim curRow As Range
Dim found As Boolean
Dim value As Variant
Dim first As Boolean
If R.Columns.Count <> 3 Then
UDF_ListValues = xlErrNA
Else
Set colValues = New Collection
For Each curRow In R.Rows
If curRow.Cells(1, 1).value = prodId And curRow.Cells(1, 2).value = attrib Then
found = False
For Each value In colValues
If curRow.Cells(1, 3).value = value Then
found = True
Exit For
End If
Next
If Not found Then colValues.Add curRow.Cells(1, 3)
End If
Next
first = True
For Each value In colValues
If first Then
UDF_ListValues = attrib & ":"
first = False
Else
UDF_ListValues = UDF_ListValues & "¦"
End If
UDF_ListValues = UDF_ListValues & value
Next
Set colValues = Nothing
End If
End Function
要在你的榜樣得到確切的輸出一樣,你可以按如下調用細胞F2這個功能:
= UDF_ListValues(E2, "Size", $A$2:$C$22) & ";" & UDF_ListValues(E2, "Colour", $A$2:$C$22)
或者您可以輕鬆修改代碼以自動列出所有發生的選項。
非常感謝,作品像魅力。 @NiH –
請嘗試此方法。
Sub Macro()
Dim lngRow As Long
For lngRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
If StrComp(Range("A" & lngRow), Range("A" & lngRow - 1), vbTextCompare) = 0 Then
If Range("B" & lngRow) <> "" Then
Range("B" & lngRow - 1) = Range("B" & lngRow - 1) & "|" & Range("B" & lngRow)
End If
Rows(lngRow).Delete
End If
Next
End Sub
請顯示您的代碼 –
我試圖結合一些基本功能無濟於事,我目前在我的桌子上沒有代碼。 –