LET 函数

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac

此 LET 函数将名称分配给计算结果。 这样就可存储中间计算、值或定义公式中的名称。 这些名称仅在函数范围内 LET 适用。 与编程中的变量类似, LET 是通过 Excel 的本机公式语法实现的。

若要在 Excel 中使用该 LET 函数,需定义名称/关联值对,再定义一个使用所有这些项的计算。 必须 (变量) 定义至少一个名称/值对,并且 LET 最多支持 126 个。

优点

  • 提升性能 如果你在某公式中多次编写同一表达式,Excel 之前会多次计算出结果。 LET 允许你按名称调用表达式,Excel 也只计算一次。
  • 易于阅读和撰写 不再需要记住特定区域/单元格引用引用的内容、计算正在执行什么或复制/粘贴相同的表达式。 借助可声明和命名变量的能力,你可为自己和公式使用者提供有意义的上下文。

语法

= LET (name1, name_value1, calculation_or_name2, [name_value2, calculation_or_name3...])

参数 说明
name1
必需​​
要分配的第一个名称。 必须以字母开头。 不能是公式的输出,也不能与范围语法冲突。
name_value1
必需​​
分配给 name1 的值。
calculation_or_name2
必需​​
下列任一项:
  • 使用函数中 LET 所有名称的计算。 这必须是函数中的 LET 最后一个参数。
  • 分配给第二个 name_value 的第二个名称。 如果指定了名称,则 name_value2 和 calculation_or_name3 是必需的。
name_value2
可选
分配给 calculation_or_name2 的值。
calculation_or_name3
可选
下列任一项:
  • 使用函数中 LET 所有名称的计算。 函数中的 LET 最后一个参数必须是一个计算。
  • 分配给第三个 name_value 的第三个名称。 如果指定了名称,则 name_value3 和 calculation_or_name4 是必需的。

注意

  • 最后一个参数必须是会返回结果的计算。
  • 变量的名称与可在名称管理器中使用的有效名称一致。 例如,“a”有效,但“c”无效,因为后者与 R1C1 样式参考冲突。

示例

示例 1

请思考一个简单的表达式“SUM(x, 1)”,其中 x 是一个命名参数,可向它赋值(在本例中,x 的赋值为 5)。

= LET (x, 5, SUM (x, 1) )

将此公式输出到单元格后,它将返回值 6。

示例 2

假设你有一些原始销售数据,而你想要筛选该数据来显示某位人员并在所有空白单元格中添加一个破折号。

未筛选的数据 已筛选的数据
未筛选的销售数据 已筛选的销售数据

虽然上述操作可以在没有 的情况下 LET完成,但使用 LET 提高了公式的可读性,并且计算速度是没有 LET.

示例数据

如果你想要亲自操作此示例,请将下表复制到空白工作表的单元格 A1。

销售代表 负责区域 产品 利润
柏隼 东部 苹果 ¥1.33
何石 南部 香蕉 ¥0.09
柏隼 西部 芒果 ¥1.85
何石 北部 ¥0.82
何石 西部 香蕉 ¥1.25
柏隼 东部 苹果 ¥0.72
何石 北部 芒果 ¥0.54

原始公式

=IF(ISBLANK(FILTER(A2:D8,A2:A8="何石")),"-", FILTER(A2:D8,A2:A8="何石"))

公式使用 LET

=LET ( filterCriteria,“Fred”, filteredRange, FILTER (A2:D8,A2:A8=filterCriteria) , IF (ISBLANK (filteredRange) ,“-”, filteredRange) )