esProc 利用剪贴板强化 Excel 计算

本文详细介绍了如何使用esProc通过剪贴板功能增强Excel的计算能力。通过clipboard函数,可以在esProc中处理Excel的复杂计算任务,然后将结果返回Excel。文章讨论了基本用法、随意编辑脚本时的剪贴板保护、处理多个结果片区以及应对多个源片区的方法。示例包括计算每科前3名学生、生成超越目标名单以及动态查询订单等场景。
摘要由CSDN通过智能技术生成

遇到Excel难以实现的复杂或特殊运算时,可先用剪贴板将数据复制到esProc,利用esProc强大的计算能力完成,再用剪贴板返回Excel。剪贴板方式比传统的add-ins方式部署更简单,操作更顺滑,开发时不影响剪贴板正常使用,且支持多个源片区和结果片区。

基本用法

esProc提供了函数clipboard,可实现剪贴板的基本用法。下面用“各科前3名的学生”为例进行说明。

Excel中处理前的数据如下,其中A列是学生姓名,B-D列分别是数学、英语、物理成绩。

  A B C D
1 name math english physics
2 lily 97 100 99
3 Joshua 100 99 100
4 Sarah 98 99 96
5 Bertram 94 95 85
6 Paula 91 88 91
7 Sophia 92 81 76
8 Ben 87 80 76
9 Ruth 92 91 87
10 Pag 95 87 87

计算目标:求出每学科成绩前3名的学生,并追加到本科目成绩之后。

这个计算目标需要用到记录集合TopN、按序号拼接等功能,Excel本身不好实现,但借助esProc就容易多了。先在Excel中选中源片区(A1:D10),按下ctrl+C,复制到系统剪贴板,打开集算器IDE,编写并执行如下脚本:

  A B
1 =clipboard().import@t() /从剪切板读取数据
2 =A1.top(-3;math).(name) /math前3名
3 =A1.top(-3;english).(name)  
4 =A1.top(-3;physics).(name)  
5 =join@p(A2;A3;A4).export() /拼成二维表,转成字串
6 =clipboard(A5) /向剪切板写数据

上面代码中,clipboard函数有两种形态,其中无参数调用该函数时,可返回剪贴中的字符串,如A1格;以变量或格名为参数调用该函数时,可向剪贴板写入字符串,形如A6中的clipboard(var)。

执行上述脚本后,在Excel的B11格用ctrl+V,即可将剪切板中的数据复制到B11-D13,如下:

  A B C D
 
10 Pag 95 87 87
11   Joshua Lily Joshua
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值