在 Excel 中使用集算器 add-in

集算器支持Excel add-in接口,既可以在单元格调用集算器表达式,也可以在单元格或VBA中调用集算器脚本文件。

一、环境配置

应在windows操作系统下配置JDK、集算器、Excel,对于最常见的64位windows,三个软件的位数必须保持一致,即都是32位,或都是64位。

JDK

集算器自带JDK,如果本机原先没有JDK,则建议跳过本步骤,在下一步安装。如果本机的JDK可卸载,建议用JAVA或Windows官方提供的工具正常卸载,再进入下一步。

如果本机已安装JDK(1.8或以上版本),且有重要用途不宜卸载,则应确保注册表信息正确,其中64位JDK的位置在:

\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\javasoft\Java\Runtime Enviroment

集算器

正常安装集算器,可以选装自带的JDK,也可以指向本机已安装的JDK。

Excel

在Excel中打开对话框:file->Option->add-ins

在对话框中点击Go…按钮,导航到集算器add-in:[esProc的安装目录]\bin\ExcelRaq.xll。

重启Excel,使配置生效。

二、基本用法

通过名为esproc的函数,可以在Excel单元格中调用集算器表达式。比如A列是逗号分隔的数字,B列是单个数字:

  A B
1 1,2,3,4,5,6 3
2 7,45,31,12,-10 4
3 9,7,5,3,2 5

现在要在C列的每行计算出:A列中比B列大的那些数中,最小的是哪个数,结果应当如下:

  A B C
1 1,2,3,4,5,6 3 4
2 7,45,31,12,-10 4 7
3 9,7,5,3,2 5 7

要计算本题,应当先在C1编写表达式:

=esproc("=?.split@cp().sort().select@1(~>?)",A1,B1)

回车后,将C1格下拉或复制到C3,即可完成计算。

表达式中的函数split将字符串按分隔符拆分成数组(序列),@c表示按逗号拆分,@p表示自动转换类型。函数sort实现排序,select实现条件查询,@1表示返回第1个。

参数可以是多个。表达式中的问号是参数占位符,有几个参数就有几个问号,这是集算器表达式的特色。

参数的格式遵循Excel规范。可以是B1这种复制时自动变更坐标的参数,或$B$1这种固定坐标的参数,以及跨sheet、跨文件的参数。集算器也支持片区参数,比如A1:D5,亦可通过鼠标选择生成片区参数。

三、以片区为参数

片区参数在格式上遵循Excel规范,本质上是集算器的序列数据类型。比如下面的字母数字表中,奇数行是唯一字母,偶数行是数字:

  A B

你可能感兴趣的:(Excel处理,add-in,Excel插件,数据分析,spl,esProc)