Excel 行列互换

例题描述

有 Excel 数据如下所示:


A

B

C

D

1

Name

Fruit1

Fruit2

Fruit3

2

Alice

apple

banana

orange

3

Bob

apple

pear

plum

4

Cate

banana

pear

plum





需要行列转换,结果如下:


A

B

C

D

1

Fruit

Name1

Name2

……

2

apple

Alice

Bob


3

banana

Alice

Cate


4

orange

Alice



5

pear

Bob

Cate


6

plum

Bob

Cate


解法及简要说明

使用插件 SPL XLL

在空白格填写代码:

=spl("=E(?1).pivot@r(Name;Fruit,Fruitname).group(Fruitname).run(~=~.Fruitname|~.(Name))",Sheet1!A1:D4)

如图:

..

返回结果:

..

代码解释:用 pivot 做列转行,再按 Fruitname分组,每组计算出 Fruitname 值并 Name 列的结果。

问答搜集

https://stackoverflow.com/questions/63600495/how-do-i-make-a-new-table-where-the-rows-are-based-on-the-entries-in-another-tab