Excel 交叉表的格转成列,行转成格

Excel里交叉表的左表头是卡车号,上表头是工作,交叉格是工作编号。


A

B

C

D

1

Truck Number

Job1

Job2

Job3

2

71

5928

5928

5928

3

72

3958

5928

2971

4

73

2971

5928

2971

要求:将交叉格转为列,左表头转为格。


A

B

C

1

2971

3958

5928

2

72

72

71

3

73


71

4

73


71

5



72

6



73

使用 SPL XLL

=spl("=E@p(?.news(~.m(2:);~:T,get(1):S).group(T;~.(S(1)).sort():TS).(T|TS))",A2:D4)

Picture1png

news可按序列生成多条记录,~.m(2:) 表示从当前成员 ~ 的第 2 个子成员取到最后。get(1) 取上一级循环的成员。函数 E@p() 转置序列。

https://stackoverflow.com/questions/78348967/need-to-lookup-value-in-multiple-columns-return-value-in-another-column-each-ti