例题描述

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

如何获取当前行的行号(如何找到下面满足条件的第一个格子的行号)(1)

实现步骤

1、 运行集算器

可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。

2、 编写脚本:

如何获取当前行的行号(如何找到下面满足条件的第一个格子的行号)(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就可以把间隔列的数据粘贴过来。

,