My reading was that the result should be presented in 3 columns
Perhaps this variation on snbs' code
Sub snb()
sq = Cells(1).CurrentRegion
For j = 1 To UBound(sq, 1) * UBound(sq, 2)
If InStr(c01 & "|", "|" & sq(1 + (j - 1) \ UBound(sq, 2), (j - 1) Mod UBound(sq, 2) + 1) & "|") = 0 Then
c01 = c01 & "|" & sq(1 + (j - 1) \ UBound(sq, 2), (j - 1) Mod UBound(sq, 2) + 1)
End If
Next
sn = Split(Mid(c01, 2), "|")
For jj = 0 To UBound(sq, 2) - 1
For jjj = jj To UBound(sn) Step UBound(sq, 2)
c02 = c02 & "|" & sn(jjj)
Next
sn1 = Split(Mid(c02, 2), "|")
Sheets(1).Cells(1, 5 + jj).Resize(UBound(sn1) + 1) = Application.Transpose(sn1)
c02 = ""
Next
End Sub
Test workbook attached
Bookmarks