Excel 多行表头的列转行
Excel中A3:F6是带表头的典型表格,但上面多了额外的两行表头:
A |
B |
C |
D |
E |
F |
|
1 |
Actuals |
Actuals |
Plan |
Plan |
||
2 |
FY20 |
FY21 |
FY20 |
FY21 |
||
3 |
Country |
Owner |
1/1/2020 |
1/1/2020 |
1/1/2020 |
1/1/2020 |
4 |
France |
Richard |
100 |
150 |
80 |
160 |
5 |
France |
Martin |
120 |
140 |
130 |
140 |
6 |
France |
Pierre |
50 |
100 |
50 |
80 |
现在要将典型表格连同额外的两行表头同时进行列转行:
8 |
A |
B |
C |
D |
E |
F |
9 |
Country |
Owner |
Version |
Year |
Date |
Value |
10 |
France |
Richard |
Actuals |
FY20 |
1/1/2020 |
100 |
11 |
France |
Richard |
Actuals |
FY21 |
1/1/2020 |
150 |
12 |
France |
Richard |
Plan |
FY20 |
1/1/2020 |
80 |
13 |
France |
Richard |
Plan |
FY21 |
1/1/2020 |
160 |
14 |
France |
Martin |
Actuals |
FY20 |
1/1/2020 |
120 |
15 |
France |
Martin |
Actuals |
FY21 |
1/1/2020 |
140 |
16 |
France |
Martin |
Plan |
FY20 |
1/1/2020 |
130 |
17 |
France |
Martin |
Plan |
FY21 |
1/1/2020 |
140 |
18 |
France |
Pierre |
Actuals |
FY20 |
1/1/2020 |
50 |
19 |
France |
Pierre |
Actuals |
FY21 |
1/1/2020 |
100 |
20 |
France |
Pierre |
Plan |
FY20 |
1/1/2020 |
50 |
21 |
France |
Pierre |
Plan |
FY21 |
1/1/2020 |
80 |
使用 SPL XLL,输入公式:
=spl("=c=transpose(?2),?1.conj( (a=~).m(3:).(a.to(2)|c(#)|~))",A4:F6,C1:F3)
transpose将表头 C1:F3 进行转置,conj 合并集合成员,~ 表示表格 A4:F6 每一行,m(3:) 表示从每行的第 3 个成员取到结尾。
英文版
😄 凑个热闹…