Excel LET 和 LAMBDA 函数:完整指南及示例

最后更新: 03/09/2025
作者: 艾萨克
  • LET 为中间结果分配名称,提高清晰度和性能。
  • LAMBDA 创建自定义函数并通过单元内调用进行验证。
  • BYROW、BYCOL、MAP、SCAN、REDUCE 和 MAKEARRAY 将 LAMBDA 应用于数组。
  • 现成的示例:小计、映射、累积和矩阵生成。

Excel中

当你在 Excel 中处理数据时, 重复公式 无限范围变得难以管理;这就是它们发挥作用的地方 LET 和 LAMBDA 函数,创建干净、可重复使用且维护速度更快的计算的两个关键部分。

有了这些功能,以及几个 现代矩阵函数 依赖它们,您可以定义中间名称,封装计算并对矩阵应用转换,就像循环一样; BYROW、BYCOL、MAP、SCAN、REDUCE 和 MAKEARRAY 它们就像锦上添花,让您能够以优雅而高效的方式将 LAMBDA 应用于矩阵的行、列或元素。

Excel 中的 LET 和 LAMBDA 是什么?

LAMBDA 函数允许 使用语言本身创建自定义函数 excel公式,无需宏或 VBA:您定义参数,编写计算,并且如果需要,可以使用参数调用它以获得即时结果。

另一方面,LET 函数用于 为同一公式中的中间结果分配名称,因此您可以多次重复使用它们而无需重新计算,从而在复杂的工作表中获得可读性和效率。

围绕 LAMBDA 出现了一些函数,它们将数组视为需要遍历的集合: 拜罗 (按行) 比科 (按列) MAP (地图元素), SCAN (积累并返回中间状态), 降低 (仅返回最终累计值)和 制造阵列 (根据需要生成矩阵)。

把这套工具想象成 模拟数组的循环和遍历:您传递具有所需转换的 LAMBDA,Excel 完成其余工作,并返回带有结果的向量或矩阵。

结果是,您可以构建复杂的计算,而无需借助辅助列或外部代码; 一切都被封装在纯粹的公式中,错误风险更低,维护性更好。

如何正确测试和定义 LAMBDA

一个好的做法是 直接在单元中构建和验证 LAMBDA 在将其定义为可重用函数之前:定义参数,编写计算并在最后添加带有所需参数的测试调用。

  在 iPhone 上隐藏短信的技巧

如果你不进行测试,就很容易遇到 #CALC 错误! 在不完整的公式中,最后的调用会强制您评估计算并确认结构是否正确。

最清晰的工作方式是: LAMBDA(参数1;参数2;…;计算)(参数1;参数2;…);因此,您可以在一个单元格中编写定义及其执行来验证结果。

例如,要将 1 添加到数字,您可以尝试: =LAMBDA(number; number + 1)(1). 表达方式 返回值 2,这证实了 LAMBDA 及其调用是经过精心策划的。

验证后,您可以将该 LAMBDA 注册为自定义函数(带有名称)或 将其插入到其他公式中 和矩阵函数来解决更具挑战性的问题。

LET:语法、参数和注意事项

Excel 中的 LET 语法

LET 的一般语法是: =LET(nombre1; nombre_valor1; cálculo_o_nombre2; );其目标是 命名中间结果 并在最终计算中使用这些名称。

LET 的主要论点: 名称1 (必需)是您分配的第一个标识符;它必须以字母开头,不能是公式的结果,并且 不能与 范围语法 在Excel中。

争论 名称_值1 (必需)是与 名称1;这样你就可以避免重复相同的计算,并且 提高性能 如果您要重复使用它。

第三个论点, 计算或名称2 (必需),它可以是以下两种情况之一: 最终计算 使用所有声明的名称,或要定义的第二个名称;如果您决定声明一个名称,那么您还需要提供 名称_值2 y 计算或名称3.

名称_值2 (可选)为上一步中声明的名称赋值;如果继续链接名称, 重复模式 名称/值直到最后一个参数都是计算。

最后, 计算或名称3 (可选)可以是最终计算结果或第三个名称;请记住 LET 的最后一个参数必须始终是计算 返回预期结果。

这种可扩展的模式允许您清晰地链接定义,并防止您在同一公式中重复表达式;简而言之, LET 简化、澄清并加速 复杂的工作簿。

利用 LAMBDA 的现代矩阵函数

这些函数通过应用 LAMBDA 定义的转换来遍历数组,其行为就像迭代器一样; 按行或列提供小计、映射、累积 以及自定义矩阵的构建。

  了解如何与 Apple Watch 同步照片

BYROW:对每一行应用 LAMBDA

