N 款增强数据分析处理能力的 Excel 插件

 

Excel 函数丰富操作方便,常用来进行桌面数据计算,但也有一些较特殊或较复杂的计算是 Excel 不擅长的,比如从长串里拆分出所有的日期,让 vlookup 返回匹配的多个结果,对多个单元格(数组)进行拆分合并,对带列名的片区(表格数据)进行分组后计算。这类计算虽然理论上可以用 Excel 内置的 VBA 实现,但因为语法难学代码繁琐,并不适合非专业程序员用户。实际上,这类计算也可以用 Excel 插件实现,代码通常会更简单。下面介绍一些面向非程序员用户的,可以增强 Excel 计算能力的插件。

Advanced Formula Environment

1png

Advanced Formula Environment(简称 AFE)是微软官方出品的自定义函数开发和运行环境,使用 Lambda 语法,可简化函数定义,并循环处理数组。用户先编写自定义函数,再在单元格中写表达式,并引用自定义函数。AFE 安装配置方便,技术要求较低,计算能力中等。

通过 Excel 内置的 add-ins 商店可一键安装 AFE,步骤少,无任何第三方依赖。通常先用 Lambda 语法编写函数,再在单元格引用,这种方式可读性好,但操作稍有不便。也可以把 Lambda 语法直接写在单元格中,操作会方便些,但可读性明显变差。AFE 代码比 VBA 短,输入时有方便的参数说明。

AFE 自定义函数结构简单,编写方便,技术要求低于 VBA,可以用较低成本提高 Excel 的计算能力,但简单的函数结构也导致能力不足,不支持全功能流程处理,不支持较复杂的计算逻辑。AEF 赋予了原生函数部分流程处理能力,但没有提高原生函数本身的计算能力,尤其是表格数据的计算,更没有从底层改进数据结构和计算语法,整体计算能力提升有限。

https://www.microsoft.com/en-us/garage/profiles/advanced-formula-environment-a-microsoft-garage-project/

esProc Desktop

2png

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

3png

xlSlim 是基于 Python 语言的插件,使用第三方函数库作为计算引擎,用户先在 Python 脚本中编写自定义函数,再在 Excel 单元格写表达式,调用自定义函数。xlSlim 安装配置较复杂,技术要求中等,计算能力较强。

xlSlim 可以使用大量的 Python 第三方函数库,有针对数组的 NumPy,也有针对表格数据的 Pandas,很多函数的计算能力都超过了 Excel 原生函数。xlSlim 是 Python 脚本式插件,具有流程处理能力,可实现较复杂的业务逻辑。Python 脚本比 Excel 函数难写难用,代码也长,但比 VBA 的代码量小得多。

xlSlim 本身支持一键安装,但安装之前先要搭建 Python 运行环境,并安装第三方函数库,步骤较多,涉及手工操作,对非专业程序员来说难度较大。不能直接在 Excel 单元格写表达式,必须先编写 Python 自定义函数,并在 Excel 单元格用注册函数注册 Python 脚本文件,有时候要注册多个文件,操作过程不够方便。

https://www.xlslim.com/

PyXLL

4png

PyXLL 是基于 Python 语言的插件,计算引擎是第三方类库。用户先用 Python 编写自定义函数,再在单元格中引用自定义函数,操作过程不够方便。PyXLL 计算能力比较强,安装配置很麻烦,技术要求中等。

PyXLL 提供了大量计算函数,有针对数组或集合数据的,也有针对表格数据的,很多函数的计算能力超过了 Excel 原生函数。PyXLL 是 Python 脚本式插件,流程处理能力也比较强。PyXLL 可定义 Excel 菜单,点击菜单执行 Python 脚本。PyXLL 提供了输入参数提示界面,使用时较方便。Python 虽然不如 Excel 公式简练,但比 VB 代码短,技术要求不算高。

