0Pricing
Excel Formulas Academy · 课时

使用 LAMBDA 定义自定义函数

将计算封装为可重复使用的命名函数

使用 LAMBDA 定义自定义函数 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。

构建您自己的函数

Excel 自带数百个函数,例如 SUM 和 XLOOKUP。但如果您需要一个不存在的函数,例如将摄氏温度转换为华氏温度,该怎么办呢?

LAMBDA 函数让您只使用公式就能定义自己的可复用函数,无需编程。您可以描述输入(称为参数)和计算过程,而 Excel 会像处理内置函数一样处理它。

Microsoft 365 和 Google Sheets 都支持 LAMBDA。在本课中,您将学习如何将计算封装为可复用的命名函数。

LAMBDA 的结构

LAMBDA 由两部分组成:一个参数名称列表,以及使用这些参数的最终计算。

它的结构与 LET 完全相似:除最后一个参数外,其他每个参数都是参数名称,最后一个参数则是执行实际工作的公式。

单独的 LAMBDA 不会执行任何操作,就像菜谱在没有用食材烹饪之前不会产生任何结果一样。

=LAMBDA(parameter1, parameter2, calculation)

直接调用 LAMBDA

要立即测试 LAMBDA,请将它放在括号中,并紧接着传入值。这称为内联调用。

这里定义了一个接收 x 并返回 x*2 的 LAMBDA,然后立即使用 5 调用它。结果为 10。末尾的 (5) 为 x 提供值。

这是在为 LAMBDA 命名之前,确认其逻辑正常工作的最快方式。

=LAMBDA(x, x*2)(5)

实际示例:摄氏温度转华氏温度

让我们构建一个实用的函数。将摄氏温度转换为华氏温度的公式是乘以 1.8,再加上 32。

我们定义一个包含参数 c 的 LAMBDA,然后使用单元格 A2 中的值调用它。如果 A2 中的值为 20,结果就是 68。

它现在已经表现得像一个自定义函数了,但每次都输入完整的 LAMBDA 很麻烦。接下来我们将为它命名。

=LAMBDA(c, c*1.8 + 32)(A2)

多个参数

LAMBDA 可以接收多个输入。只需在最终计算之前列出每个参数名称即可。

下面是一个根据 width 和 height 计算矩形面积的函数。我们以内联方式传入 4 和 5,得到 20。

参数按照位置匹配:第一个值对应第一个参数,第二个值对应第二个参数,依此类推。

=LAMBDA(width, height, width*height)(4, 5)

在名称管理器中为 LAMBDA 命名

真正强大的地方在于为 LAMBDA 命名,这样您就可以像调用内置函数一样调用它。

在 Excel 中依次打开 公式、名称管理器、新建。输入一个名称,例如 ToFahrenheit,然后将 LAMBDA(不包含内联值)粘贴到 引用位置框中。

之后,您就可以在工作簿的任何位置使用 =ToFahrenheit(A2),就像使用 SUM 一样。我们将在后续课程中深入学习命名 LAMBDA。

=LAMBDA(c, c*1.8 + 32)

将 LAMBDA 与 LET 结合使用

在 LAMBDA 内部,您可以使用 LET 为中间步骤命名,让复杂逻辑保持整洁。

此函数接收 price 和 rate,将 tax 计算为一个已命名的步骤,然后返回总额。借助 LET,函数主体更加清晰易读。

=LAMBDA(price, rate, LET(tax, price*rate, price + tax))(100, 0.2)

Google Sheets 中的 LAMBDA

Google Sheets 支持使用相同语法的 LAMBDA。您可以定义参数和计算过程,并以相同方式进行内联调用。

Sheets 没有名称管理器,但在 数据、命名函数下提供了命名函数,作用相同。您编写的 LAMBDA 主体与 Excel 中的完全一致。

=LAMBDA(c, c*1.8 + 32)(A2)

LAMBDA 的重要性

LAMBDA 让您只需定义一次业务逻辑,就能在各处重复使用:

  • 不再需要反复复制和粘贴相同的复杂公式
  • 只需在一个位置修正逻辑,所有使用位置都会更新
  • 像 ToFahrenheit 这样的自说明名称可以解释其用途

它让电子表格变成一个可以构建自有小型函数库的地方,这些函数都能针对您的工作进行定制。

常见陷阱

如果您将 LAMBDA 输入单元格却没有调用它,Excel 会返回 #CALC! 错误,或显示该函数的文本。这是预期行为。

LAMBDA 需要值才能运行。您可以在末尾添加类似 (A2) 的内联调用,或者将其保存为命名函数,再使用参数调用该名称。单独的 LAMBDA 只是一个等待使用的定义。

=LAMBDA(x, x*2)(5)

目前为止的回顾

现在您已经知道,LAMBDA 可以定义参数和计算过程;接收到值后,它的行为就像一个自定义函数。

  • 使用内联调用测试逻辑:=LAMBDA(x, x*2)(5)
  • 支持按位置匹配的多个参数
  • 与 LET 结合,组织清晰的内部步骤
  • 在名称管理器中为其命名,以便在整个工作簿中重复使用

接下来您将学习如何使用 MAP 和 REDUCE 将 LAMBDA 应用于整个数组。

快速检查

测试您对 LAMBDA 调用方式的理解。

回顾:使用 LAMBDA 创建自定义函数

LAMBDA 让您仅使用公式就能构建自己的函数。

  • 语法:参数名称后跟一个最终计算
  • 传入值进行内联调用以测试,或为其命名以便重复使用
  • 参数按位置与参数值匹配
  • 在 Excel 和 Google Sheets 中的用法相同
  • 单独的 LAMBDA 需要值,否则会返回 #CALC!

现在您可以将重复的逻辑变成一个整洁的命名工具。接下来:使用 MAP 和 REDUCE 将 LAMBDA 应用于数组。

=LAMBDA(c, c*1.8 + 32)(A2)

常见问题解答

「使用 LAMBDA 定义自定义函数」课时是免费的吗?

是的 — 「使用 LAMBDA 定义自定义函数」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。

「使用 LAMBDA 定义自定义函数」这节课中我会学到什么?

将计算封装为可重复使用的命名函数 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Excel Formulas Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「使用 LAMBDA 定义自定义函数」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Excel Formulas Academy 课中编写并运行代码吗?

能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 LET 命名步骤
  2. 使用 LAMBDA 定义自定义函数
  3. 使用 MAP 和 REDUCE 循环处理
  4. 使用命名 LAMBDA 简化公式
← 返回 Excel Formulas Academy