拜罗 对输入范围内的每一行计算 LAMBDA 并返回结果的列向量;它非常适合创建逐行小计或没有辅助列的指标。

其语法为: =BYROW(rango; LAMBDA(fila; cálculo_por_fila)),其中参数 队列 表示函数正在处理的当前行;LAMBDA 每行返回单个值.

实际例子:如果你的矩阵在 B2:D7 并且你想把每一行加起来, E2=BYROW(B2:D7; LAMBDA(fila; SUMA(fila)));你会得到 包含每行总和的向量,可用于分析或图形。

BYCOL:对每列应用 LAMBDA

比科 工作原理与 BYROW 类似,但它循环遍历列;它返回一个列向量,其中包含源范围内每一列的一个结果。

语法为: =BYCOL(rango; LAMBDA(columna; cálculo_por_columna));参数 columna 将当前列暴露给 LAMBDA, 每列产生一个值.

实际示例:数据在 B2:D7,放置在 B8 公式 =BYCOL(B2:D7; LAMBDA(columna; PROMEDIO(columna)));你会得到 具有每列平均值的向量,可用作总结或质量控制。

MAKEARRAY:创建计算数组

制造阵列 生成一个指定大小的矩阵,用接收行索引和列索引的 LAMBDA 计算每个元素;在某些西班牙环境中,它被视为 制作数组文件.

其一般形式为: =MAKEARRAY(n_filas; n_columnas; LAMBDA(fila; columna; cálculo_por_posición))。每一行/列交叉点都经过 LAMBDA 和 返回所需值 对于该坐标。

位置标识符示例:在任何单元格中,使用 =ARCHIVOMAKEARRAY(3; 2; LAMBDA(fila; col; -(fila&col))) 创建一个数组 3 行 x 2 列 其中每个元素连接其行和列(并强制用减号编号)。

另一个结合多种功能的例子: =LET(arrPos; ARCHIVOMAKEARRAY(3; 2; LAMBDA(fila; col; -(fila&col))); arrPosF; COINCIDIR(arrPos; K.ESIMO.MENOR(arrPos; SECUENCIA(6))); INDICE(G8:G13; arrPosF)).有了这个结构, 你创造职位,你得到 6名未成年人 然后使用 INDEX 将它们映射到某个范围内。

MAP:将元素转换为元素

MAP 接受一个或多个数组,并通过对每个元素应用 LAMBDA 返回另一个相同大小的数组;它非常适合 清理、规范化或条件标签 无辅助柱。

  如何优化浏览器并减少 RAM 使用量

基本语法为: =MAP(matriz; LAMBDA(valor; transformación));如果传递多个数组,LAMBDA 会接收多个参数,每个数组一个;结果 保留尺寸 输入矩阵。

标记偶数和奇数的经典示例 A21:A26: =MAP($A$21:$A$26; LAMBDA(param1; SI(ES.PAR(param1); param1; "-")))。因此,如果每个元素是偶数,则用其自身替换,如果不是,则用连字符替换; 所有处理都是矢量.

SCAN:累积中间状态

SCAN 使用累加器 LAMBDA 遍历数组并返回所有中间状态,而不仅仅是最终状态;它非常适合 累计总数、累计百分比 以及依赖于先前结果的计算。

结构是: =SCAN(valor_inicial; matriz; LAMBDA(acumulador; valor; nuevo_acumulado))哪里 初始值 蓄能器启动, 矩阵 是要处理的范围,LAMBDA 定义过渡 州与州之间。

对于经典的累积奖金 A31:A36他写道: =SCAN(0; A31:A36; LAMBDA(acum; param1; acum + param1));你会得到 部分和序列 一步。

如果你想要累积比率,你可以结合 LET 和 SCAN: =LET(total; SUMA(A31:A36); SCAN(0; A31:A36; LAMBDA(acum; param1; (acum + param1))) / total)。在这里你首先计算 总计与 LET 然后将每个中间状态除以总数。

REDUCE:最终累计

降低 它的工作原理类似于 SCAN,但只返回累加器的最后状态;也就是说, 将整个数组简化为单个值 应用 LAMBDA 定义的变换。

其图案为: =REDUCE(valor_inicial; matriz; LAMBDA(acumulador; valor; nuevo_acumulado));最终值通常是总和、乘积、逻辑交集或您感兴趣的过程的结果。

最终运行总和示例 A1:A6: =REDUCE(0; A1:A6; LAMBDA(acum; param1; acum + param1)); 在一个表达式中, 你得到总金额 无需暴露中间步骤。

导致我们损失数十亿的 7 个 Excel 错误-9
相关文章:
Excel 中的 IF、VLOOKUP 和 CONCATENATE 函数:完整指南