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 必需 |
下列任一项:
|
name_value2 可选 |
分配给 calculation_or_name2 的值。 |
calculation_or_name3 可选 |
下列任一项:
|
注意:
-
最后一个参数必须是会返回结果的计算。
-
变量的名称与可在名称管理器中使用的有效名称一致。 例如,“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,"何石", filteredRange, FILTER(A2:D8,A2:A8=filterCriteria), IF(ISBLANK(filteredRange),"-", filteredRange)) |