如何找到下面满足条件的第一个格子的行号

例题描述

Excel文件中有一列数值,需要找出数字10出现以后第一次出现单数时与它之间的间隔行数。如下图所示:

..

实现步骤

1、  运行集算器

2、  编写脚本:

..

把代码列出来看得清楚点:

A
1=clipboard().split("\n").(int(~))
2=A1.(null)
3=A1.run(if(~==10,(x=~[1:].pselect(~%2==1),A2(#+x)=x)))
4=clipboard(A2.export())

A1   从剪贴板里读取数据,按换行符\n拆分成序列并转换成整数

A2   定义一个与A1大小相同的序列用来保存结果,赋初值为空

A3   循环A1的每个数,计算:如果当前数是10,则从它后面的数中选出第1个单数的序号赋给x,再将结果序列中第#+x个成员值设为x。其中~[1:]表示当前数的下一个到最后一个组成的序列,#表示A1中当前数的序号。

A4   将A2序列转换成字符串放进剪贴板中

3、  代码写好以后,到Excel文件里选择数值列A2-A16,然后按Ctrl+C复制到剪贴板。

回到集算器,按F9运行程序,运行结束后再回到Excel文件,点击B2,按Ctrl+V就可以把间隔列的数据粘贴过来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值