找出连续出现某种情况的区间

举例

有 Excel 文件 book1.xlsx,数据如下所示:

现在需要找到 B 列是 setup 的连续记录作为一组,组内寻找 A 列最小的值,写在组内第 1 行的新列 C 上,结果如下:

编写 SPL 脚本:


A

1

=file("book1.xlsx").xlsimport@t()

2

=A1.group@o(B).select(~.B).run(~(1).C=~.(A).min())

3

=file("result.xlsx").xlsexport@t(A1)

A1  读取 Excel 数据

A2  A1.group@o(B)这会对 B 列按顺序把同值分组,select(~.B),找出 B 不为空的数据,再在每组内求出 A 列的最小值,赋予组内第一条数据的 C 列

A3  结果导出至 result.xlsx