LET 函数

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

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

LET 图表

注意: 这是多种 beta 功能之一,当前仅面向一部分 Office 预览体验成员提供。 我们将在未来的几个月里继续优化这些功能。 准备就绪后,我们会向所有 Office 预览体验成员和 Microsoft 365 订阅者发布该功能。

优势

  • 提升性能 如果你在某公式中多次编写同一表达式,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="Fred")),"-", FILTER(A2:D8,A2:A8="Fred"))

使用 LET 的公式

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

需要更多帮助?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

需要更多帮助?

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×