here is a bit of code that works.. to get at the data
you need to calll it like this... based on your example.xls
Sub translate_group_data(id As String, first_row As Integer, last_row As Integer, first_data As String, last_data As String, step_size As Integer)
'fix column values
fd = Range(first_data & "1").Column
ld = Range(last_data & "1").Column
For Group = fd To ld Step step_size
For r = first_row To last_row
Debug.Print Range(id & r).Value & Cells(2, Group - 1).Value & vbTab & Cells(r, Group).Value
as you see it can access the appropriate information, now we just need to output the data...
proof of concept run in immediate window
it is in a format that can be saved as tab separated and pulled into excell without any other work except the save of course!
here to help