分享

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

 互利互读一辈子 2023-01-28 发布于北京

excelperfect

标签: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的各个组件:CelsiusValueConversionFactor来进一步调试该语句。它们都将返回数字,这意味着错误位于定义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
)
注:本文学习整理自微软官方网站,供参考。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多