Excel 2024/365新函数系列讲座(37):LAMBDA 函数应用(2)—— 创建自定义函数通过定义名称的方法利用LAMBDA函数设计自定义函数,可以在当前工作簿中的任何一个工作表使用,非常方便和灵活。例如,我们可以根据实际数据处理分析的需要,创建自己的LAMBDA函数库(相当于使用VBA设计了大量的自定义函数),这样在数据分析建模中可以快速使用这些LAMBDA函数,提升数据处理效率,降低错误率。以公式“=LAMBDA(x,y,x*y)”为例,定义名称并在工作表中调用的方法和步骤如下。在“公式”选项卡中,单击“定义名称”命令按钮,打开“定义名称”对话框,在名称输入框中输入具体的名称,例如“两数计算”,在引用位置输入框中输入LAMBDA函数公式表达式,单击“确定”按钮,就定义了一个名称“两数计算”。打开“名称管理器”对话框,可以看到已经有了一个名称“两数计算”,在这个对话框中,还可以对公式进行编辑修改。定义好名称后,这个名称就可以被当成一个像Excel内置函数那样使用了。可以在单元格之间键入下面的公式,如图所示。这个函数有两个参数,分别指定两个要计算的数值或单元格引用。Excel没有判断指定日期所属季度的函数,不过我们可以使用LAMBDA函数来设计这样的函数。下图是一个简单示例,A列是日期,在单元格B2输入下面的公式,即可快速得到指定日期所属的季度:这个函数有1个参数,指定要判断季度的日期或单元格引用。这个函数“季度”就是使用LAMBDA函数设计的,公式如下,如图7-10所示。这个函数有一个参数变量“日期”。
=LAMBDA( 日期,CHOOSE(ROUNDUP(MONTH(日期)/3,0),"一季度","二季度","三季度","四季度")
下图是利用自定义函数“季度”,计算各个产品在每个季度的销售合计数,公式如下:
=PIVOTBY(B2:B1604, 季度(A2:A1604), C2:C1604, SUM, 0, 1)
我们也可以定义一个判断日期是否为上旬、中旬和下旬的自定义函数“上中下旬”,公式如下:=LAMBDA(日期,IF(DAY(日期)<=10,"上旬",IF(DAY(日期)<=20,"中旬","下旬")))
这样,就可以统计某个月上中下旬的汇总表,如下图所示,参考公式如下:=LET(
日期, A2:A1604,
销售额, C2:C1604,
月份, TEXT(日期,"mm月"),
旬日, 上中下旬(日期),
PIVOTBY(月份, 旬日, 销售额, SUM, 0, 1)
)