You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel的LET函数中读取单元格公式文本并执行计算?

解决方案

方法1:使用LAMBDA自定义函数(推荐,适用于Excel 365/2021及以上版本)

这种方法无需大量嵌套,可灵活扩展到20+种属性:

  1. 创建自定义计算函数

    • 点击「公式」选项卡 → 「名称管理器」→ 「新建」
    • 在弹出的窗口中:
      • 名称:输入RunFormula
      • 引用位置:粘贴以下公式:
        =LAMBDA(varName, varValue, formulaText, EVALUATE(SUBSTITUTE(formulaText, varName, varValue)))
        
    • 点击「确定」保存名称。
  2. 在目标单元格使用函数
    在需要计算结果的单元格中输入以下公式:

    =LET(
      numPetals, A1,
      targetColor, B2,
      matchedFormula, XLOOKUP(targetColor, Sheet2!A3:A4, Sheet2!B3:B4, "", 0),
      RunFormula("numPetals", numPetals, matchedFormula)
    )
    
    • 说明:
      • 若坚持使用VLOOKUP,可将XLOOKUP部分替换为VLOOKUP(targetColor, Sheet2!A3:B4, 2, FALSE)
      • RunFormula会自动将公式文本中的numPetals替换为A1的实际数值,再通过EVALUATE执行计算。

方法2:无需自定义函数(兼容更多版本)

如果无法使用LAMBDA,可直接通过SUBSTITUTE替换变量后用EVALUATE计算:

=LET(
  numPetals, A1,
  targetColor, B2,
  rawFormula, VLOOKUP(targetColor, Sheet2!A3:B4, 2, FALSE),
  finalFormula, SUBSTITUTE(rawFormula, "numPetals", numPetals),
  EVALUATE(finalFormula)
)
  • 注意:EVALUATE属于宏表函数,部分版本需启用宏才能正常使用。

验证示例

  • 当A1=2、B2=Red时,公式匹配到numPetals*2,替换后计算得2*2=4
  • 当A1=4、B2=Blue时,公式匹配到numPetals+3,替换后计算得4+3=7

内容的提问来源于stack exchange,提问作者nechever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 20:02:54