如何在 Excel 中组合 IF 语句

如何在 Excel 中组合 IF 语句

以下公式单独使用时有效,但是当我将它们组合起来时出现值错误,请帮忙!

=IF(AND(LEFT(D7,14)="成本避免")*AND(AI7>=100000),"是,请在 AK 列中提供验证表","否")

=IF(AND(LEFT(D7,14)="成本降低")*AND(AI7>=50000),"是,在 AK 列中提供验证表","否")

合并(不起作用): =IF(LEFT(D7,14)="成本避免"*AND(AI7>=100000),"是,在 AK 列中提供验证表",IF(LEFT(D7,14)="成本降低"*AND(AI7>=50000),"是,在 AK 列中提供验证表","否"))

答案1

IF( AND( expression; expression2; expression3; ...) ; "All true"; "All false")

要获得任何函数的“帮助”,例如 AND:
在 Excel 中,
- 按 F1,
- 然后找到 /Search\ - 选项卡并
-AND在搜索字段中输入,
- 按 ENTER,
- 找到AND (function)并单击它...
- 阅读文本。

根据记忆,允许与上面的内容有细微的差别。
注意:;,值之间 - 取决于您的语言环境设置。

答案2

=IF(AND(LEFT(D7,14)="成本避免",AI7>=100000),"是,在 AK 列中提供验证表",IF(AND(LEFT(D7,14)="成本降低",AI7>=50000),"是,在 AK 列中提供验证表","否"))

我自己解决了

答案3

Hannu 的回答涵盖了这一点,但如果您是 Excel 新手,语法可能看起来很奇怪。我将扩展解释。

AND 语法是:

AND(condition1,condition2,...)  

必须全部为真的各种条件是 AND 内的列表,以逗号分隔。如果列表中的所有条件都为真,AND 将返回 TRUE 值,否则返回 FALSE。因此,您的两个 AND 表达式将如下所示:

AND( LEFT(D7,14)="Cost Avoidance"), AI7>=100000 )
AND( LEFT(D7,14)="Cost Reduction"), AI7>=50000 )

每个 AND 表达式都返回一个 TRUE 或 FALSE 值,因此整个表达式可以在您想要根据某些条件或条件为 TRUE 或 FALSE 做出决策的地方使用。

IF 函数测试某事物是 TRUE 还是 FALSE,并为每种情况返回结果:

IF( condition, result_if_TRUE, result_if_FALSE)

该条件可以是您的整个 AND 表达式。

根据您的描述,您有两个不同的 AND 表达式,并且如果其中一个为真,则您希望获得同一组 TRUE/FALSE 结果。您可以使用 OR 来实现这一点。与 AND 一样,语法如下:

OR(condition1, condition2,...)  

您给它一个条件列表。如果列表中的一个或多个条件为真,则 OR 返回真,如果没有条件为真,则返回假。

这些条件可以是任何返回 TRUE/FALSE 结果的条件,包括您的 AND 表达式。因此,每个 AND 表达式都可以是 OR 列表中的条件。您将获得:

OR( AND(LEFT(D7,14)="Cost Avoidance"),AI7>=100000), AND(LEFT(D7,14)="Cost Reduction"),AI7>=50000) )

整个 OR 表达式产生 TRUE/FALSE 结果,因此它可以用作 IF 测试中的条件:

IF( OR(AND(LEFT(D7,14)="Cost Avoidance"),AI7>=100000),AND(LEFT(D7,14)="Cost Reduction"),AI7>=50000)), "Yes, provide validation form in column AK", "No" )

当然,所有这些都取决于您的问题是否准确描述了您想要做什么。另外,请注意,列表和参数分隔符可能因语言环境而异。在某些语言环境中,使用分号而不是逗号。如果您使用函数向导来帮助构建公式,它将插入正确的分隔符。

相关内容