"[图片] 求总分列,怎么写公式?"
求总分列,怎么写公式?
仅供参考…
方法 1:先分组聚合,再用 join
=spl("=(A=E(?)).join(姓名,A.groups@i(姓名;sum(成绩)),~.#2:总分)",A1:B9)
方法 2:逆序遍历,碰到姓名不为空时填充累计值
=spl("=s=0,E(?).derive@z(if((s+=成绩)&&姓名,(a=s,s=0,a)):总分)",A1:B9)
多谢,我学习消化一下。
这种有点类似于 excel 中合并单元格的处理,实战中也有需求把汇总加在每组最后一行的。SPL 里方法很多的,想了一下还是用 group 比较好,很容易控制加在首行还是加在末行。
SPL 的分组类函数 group、groups 是我目前见过市面上最强的,yyds。比如此例中,加在每一组的首行或者末行只需改变位置就行:
1、加在末行,分组后修改最后一行
2、加在首行,分组后修改第一行
多谢指点,excel 用公式倒是简单,if 判断非空,lookup 定位最后一个等等。spl 和 power query 有些类似,但公式比 pq 强大多了。刚刚接触到 spl,被精简的公式吸引了,因此才开始学习。看您是位高手,以后还请不吝赐教。
仅供参考…
方法 1:先分组聚合,再用 join
方法 2:逆序遍历,碰到姓名不为空时填充累计值
多谢,我学习消化一下。
这种有点类似于 excel 中合并单元格的处理,实战中也有需求把汇总加在每组最后一行的。SPL 里方法很多的,想了一下还是用 group 比较好,很容易控制加在首行还是加在末行。
SPL 的分组类函数 group、groups 是我目前见过市面上最强的,yyds。比如此例中,加在每一组的首行或者末行只需改变位置就行:
1、加在末行,分组后修改最后一行
2、加在首行,分组后修改第一行
多谢指点,excel 用公式倒是简单,if 判断非空,lookup 定位最后一个等等。spl 和 power query 有些类似,但公式比 pq 强大多了。刚刚接触到 spl,被精简的公式吸引了,因此才开始学习。看您是位高手,以后还请不吝赐教。