「イチゴ 200」が、何故別々なのかよく見えないので不明ですけど。
Sub try()
Dim myDic As Object
Dim r As Range, rr As Range
Dim st As String
Dim key, v
Set myDic = CreateObject("Scripting.Dictionary")
For Each r In Range("B3", Cells(Rows.Count, 2).End(xlUp))
st = r.Value & "_" & r.Offset(, 1).Value
If Not myDic.Exists(st) Then
myDic(st) = Array(1, r.Offset(, 2).Value)
Else
myDic(st) = Array(myDic(st)(0) + 1, myDic(st)(1) & "," & r.Offset(, 2).Value)
End If
Next
Set rr = Range("G3")
For Each key In myDic.keys
rr.Resize(, 2).Value = Split(key, "_")
rr.Offset(, 2).Value = myDic(key)(0)
v = Split(myDic(key)(1), ",")
rr.Offset(, 3).Resize(, UBound(v) + 1).Value = v
Set rr = rr.Offset(1)
Next
Set myDic = Nothing
Set rr = Nothing
End Sub
こうゆう感じの事でしょうか?