A maneira mais fácil é através do VBA. Eu suponho que há um "campo" em cada célula na linha 1, como este
{"id" : "TTXW5IAXBSWDETCQZKGUNKK2RYKOVVFQ4S3VGCV" | "type" : "A" | "label": "Here"
Você tem que ir para macro e criar um novo, insira o seguinte código:
Sub test()
Dim wks As Worksheet
Set wks = ActiveSheet
Final = False
i = 1
InitialRow = 2
Dim labels(0 To 4) As String
labels(0) = "id"
labels(1) = "type"
labels(2) = "label"
labels(3) = "grouping"
labels(4) = "created"
While Final = False
ThisCell = Trim(wks.Cells(1, i))
iniChar = Left(ThisCell, 1)
If iniChar = "{" Then
lengthCell = Len(ThisCell)
ThisCell = Trim(Right(ThisCell, lengthCell - 1))
InitialRow = InitialRow + 1
End If
PosLabelinCell = InStr(ThisCell, ":")
LabelinCell = Trim(Left(ThisCell, PosLabelinCell - 1))
lLabelinCell = Len(LabelinCell)
DatainCell = Trim(Mid(ThisCell, PosLabelinCell + 1))
lDatainCell = Len(DatainCell)
LabelinCell = Mid(LabelinCell, 2, lLabelinCell - 2)
DatainCell = Mid(DatainCell, 2, lDatainCell - 2)
Select Case LabelinCell
Case labels(0)
wks.Cells(InitialRow, 1) = DatainCell
Case labels(1)
wks.Cells(InitialRow, 2) = DatainCell
Case labels(2)
wks.Cells(InitialRow, 3) = DatainCell
Case labels(3)
wks.Cells(InitialRow, 4) = DatainCell
Case labels(4)
wks.Cells(InitialRow, 5) = DatainCell
End Select
i = i + 1
If wks.Cells(1, i) = "" Then
Final = True
End If
Wend
End Sub
Ele passará por todas as células na primeira linha e verificará se uma célula começa com o símbolo {, assumindo isso como um caractere nova linha . Se um rótulo estiver ausente dos 4 que você me fornecer (id, tipo, rótulo, agrupamento, criado), ele deixará uma célula em branco.
Agora, execute a macro com F5 ou com o botão verde "play"; da linha 3, haverá todos os dados organizados por colunas.