ZetCode

Excel LAMBDA 函数

最后修改于 2025 年 4 月 4 日

LAMBDA 函数是 Excel 的一项强大功能,它允许您在不使用 VBA 的情况下创建自定义、可重用的函数。本教程将提供使用 LAMBDA 的全面指南,并附有详细示例。您将学习其语法、实际应用以及掌握此改变游戏规则的 Excel 函数的高级技巧。

LAMBDA 函数基础

LAMBDA 函数使您能够使用 Excel 的公式语言定义自定义函数。它遵循函数式编程方法。您可以创建可以在整个工作簿中重用的复杂计算。

组成部分 描述
函数名称 LAMBDA
语法 =LAMBDA([参数1, 参数2, ...], 计算)
参数 1-253 个参数 + 计算
返回值 计算结果

此表分解了 LAMBDA 函数的基本组成部分。它显示了函数名称、基本语法格式、参数限制和返回值特征。

基本 LAMBDA 示例

此示例演示了 LAMBDA 最简单的用法,即创建一个将数字加倍的自定义函数。

基本 LAMBDA 公式
=LAMBDA(x, x*2)(5)

此公式定义了一个接受一个参数 (x) 并返回 x*2 的 LAMBDA。我们立即用 5 调用它,结果是 10。这展示了定义和调用 LAMBDA 的基本结构。

创建可重用的 LAMBDA 函数

要使 LAMBDA 函数可重用,您可以在 Excel 的“名称管理器”中为其命名。此示例显示了如何创建命名 LAMBDA 函数。

步骤 操作
1 转到“公式”>“名称管理器”
2 点击“新建”
3 输入名称(例如:DoubleIt)
4 在“引用位置”中输入 =LAMBDA(x, x*2)
5 点击“确定”

该表显示了创建名为 DoubleIt 的命名 LAMBDA 函数的步骤。定义后,您可以在工作簿的任何位置使用 =DoubleIt(5) 来获得 10。

使用命名 LAMBDA
=DoubleIt(A1)

此公式在单元格 A1 的值上使用了名为 DoubleIt 的 LAMBDA 函数。如果 A1 包含 8,结果将是 16。命名 LAMBDA 使您的公式更具可读性和可维护性。

带多个参数的 LAMBDA

LAMBDA 可以接受多个参数,从而实现更复杂的计算。此示例计算矩形的面积。

A B C
长度 宽度
10 5
=LAMBDA(l,w, l*w)(A2,B2)

此表演示了一个具有两个参数(长度和宽度)并计算面积的 LAMBDA。C2 中的公式乘以 A2 和 B2 中的值。

多参数 LAMBDA
=LAMBDA(length, width, length*width)(A2,B2)

此公式定义并立即调用一个计算矩形面积的 LAMBDA。当 A2=10 且 B2=5 时,结果为 50。描述性参数名称可以提高可读性。

用于阶乘的递归 LAMBDA

LAMBDA 的强大功能之一是递归——函数调用自身。此示例使用递归计算阶乘。

递归阶乘 LAMBDA
=LAMBDA(n, IF(n<=1, 1, n*LAMBDA(n-1)))(5)

此公式计算 5 的阶乘(120)。LAMBDA 以 n-1 调用自身,直到 n 达到 1。递归能够优雅地解决需要重复操作的问题。

带数组操作的 LAMBDA

LAMBDA 与 Excel 的动态数组配合得很好。此示例使用 MAP 将 LAMBDA 应用于数组中的每个元素。

A B
1
2
3
=MAP(A1:A3, LAMBDA(x, x^2))

该表显示了如何使用 MAP 和 LAMBDA 对范围 A1:A3 中的每个数字进行平方。B1:B3 中的结果将分别是 1、4 和 9。

带 MAP 的 LAMBDA
=MAP(A1:A3, LAMBDA(x, x^2))

此公式将平方操作应用于 A1:A3 中的每个单元格。结果是一个由平方值组成的动态数组。将 LAMBDA 与数组函数结合使用可以实现强大的数据转换。

LAMBDA 中的错误处理

您可以在 LAMBDA 函数中直接包含错误处理。此示例展示了如何处理除以零的情况。

带错误处理的 LAMBDA
=LAMBDA(a,b, IF(b=0, "Error", a/b))(5,0)

此公式尝试将 5 除以 0,但返回“Error”而不是 #DIV/0!。内置的错误处理使您的 LAMBDA 函数更加健壮和用户友好。

LAMBDA 函数通过允许创建自定义函数而无需 VBA,彻底改变了 Excel。从简单的计算到复杂的递归算法,LAMBDA 都能优雅地处理。掌握 LAMBDA 将极大地增强您的 Excel 能力。请记住,命名 LAMBDA 可以提高工作簿的可重用性和可读性。

作者

我叫 Jan Bodnar,我是一名热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1,400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出 所有 Excel 公式