
Option Explicit
Sub abc()
Dim a, i, d
a = [a1].CurrentRegion.Resize(, 1).Value
Set d = CreateObject("scripting.dictionary")
For i = 1 To UBound(a)
d(a(i, 1)) = d(a(i, 1)) & "," & i
Next
a = Range("b1:b" & [b1].End(xlDown).Row).Value
For i = 1 To UBound(a)
If d.exists(a(i, 1)) Then
a(i, 1) = Mid(d(a(i, 1)), 2)
Else
a(i, 1) = "?"
End If
Next
[c1].Resize(UBound(a)) = a
End Sub