评估文本表达

评估文本表达

我有一个文本表达式,前面用单引号 '-a+b 表示。然后像图中一样进行替换。我想用黄色表示表达式的值(求值为 4),而不是像那样显示。我该怎么做?我尝试了 Evaluate 函数,但该函数在我的版本(Excel 2019)中不存在。

在此处输入图片描述

答案1

您可以使用以下内容并根据需要进行调整以选择查找值。(例如,您可能有 10 个变量,而不仅仅是“a”和“b”。)如果需要评估其他表达式,您可能还需要调整运算符和负号。

=-HLOOKUP("a",$A$77:$D$78,2,FALSE)+HLOOKUP("b",$A$77:$D$78,2,FALSE)

以上是假设精确的变量集和精确的表达式的简单版本。

因为你表示你寻求使用“EVALUATE()~”的解决方案,所以对你来说这是一个有趣的注释。你可以访问该公式。您遇到的麻烦是它无法在“单元格端”(在打开的电子表格中)工作。它仅在命名范围功能中可用。

您的想法是创建一个命名范围,也许是“答案”,然后在“引用”框中使用以下公式:

=EVALUATE(-a+b)

您需要将其中的“a”和“b”替换为上面公式的相应部分,或者将它们定义为命名范围本身。我个人更喜欢后者,尽管某些单个字母(例如“c”)不可用(它与 R1C1 寻址样式中的“C”冲突;“r”也是如此)。您可以为命名范围指定名称,如“AA”等,用于SUBSTITUTE()单元格的原始输入。或者只是 Excel 不允许您直接使用的名称。

这其中最重要的因素EVALUATE()是:因为我敢打赌你在其他地方找到了解决方案,只需要让它发挥作用:

EVALUATE() 必须在命名范围内使用,否则将无法工作。每个人都可以使用它,而不仅仅是某些人,只要他们在命名范围功能内使用它即可。

所有旧的 Excel 4 宏都可以通过这种方式获得:在命名范围内,永远不会在电子表格本身的单元格中。

答案2

尝试......

假设数据存储在A2:D3

在 中B6,公式抄下来:

=IMREAL(IMDIV(SUBSTITUTE(SUBSTITUTE(A6,MID(A6,2,1),HLOOKUP(MID(A6,2,1),A$2:D$3,2,0)),MID(A6,4,1),HLOOKUP(MID(A6,4,1),A$2:D$3,2,0))&"i","1+i"))*2

在此处输入图片描述

相关内容