专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
Excel之家ExcelHome  ·  这些函数都学好,领导把你当成宝 ·  3 天前  
Excel之家ExcelHome  ·  计算排名和年龄,典型公式请收好 ·  4 天前  
茶瓜子的休闲馆  ·  按列筛选、金额占比抽样 ·  3 天前  
完美Excel  ·  自定义函数实现SUBTOTAL函数的全部功能 ·  4 天前  
完美Excel  ·  用动态数组来增强SUBTOTAL函数的汇总处理 ·  6 天前  
51好读  ›  专栏  ›  完美Excel

自定义函数实现SUBTOTAL函数的全部功能

完美Excel  · 公众号  · Excel  · 2024-12-08 11:53

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:Excel函数SUBTOTAL函数LAMBDA函数

SUBTOTAL函数与SEQUENCE函数组合应用中,使用Excel动态数组一次性汇总所有数据的各种结果;在用动态数组来增强SUBTOTAL函数的汇总处理中,实现了一次性利用SUBTOTAL函数的11个函数,列出函数名及其对应的计算结果。然而,这些公式都很长,看起来比较复杂,我们可以使用LAMBDA函数来自定义一个函数,以简化这些公式,实现数据的快速汇总。

LAMBDA函数允许创建自定义函数,以简化复杂的计算从而更容易使用。在单元格O3中,输入公式:

=LAMBDA(rng,

LET(f,"AVERAGE,COUNT,COUNTA,MAX,MIN,PRODUCT,STDEV,STDEVP,SUM,VAR,VARP",

fs,TEXTSPLIT(f,,","),

sub,SUBTOTAL(SEQUENCE(11),rng),

HSTACK(fs,sub)))(F3:F18)

以测试运算结果,如下图1所示。

1
可以看到,LAMBDA接受一个名为rng的参数,用于SUBTOTAL函数中。测试通过后,我们来自定义函数。

首先,单击功能区“公式”选项卡“定义的名称”组中的“定义名称”,在“新建名称”对话框中,输入名称以及相应的公式,如下图2所示。

2
在单元格R3中直接输入:

=fnSUBTOTAL(F3:F18)

结果如下图3所示。

3
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。