N 款增强数据分析处理能力的 Excel 插件
Excel 函数丰富操作方便,常用来进行桌面数据计算,但也有一些较特殊或较复杂的计算是 Excel 不擅长的,比如从长串里拆分出所有的日期,让 vlookup 返回匹配的多个结果,对多个单元格(数组)进行拆分合并,对带列名的片区(表格数据)进行分组后计算。这类计算虽然理论上可以用 Excel 内置的 VBA 实现,但因为语法难学代码繁琐,并不适合非专业程序员用户。实际上,这类计算也可以用 Excel 插件实现,代码通常会更简单。下面介绍一些面向非程序员用户的,可以增强 Excel 计算能力的插件。
Advanced Formula Environment
Advanced Formula Environment(简称 AFE)是微软官方出品的自定义函数开发和运行环境,使用 Lambda 语法,可简化函数定义,并循环处理数组。用户先编写自定义函数,再在单元格中写表达式,并引用自定义函数。AFE 安装配置方便,技术要求较低,计算能力中等。
通过 Excel 内置的 add-ins 商店可一键安装 AFE,步骤少,无任何第三方依赖。通常先用 Lambda 语法编写函数,再在单元格引用,这种方式可读性好,但操作稍有不便。也可以把 Lambda 语法直接写在单元格中,操作会方便些,但可读性明显变差。AFE 代码比 VBA 短,输入时有方便的参数说明。
AFE 自定义函数结构简单,编写方便,技术要求低于 VBA,可以用较低成本提高 Excel 的计算能力,但简单的函数结构也导致能力不足,不支持全功能流程处理,不支持较复杂的计算逻辑。AEF 赋予了原生函数部分流程处理能力,但没有提高原生函数本身的计算能力,尤其是表格数据的计算,更没有从底层改进数据结构和计算语法,整体计算能力提升有限。
esProc Desktop
esProc Desktop 是基于 SPL 语言的插件,使用自研的数据计算引擎进行计算,用户直接在 Excel 单元格编写表达式,引用 SPL 函数,操作过程方便自然。esProc Desktop 安装配置方便,技术要求低,计算能力强。
esProc Desktop 支持一键安装,步骤较少,不需要手工输入命令或修改配置文件,不需要额外安装其他软件或运行环境。esProc Desktop 不需要编写自定义函数或配置函数接口,可直接在单元格编写表达式,并立即计算出结果,操作习惯沿袭 Excel,代码较短,操作方便。esProc Desktop 提供了大量计算函数,有针对数组或集合数据的,也有针对表格数据的,很多函数的计算能力超过 Excel 原生函数。esProc Desktop 还提供了 SPL 计算脚本,可进行流程处理和复杂计算,通过在单元格引用脚本文件名来执行。
esProc Desktop 不支持输入参数提示界面,这一点不够方便。
http://www.raqsoft.com/esproc-desktop
xlSlim
xlSlim 是基于 Python 语言的插件,使用第三方函数库作为计算引擎,用户先在 Python 脚本中编写自定义函数,再在 Excel 单元格写表达式,调用自定义函数。xlSlim 安装配置较复杂,技术要求中等,计算能力较强。
xlSlim 可以使用大量的 Python 第三方函数库,有针对数组的 NumPy,也有针对表格数据的 Pandas,很多函数的计算能力都超过了 Excel 原生函数。xlSlim 是 Python 脚本式插件,具有流程处理能力,可实现较复杂的业务逻辑。Python 脚本比 Excel 函数难写难用,代码也长,但比 VBA 的代码量小得多。
xlSlim 本身支持一键安装,但安装之前先要搭建 Python 运行环境,并安装第三方函数库,步骤较多,涉及手工操作,对非专业程序员来说难度较大。不能直接在 Excel 单元格写表达式,必须先编写 Python 自定义函数,并在 Excel 单元格用注册函数注册 Python 脚本文件,有时候要注册多个文件,操作过程不够方便。
PyXLL
PyXLL 是基于 Python 语言的插件,计算引擎是第三方类库。用户先用 Python 编写自定义函数,再在单元格中引用自定义函数,操作过程不够方便。PyXLL 计算能力比较强,安装配置很麻烦,技术要求中等。
PyXLL 提供了大量计算函数,有针对数组或集合数据的,也有针对表格数据的,很多函数的计算能力超过了 Excel 原生函数。PyXLL 是 Python 脚本式插件,流程处理能力也比较强。PyXLL 可定义 Excel 菜单,点击菜单执行 Python 脚本。PyXLL 提供了输入参数提示界面,使用时较方便。Python 虽然不如 Excel 公式简练,但比 VB 代码短,技术要求不算高。
安装 PyXLL 前先要安装配置好 Python 环境,以及 Numpy 和 Pandas 等第三方函数库,步骤多且技术要求高,有些地方要手工敲命令或修改配置文件,容易出错。PyXLL 的计算代码不能写在 Excell 单元格中,必须写成 Python 脚本的形式,方便程度较差,技术要求较高。写完 Python 脚本也不能直接用,要在配置文件中定义函数接口,操作比较麻烦。
XLWings
XLWings 是基于 Python 语言的交互式计算插件,计算引擎是第三方类库。用户在网页形式的 IDE 中编写 Python 代码,先读取 Excel 单元格(或片区),再进行计算,之后将计算结果赋值给 Excel 单元格(片区),交互性强,但全程代码操作,很不方便。XLWings 计算能力强,但安装配置不方便、技术要求中等。
XLWings 提供了大量计算函数,有针对数组或集合数据的,也有针对表格数据的,很多函数多的计算能力超过 Excel 原生函数。XLWings 使用 Python 脚本实现计算,流程处理能力比较强。
XLWings 安装之前要配置好 Python 环境,以及 Numpy 和 Pandas 等函数库,基本上都是命令行操作,步骤较多,技术要求较高。XLWings 的计算代码比 VBA 短,但全程都是 Python 代码,包括计算前后的数据读写,操作过程很繁琐,技术要求非常高。
OpenPyXL
OpenPyXL 是基于 Python 语言的插件,计算引擎是第三方类库。用户先写 Python 脚本,在脚本中读取 Excel 单元格、完成计算、回写单元格,最后执行该脚本。OpenPyXL 计算能力比较强,安装配置很麻烦,技术要求中等。
Python 提供了大量计算函数,包括针对数组和表格数据的,很多函数的计算能力超过 Excel 原生函数。OpenPyXL 是 Python 脚本式插件,流程处理能力比较强。Python 代码比 VBA 简短,技术要求相对低。
安装 OpenPyXL 前必须配置好 Python 环境,以及 Numpy 和 Pandas 等函数库,基本都要手工敲命令,步骤多且技术要求高。OpenPyXL 的计算代码不能写在 Excell 单元格中,必须写成 Python 脚本的形式,方便程度较差,技术要求较高。
https://openpyxl.readthedocs.io/en/stable/
Bert
Bert 是基于 R 语言的 Excel add-ins,使用 R 语言自带的引擎进行数据计算。用户先用 R 语言编写自定义函数,再在 Excel 单元格调用 R 的自定义函数,操作过程不够方便。Bert 的计算能力一般,安装配置不算方便,技术要求较高。
Bert 提供了大量 R 语言的计算函数,主要是针对向量或行列的,也有针对表格式数据的,有些函数的计算能力超过了 Excel 原生函数。R 语言可以使用第三方库函数,比如 data.table,计算能力可进一步提高,但需要额外下载部署。R 语言虽然不如 Excel 公式简练,但比 VB 代码短,技术要求也低些。Bert 提供了输入参数提示界面,输入 Excel 表达式比较方便。
Bert 本身支持一键安装,但安装前要先安装配置 R 语言环境,过程比较麻烦。Bert 不支持在单元格直接输入表达式,必须先用 R 语言编写自定义函数、定义 Excel 接口、指定参数,之后才能在 Excel 单元格调用自定义函数,过程比较繁琐,技术要求比较高。
JADE
JADE 是一个嵌入 Excel 的 JavaScript 开发环境,支持第三方函数库作为计算引擎。用户在 Excel 内编写 JavaScript 脚本并执行,用法类似 VBA。JADE 安装配置不方便,技术要求中等,计算能力中等偏弱。
JADE 本身的安装还算方便,通过 Excel 内置的 add-ins 商店可一键安装,但之后还需安装第三方计算库,比如Danfo-js或 Pandas-js,如此才能提高计算能力和开发效率,否则代码量较大,与 VBA 相比没有优势。第三方计算库的安装只能手工完成,步骤较多,过程复杂,技术要求高。第三方计算库支持较多的计算函数,包括针对数组和表格数据的,但成熟度不如专业计算库,计算能力有欠缺,代码仍显复杂。
JADE 具有流程处理能力,可实现较复杂的业务逻辑。
https://appsource.microsoft.com/en-us/product/office/wa200003637?tab=overview
Kutools
Kutools 是一套增加 Excel 易用性的插件,允许用户使用向导生成简单的表达式,为用户提供了更加方便的操作界面。Kutools 的安装配置比较方便,技术要求较低,计算能力比较弱。
Kutools支持一键安装,步骤很少,不必手工输入,不依赖第三方平台或组件。Kutools 通过向导和操作界面进行计算,帮助说明详细,技术要求足够低。
Kutools 提供了上百个表达式向导和操作界面,数量虽然不少,但大多数都是对 Excel 原生函数的简单组合,功能不强,限制较多,只能解决特定问题,不能自由编写表达式。各项功能主要针对数组,少量针对表格数据,计算能力较弱,没有超出 Excel 原本的能力。Kutools 不支持脚本和流程处理,无法进行较复杂的计算。
https://www.extendoffice.com/download/kutools-for-excel.html
Ablebits Tools
Ablebits Tools 是一套增强 Excel 易用性的插件,允许用户使用向导生成简单的表达式,为用户提供了更加方便的操作界面,全程零编码。Ablebits Tools 的安装配置比较方便,技术要求较低,计算能力很弱。
Ablebits Tools 支持一键安装,步骤很少,不必手工输入,不依赖第三方平台或组件。Ablebits Tools 通过向导和操作界面进行计算,帮助说明详细,技术要求足够低。
Ablebits Tools 各提供了十几个表达式向导和操作界面,数量比较少,限制较多,不够自由。虽然有针对数组和表格数据的向导和操作,但计算能力较弱,没有超出 Excel 原本的能力。不支持脚本和流程处理,无法进行较复杂的计算。
https://www.ablebits.com/downloads/index.php
SeoTools
SeoTools 由搜索引擎管理接口、数据分析界面、各类函数组成,其中,可用于计算的函数有三十多个。用户在 Excel 单元格输入表达式,引用 SeoTools 函数,操作过程方便自然。SeoTools 安装配置方便,技术要求低,但计算能力不强,只支持旧版本 Excel。
SeoTools 支持一键安装,步骤少,自动化程度高,无手工配置,安装前后不依赖第三方平台或组件。SeoTools 直接在单元格输入表达式,简短易读,用法类似 Excel 原生函数,技术要求低。
SeoTools 提供的计算函数较少,缺乏系统性,无法提供全面的计算能力。SeoTools 的函数主要针对数组,少量针对表格数据,且计算能力不足。SeoTools 缺乏计算脚本和流程处理能力,无法实现较复杂的计算。
https://seotoolsforexcel.com/download-seotools/
Essential Excel Add-In
Essential Excel Add-In 是一套 Excel 增强工具,由操作界面和自定义函数组成。用户在 Excel 单元格输入表达式,引用自定义函数,操作过程方便自然。Essential Excel Add-In 安装配置方便,技术要求低,但计算能力较弱。
Essential Excel Add-In 支持一键安装,步骤少,自动化程度高,无手工配置,安装前后不依赖第三方平台或组件。可直接在单元格输入表达式,简短易读,用法类似 Excel 原生函数,操作很方便,技术要求低。
Essential Excel Add-In 只有 16 个计算函数,计算能力比较弱,只有针对数组的函数,没有针对表格数据的函数,缺乏计算脚本和流程处理能力,无法实现较复杂的计算。
https://sourceforge.net/projects/essenexceladdin/
英文版