安装 PyXLL 前先要安装配置好 Python 环境,以及 Numpy 和 Pandas 等第三方函数库,步骤多且技术要求高,有些地方要手工敲命令或修改配置文件,容易出错。PyXLL 的计算代码不能写在 Excell 单元格中,必须写成 Python 脚本的形式,方便程度较差,技术要求较高。写完 Python 脚本也不能直接用,要在配置文件中定义函数接口,操作比较麻烦。

https://www.pyxll.com/

XLWings

5png

XLWings 是基于 Python 语言的交互式计算插件,计算引擎是第三方类库。用户在网页形式的 IDE 中编写 Python 代码,先读取 Excel 单元格(或片区),再进行计算,之后将计算结果赋值给 Excel 单元格(片区),交互性强,但全程代码操作,很不方便。XLWings 计算能力强,但安装配置不方便、技术要求中等。

XLWings 提供了大量计算函数,有针对数组或集合数据的,也有针对表格数据的,很多函数多的计算能力超过 Excel 原生函数。XLWings 使用 Python 脚本实现计算,流程处理能力比较强。

XLWings 安装之前要配置好 Python 环境,以及 Numpy 和 Pandas 等函数库,基本上都是命令行操作,步骤较多,技术要求较高。XLWings 的计算代码比 VBA 短,但全程都是 Python 代码,包括计算前后的数据读写,操作过程很繁琐,技术要求非常高。

https://www.xlwings.org/

OpenPyXL

6png

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

7png

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 单元格调用自定义函数,过程比较繁琐,技术要求比较高。

http://bert-toolkit.com/

JADE

8png

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

9png

Kutools 是一套增加 Excel 易用性的插件,允许用户使用向导生成简单的表达式,为用户提供了更加方便的操作界面。Kutools 的安装配置比较方便,技术要求较低,计算能力比较弱。

Kutools支持一键安装,步骤很少,不必手工输入,不依赖第三方平台或组件。Kutools 通过向导和操作界面进行计算,帮助说明详细,技术要求足够低。

Kutools 提供了上百个表达式向导和操作界面,数量虽然不少,但大多数都是对 Excel 原生函数的简单组合,功能不强,限制较多,只能解决特定问题,不能自由编写表达式。各项功能主要针对数组,少量针对表格数据,计算能力较弱,没有超出 Excel 原本的能力。Kutools 不支持脚本和流程处理,无法进行较复杂的计算。

https://www.extendoffice.com/download/kutools-for-excel.html

Ablebits Tools

10png

Ablebits Tools 是一套增强 Excel 易用性的插件,允许用户使用向导生成简单的表达式,为用户提供了更加方便的操作界面,全程零编码。Ablebits Tools 的安装配置比较方便,技术要求较低,计算能力很弱。

Ablebits Tools 支持一键安装,步骤很少,不必手工输入,不依赖第三方平台或组件。Ablebits Tools 通过向导和操作界面进行计算,帮助说明详细,技术要求足够低。

Ablebits Tools 各提供了十几个表达式向导和操作界面,数量比较少,限制较多,不够自由。虽然有针对数组和表格数据的向导和操作,但计算能力较弱,没有超出 Excel 原本的能力。不支持脚本和流程处理,无法进行较复杂的计算。

https://www.ablebits.com/downloads/index.php

SeoTools

11png

SeoTools 由搜索引擎管理接口、数据分析界面、各类函数组成,其中,可用于计算的函数有三十多个。用户在 Excel 单元格输入表达式,引用 SeoTools 函数,操作过程方便自然。SeoTools 安装配置方便,技术要求低,但计算能力不强,只支持旧版本 Excel。

SeoTools 支持一键安装,步骤少,自动化程度高,无手工配置,安装前后不依赖第三方平台或组件。SeoTools 直接在单元格输入表达式,简短易读,用法类似 Excel 原生函数,技术要求低。

SeoTools 提供的计算函数较少,缺乏系统性,无法提供全面的计算能力。SeoTools 的函数主要针对数组,少量针对表格数据,且计算能力不足。SeoTools 缺乏计算脚本和流程处理能力,无法实现较复杂的计算。

https://seotoolsforexcel.com/download-seotools/

Essential Excel Add-In

12png

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/