读取单元格中的文本作为 if 公式的条件

读取单元格中的文本作为 if 公式的条件

在单元格 A2 中输入公式:

=if(A1<0, do something 1, do something 2)

是否可以让条件语句被A1<0另一个单元格引用(比如 C1 中包含文本“A1<0”)?

因此最终公式将从另一个单元格中获取条件

=if(text in C1 which is the entire condition, do something 1, do something 2)

目前,if 条件将所有内容读取为文本,因此不接受它作为条件。

答案1

IF 语句只需要返回条件的 TRUE 或 FALSE。因此,如果单元格 C1 中有一个计算结果为 TRUE 或 FALSE 的公式,则可以将 C1 引用为条件。您不必将该条件“复制”到 IF 语句中。

参见屏幕截图。C1 有一个返回 TRUE 或 FALSE 的公式。单元格 C3 有一个 IF 语句,该语句仅使用对 C1 的引用作为条件。

=IF(C1,"C1 returns True", "C1 returns False")

在此处输入图片描述

答案2

teylyn 抢先给出了这个例子,实际上这是唯一接近的例子。

您所问的问题与之前提出的问题有关——是否有办法将表达式存储为文本,然后像公式一样对其进行求值。这可以通过 VBA 来实现,使用 EVALUATE 函数,但您不能将其嵌入为 IF 测试的第一个参数,除非您使用辅助单元格执行类似于 teylyn 的示例的操作。您可能会发现这个相关主题很有趣:Excel 函数是否可以像公式一样对字符串进行求值?

实际上,在有限的情况下,字符串表达式可以在不使用 VBA 的情况下进行求值。EVALUATE 可以在名称管理器中使用。以下是示例以这种方式使用 EVALUATE。这可以用作辅助单元格。我无法随时访问 Excel 来测试在 IF 测试中使用它作为第一个参数,但如果它有效,我会感到惊讶(当需要简单参数时,Excel 通常不支持启动复杂函数)。

相关内容