分组汇总树状结构表
分组汇总树状结构表
有一个树状结构的Excel表,Epic列是最高层。
1 |
Code |
Epic |
Stories |
Task |
Hour |
2 |
1 |
E1 |
|||
3 |
1.1 |
St1 |
|||
4 |
1.1.1 |
Ts1 |
10 |
||
5 |
1.1.2 |
Ts2 |
20 |
||
6 |
1.2 |
St2 |
|||
7 |
1.2.1 |
Ts21 |
5 |
||
8 |
1.2.3 |
Ts22 |
2 |
||
9 |
2 |
E2 |
|||
10 |
2.1 |
0 |
现在要按最高层Epic分组,对Hour列汇总,同时保留Code列。
G |
H |
I |
|
1 |
Code |
Epic |
Hours |
2 |
1 |
E1 |
37 |
3 |
2 |
E2 |
0 |
使用 SPL XLL
=spl("=E(?1).group@i(Epic!=null).new(Code,Epic,ifn(~.sum(Hour),0):Hours)",A1:E10)
函数 group@i 用于条件分组,~ 表示当前组,函数 new 新建表格,ifn 返回第一个非 null 的成员(当前组汇总结果为 null 时可返回 0)。
英文版 https://c.scudata.com/article/1722847639183