本文主要是介绍如何不改变次序时获取Excel中同类的上(下)行数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
下面的Excel中,Block相同的行属于同一组。
目标:计算出2个新列,BenchAbove为同一组内的上一行的Bench,如果本行为第1行,则BenchAbove为空。BenchBelow为同一组内的下一行的Bench,如果本行为最后1行,则BenchBelow为空。
计算结果应当如下:
这类问题的难点是:在不改变行顺序的前提下,获取同一组内的上一行下一行。
-
运行集算器(可以到润乾官网下载,用职场版,首次运行时会提示加载授权,下载个免费的就够了)
- 编写脚本并执行
A2 中,~[:-1] 获取当前行之前的所有行,~[1:] 则时当前后之后的所有行,select 用于查找,@z 表示从后往前找,@1 表示找到 1 条就结束。
还可以在Excel 内用剪贴板实现,步骤如下:
-
运行集算器
-
用Excel 打开需要计算的文件。
-
选中A1:B13 区域,按 ctrl+C 复制到剪贴板。
-
切换到集算器,选中A1 格,注意要让光标落到 A1 的编辑状态中,用 ctrl+V,将数据粘贴进来。
-
编写如下esProc 脚本并执行
-
按F9 执行,然后点击 A3,右侧可以看到执行结果。按住 shift(以便带上列名),点击 “copy data” 按钮,将计算结果复制到剪贴板。
-
在Excel 的 C1 单元格,用 ctrl+V 粘贴结果,即可完成计算。
上面的例子只取上下一条,如果遇到更复杂情况,比如上下N 行,也可用类似的办法获取到。
这篇关于如何不改变次序时获取Excel中同类的上(下)行数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!