找到第一个和最后一个

1.   找位置

文件book1.xlsx数据如下图所示,第1行是列名,其他行有些格为空,有些格有数据,有数据的格一定是连续的。

..

现在要在A列和B列分别算出连续有数据的格的起始列的列名,以及终止列的列名,如下图所示:

..

编写SPL脚本:

A
1=file("E:/work/book1.xlsx").xlsimport@w()
2=A1.to(2,).run(~(1)=A1(1)(~.pselect(~)),~(2)=A1(1)(~.pselect@z(~)))
3=file("E:/work/book2.xlsx").xlsexport@w(A1)

A1   读入员工信息表数据,选项@w表示读成序列的序列

A2   循环A1第2行开始的每一行,查找第一个不为空的成员序号,取得A1第1行中此序号的成员值赋给当前行的第1个成员;查找最后一个不为空的成员序号,取得A1第1行中此序号的成员值赋给当前行第2个成员,选项@z表示从最后开始往前查找。

A4   将A1保存到文件book2.xlsx,选项@w表示要输出的对象A1是序列的序列

2.   找成员

有股票行情数据表stock.xlsx部分数据如下图所示:

..

请找出股票600027收盘价首次突破10元和最后一次高于10元的行情记录。

编写SPL脚本:

A
1=T("E:/work/stock.xlsx")
2=A1.select@1(Code=="600027"   && Close>10)
3=A1.select@z1(Code=="600027"   && Close>10)

A1   读入股票行情数据

A2   选出股票600027收盘价第一次高于10元的记录,选项@1表示选择第1条满足条件的记录

A3   选出股票600027收盘价最后一次高于10元的记录,选项@z表示从最后开始往前查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值