允许 Excel 用户选择公式运算符

允许 Excel 用户选择公式运算符

我想设置一个电子表格,让用户选择要应用于其他单元格的运算符。例如:如果 A1 有 5,A2 有 10,我希望用户能够从单元格 A3 中选择加号或减号运算符(结果 A4 显示结果为:A1 + A2 或 A1 - A2)。

我知道我可以用 IF 语句或 CHOOSE 来做到这一点。但我想知道是否有更短的语句。我尝试将 A4 设置为这些选项,但都没有按预期工作。我想要一个数字结果,例如 15 或 -5

这是我尝试过的: - =A1&A3&A2 - =A1+A3A2

除了 IF 或 CHOOSE 之外还有其他方法吗?

答案1

这个问题的答案分为两部分......

  1. 建立一个合适的字符串来评估,在这里回答
  2. 像评估真实公式一样评估该字符串,在这里回答

针对您所列出的问题,构建正确字符串的示例:在单元格 A4 中,输入以下公式...

=A1&A3&A2

如果在 A1 中输入 10,在 A2 中输入 11,在 A3 中输入 *,则计算结果为10*11

构建字符串的更复杂方式可能需要使用和ADDRESS/或INDIRECT函数。


旧版本的 Excel 带有用于 Evaluate 的 UDF,但较新版本中已不存在该 UDF。您需要创建自己的 UDF,例如...

Function myEval(r As Variant) As Variant
    If TypeName(r) = "Range" Then
        myEval = Evaluate(r.Value)
    Else
        myEval = Evaluate(r)
    End If
End Function

按照示例,在单元格 A5 中,您可以放置​​...

=myEval(A4)

其计算结果为110。或者您可以将单元格 A4 的内容替换为 ...

=myEval(A1&A3&A2)

然后将其评估为110

相关内容