我想设置一个电子表格,让用户选择要应用于其他单元格的运算符。例如:如果 A1 有 5,A2 有 10,我希望用户能够从单元格 A3 中选择加号或减号运算符(结果 A4 显示结果为:A1 + A2 或 A1 - A2)。
我知道我可以用 IF 语句或 CHOOSE 来做到这一点。但我想知道是否有更短的语句。我尝试将 A4 设置为这些选项,但都没有按预期工作。我想要一个数字结果,例如 15 或 -5
这是我尝试过的: - =A1&A3&A2 - =A1+A3A2
除了 IF 或 CHOOSE 之外还有其他方法吗?
答案1
这个问题的答案分为两部分......
针对您所列出的问题,构建正确字符串的示例:在单元格 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
。