これは 1 回限りのことであり、スプレッドシートの式が適していると仮定します。
OzGridで mikericksonのこのカスタム スプレッドシート関数を使用して、すべてのデータを共通のラベルで連結できます。
まず、一意の値をすべて取得する必要があります。

次に、このカスタム関数を使用して、値を検索し、共通のラベルで連結する必要があります。
Function ConcatIf(ByVal compareRange As Range, ByVal xCriteria As Variant, _
Optional ByVal stringsRange As Range, Optional Delimiter As String) As String
Dim i As Long, j As Long, criteriaMet As Boolean
Set compareRange = Application.Intersect(compareRange, _
compareRange.Parent.UsedRange)
If compareRange Is Nothing Then Exit Function
If stringsRange Is Nothing Then Set stringsRange = compareRange
Set stringsRange = compareRange.Offset(stringsRange.Row - compareRange.Row, _
stringsRange.Column - compareRange.Column)
For i = 1 To compareRange.Rows.Count
For j = 1 To compareRange.Columns.Count
If (Application.CountIf(compareRange.Cells(i, j), xCriteria) = 1) Then
ConcatIf = ConcatIf & Delimiter & CStr(stringsRange.Cells(i, j))
End If
Next j
Next i
ConcatIf = Mid(ConcatIf, Len(Delimiter) + 1)
End Function

必要に応じて、追加の連結を行ってラベルを組み合わせることができます。

次に、それをテキスト エディターに直接貼り付けるか、そのまま使用して、必要に応じて csv として保存することができます。

次に、それを Excel で開き、必要に応じて転置します。

ざっくりとした方法ですが、私の意見では、マクロを書くよりも簡単です - 少なくとも少しは。幸運を。