【问题标题】:Multiple IF functions with multiple possible solutions具有多种可能解决方案的多个 IF 功能
【发布时间】:2018-05-01 18:02:01
【问题描述】:

好的。因此,我正在建立一家根据可负担性和情况销售 7 种不同计划的企业。

我希望将客户信息输入 Excel 电子表格和电子表格以告诉我计划。

但是基本的 IF 方程不起作用。

例如。如果客户的信用等级超过 550,0 拖欠,想要超过 20000 英镑但等于或少于 25000 英镑的保险,并且拥有 2 份或更少的保险单,则 = 计划 7。

=IF(AND(A1>550,B1>0,C1>20000,C1<=25000,D1<=2),"7")

(这一点很好,因为它告诉我“计划 7”)。

但是。

如果客户的信用等级低于 550 但高于 500,0 拖欠,想要超过 15000 英镑但 20000 英镑或更少的保险,并且拥有 2 份或更少的保险单,则 = 计划 6。

如果我将那些匹配的变量放在适当的单元格中,这个等式只会返回“FALSE”:如:

=IF(AND(A1>550,B1>0,C1>20000,C1<=25000,D1<=2)"7",IF(AND(A1>500,A1<550,B1>0,C1>15000,C1<=20000,D1<=2),"6"))

= FALSE(如果电子表格中的信息应该返回 PLAN 6)但如果电子表格中的信息应该返回 PLAN 7,则继续给我 PLAN 7。

我显然希望继续使用其他 5 个参数,直到“PLAN 1”。

我做错了什么?

非常感谢。斗智斗勇。

【问题讨论】:

  • 这可以用And()简化:IF(AND(A1&gt;550,B1&gt;0,C1&gt;20000,C1&lt;=25000,D1&lt;=2), 7, IF(AND(....), "6", "Something else"))你失败的原因是因为你有IF(A1&gt;500,IF(A1&lt;500它不能同时大于500和小于500。
  • 谢谢伙计。我犯了一个错误。它应该说 IF(A1>500, IF(A1
  • 再读一遍:IF(A1&gt;500,IF(A1&lt;500 你两次都使用 500。不能同时低于500和高于500。
  • 是的,犯了一个错误。刚刚更正。对不起。有什么想法吗?
  • 很难说。 If 接受三个参数。最后是如果条件为false 时该怎么做。如果没有给出它只会返回“false”。所以我们真的不知道这是哪里失败了。你可以给它一些报告,这样你就可以诊断了。对于最后一个大 IF(IF(IF(... 块,您可以给它报告:IF(A1&gt;500,IF(A1&lt;550,IF(B1&gt;0,IF(C1&gt;15000,IF(C1&lt;=20000,IF(D1&lt;=2,"6", "failed d1 condition"),"failed c1&lt;=20000 condition"),"failed c1&gt;15000 condition"),"Failed a1&lt;550 condition"), "Failed a1&gt;500 condition")

标签: excel excel-formula equations


【解决方案1】:

我强烈建议不要使用带有硬编码值的冗长复杂的 IF 语句,而是创建一个类似这样的查找表(您可以继续扩展它,直到您的所有计划编号都涵盖了所有计划标准):

然后让我们假设您的客户表如下所示:

然后使用 SUMIFS 公式获取您要查找的计划编号(重要的是要注意,我们只能使用 SUMIFS,因为我们返回的是数字而不是文本)。使用此示例数据,将此公式放入单元格 F2 并向下复制:

=SUMIFS(P:P,H:H,"<="&B2,I:I,">="&B2,J:J,"<="&C2,K:K,">="&C2,L:L,"<="&D2,M:M,">="&D2,N:N,"<="&E2,O:O,">="&E2)

这将为我们提供基于客户数据的正确计划:

这将使您的计划标准更易于维护和更新,而不是在您的公式中硬编码,并且将使未来的维护更容易和更容易理解。

【讨论】:

  • 太棒了。非常感谢您花时间。问题是,我将在通过电话与个别客户交谈时做出这个决定,然后再告知他们我们可以提供什么。我目前正在手动计划参数,但希望在某种程度上自动化每个客户的决策过程。感谢您的建议作为一般说明,并已将其添加为书签以供参考。但它实际上对我没有帮助。还是我看错了?
  • 我可以为一个客户这样做吗?我没有看到方程中的解,所以我有点困惑。
  • 单元格 F2 中的公式正在查看单个客户,在示例中为 Customer1,并将该客户的单元格 B2、C2、D2 和 E2 与计划标准表进行比较。如果您查看 F3 中的公式,这些引用将是 Customer2 的 B3、C3、D3 和 E3
  • 因此,如果您只想为单个客户执行查找,只需调整 B2、C2、D2 和 E2 中的值
  • 这信息量惊人。如果我必须这样做,因为没有其他方法,那就这样吧。仍然很棒的工具和建议。但是,是否有任何方法可以实现我希望通过 IF(AND 实现的目标?如果有任何方法可以避免的话,我宁愿不使用“工作表”。
猜你喜欢
  • 2021-02-17
  • 2021-01-29
  • 1970-01-01
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 2014-12-17
  • 2014-09-09
  • 1970-01-01
相关资源
最近更新 更多