Excel 组内多列明细拼成一行
某表格有 1 个分组列和 2 个明细列。
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 |
现在要把组内的多列明细拼成一行,并自动生成与列数相符的列头
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 |
使用 SPL XLL,输入公式:
=spl("=d=E(?).group@o(Object).(Object|(~.conj([Name,Info]))), [$[Object]|(d.max(~.len())\2).conj([$[Name] / #,$[Info] / #])] | d",A1:C13)
函数 E 读取表格数据。group@o 分组前不排序。$[] 表示字符串。~ 是当前成员,# 是当前成员的序号
https://www.reddit.com/r/excel/comments/1d5ntg2/how_to_copy_data_from_lines_to_rows_but_keep_it/
跟着练习一下…天天表格变形,都快成变形金刚了😄
动态表头,可以试试 json@t(json( 排列))
英文版