In Excel, combine multiple detail data columns into one row in each group

The following Excel table has a grouping column and two detail data columns.


A B C
1 Object Name Info
2 12A Gggtz 44456
3 12A Gggtr 99987
4 12A Kkkio 66543
5 12A Bbvgf 66643
6 12A Vvvhg 888765
7 12A Fffgt 87
8 6F Gggtf 232325
9 6F Xxxde 443216
10 P23 Cccvb 5543287
11 P23 Vvvbj 5656564
12 P23 Sswec 8989764
13 P23 Llloiu 343432

We need to combine the two detail data columns in each group into one row and automatically generate columns headers for the new columns.


E F G H I G K L M N O P Q
1 Object Name1 Info1 Name2 Info2 Name3 Info3 Name4 Info4 Name5 Info5 Name6 Info6
2 12A Gggtz 44456 Gggtr 99987 Kkkio 66543 Bbvgf 66643 Vvvhg 888765 Fffgt 87
3 6F Gggtf 232325 Xxxde 443216
4 P23 Cccvb 5543287 Vvvbj 5656564 Sswec 8989764 Llloiu 343432

Use SPL XLL to type in the following formula:

=spl("=d=E(?).group@o(Object).(Object|(~.conj([Name,Info]))), [$[Object]|(d.max(~.len())\2).conj([$[Name] / #,$[Info] / #])] | d",A1:C13)

Picture2png

E()function reads data from the Excel table. group@o groups rows without a prior sorting. $[] represents a string, ~ is the current member, and # is ordinal number of the current member.

Source:https://www.reddit.com/r/excel/comments/1d5ntg2/how_to_copy_data_from_lines_to_rows_but_keep_it/