zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Excel新函数:LET函数应用示例

Excel应用 函数 示例 Let
2023-06-13 09:17:15 时间

标签:LET函数

如下图1所示,将摄氏度转换为相应的华氏度。

图1

在单元格D3中输入公式:

=LET(CelsiusValue,C3:C6, ConversionFactor,9/5, FValue,(CelsiusValue*ConversionFactor)+32, FValueRounded,ROUND(FValue,2), FValueRounded&"°F" )

公式自动计算并填充所有单元格,如下图2所示。

图2

如果不使用LET函数,则公式为:

=ROUND((C3:C6*9/5)+32,2)&"°F"

虽然上面的公式的确更短,但它并不能很好地传达计算的意图。使用LET,更容易理解值在转换时所经历的所有单独组件和转换,只需逐行阅读公式即可。

LET提供的主要好处之一是调试和/或更新公式。以前面的示例为例,想象一下,在编写公式时,我们得到了一个状态,在该状态下计算了华氏温度值,并希望在末尾简单地添加“°F”。

公式可能如下所示:

=LET(CelsiusValue,C3:C6,

ConversionFactor,9/5,

FValue,(CelsiusValue*ConversionFactor)+32,

FValueRounded,ROUND(FValue,2),

FValueRounded&"°F"

)

我们更新公式为:

=LET(CelsiusValue,C3:C6,

ConversionFactor,9/5,

FValue,((CelsiusValue*ConversionFactor)+32)&"°F",

result,ROUND(FValue,2),

FValue

)

结果如下图3所示。

图3

调试公式发现,问题在于返回的是字符串,而ROUND函数需要一个数字。如果这不是很明显,可以通过重新编写LET来返回FValue的各个组件:CelsiusValue和ConversionFactor来进一步调试该语句。它们都将返回数字,这意味着错误位于定义FValue的表达式中。显然是因为附加了“°F”。这样,最终的公式为:

=LET(CelsiusValue,C3:C6,

ConversionFactor,9/5,

FValue,((CelsiusValue*ConversionFactor)+32),

result,ROUND(FValue,2)&"°F",

result

)

以上公式是有效的,然而,有一个技巧是简单地为字符串转换添加另一个名称,以防希望添加一个IF语句,该语句根据将来的条件为华氏度返回未格式化和格式化的值。

=LET(CelsiusValue,C3:C6,

ConversionFactor,9/5,

FValue,((CelsiusValue*ConversionFactor)+32),

FValueRounded,ROUND(FValue,2),

FValueStringAppended,FValueRounded&"°F",

FValueStringAppended

)

注:本文学习整理自微软官方网站,供参考。