Excel如何让中间变量,中间计算结果,值,函数 不要重复计算,可以多次调用?

适用范围:

Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 网页版 Excel 2021(旧版不支持) Excel 2021 for Mac

腾讯文档和企业微信文档均不支持

LET函数

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

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

LET 图表

优势

  • 提升性能 如果你在某公式中多次编写同一表达式,Excel 之前会多次计算出结果。 而借助 LET,你可按名称调用表达式,Excel 也只计算一次。

  • 轻松阅读和撰写 不用再记住特定范围/单元格引用是指什么、你的计算在执行什么操作,也不用再复制/粘贴相同的表达式。 借助可声明和命名变量的能力,你可为自己和公式使用者提供有意义的上下文。 

示例

示例 1

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

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

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

 

示例 2

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

未筛选的数据

已筛选的数据

未筛选的销售数据

已筛选的销售数据

虽然不用 LET 就能完成上述操作,但使用 LET 会提高公式的可读性,与不用 LET 时相比计算速度快了两倍。

示例数据   

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


原始公式

=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))

posted @ 2023-02-15 18:48  jopny  阅读(572)  评论(0编辑  收藏  举报