【问题标题】:MS Excel IF statement confusionMS Excel IF 语句混淆
【发布时间】:2014-10-30 01:32:05
【问题描述】:

我正在尝试为我正在销售的一些日历制作电子表格。我有一个定价方案,取决于客户购买了多少日历。我希望能够跟踪销售,但我不想为每次销售输入单位价格。我设置了一个 IF 语句,除了最后一个变量之外似乎可以工作。截图如下:

如您所见,它一直有效到最后一个。数量达到 11 后,单价应该会下降到 6,但事实并非如此!我知道它必须是一个简单的修复,但我对 IF 语句了解不多,所以我被卡住了。请帮忙!

【问题讨论】:

  • 我在工作,所以我无法正确回复,但一个简单的VLOOKUP 和True 作为第四个参数和一个正确设置的表格更适合这个。
  • 恐怕我不知道关于 VLOOKUP 的第一件事,但有人确实用“可行”的 IF 语句回答了我的问题,即使它不是最友好的代码。关于 VLOOKUP 的教程有什么建议吗?
  • 大+1。 1. 样本数据 - 检查! 2. 非工作配方 - CHECK! 3. 努力自我解决——检查! 4. 对问题和所需解决方案的清晰描述 - 检查!

标签: excel if-statement


【解决方案1】:

如果您设置的价格表类似于我在下面的设置,则可以使用VLOOKUP 公式使其更加灵活。

H10中的公式为:

=VLOOKUP(G10,$B$1:$C$5,2,TRUE)

输入并向下拖动。

这种方法的好处是您可以更改左侧的下限计数,并且无需更新公式即可进行调整。尝试将Count 中的2 更改为3,您将立即看到调整。

另一个好处是您可以在表格中添加更多值以获得更多定价范围。

【讨论】:

  • 另一个好处是更好的公式审计。
【解决方案2】:

如果您必须使用IF 语句,请尝试:

=IF(G10=1,9,IF(G10<=5,8,IF(AND(G10>5, G10<11),7,IF(G10>=11,6,IF(G10="","")))))

你的问题是它永远不会读取if(G10&gt;=11 部分,因为它已经评估了if(G10&gt;5

如果G10 为空时应该没有输出,请使用以下变体:

=IF(ISBLANK(G10),"",IF(G10=1,9,IF(G10<=5,8,IF(AND(G10>5, G10<11),7,IF(G10>=11,6,IF(G10="",""))))))

【讨论】:

  • 谢谢,这正是我所需要的。现在我想我应该检查你的答案并将其与我的答案进行比较,然后真正弄清楚 IF 是如何工作的!
  • 正如其他人所指出的,还有其他方法可以解决这个问题。我还建议阅读/学习 VLOOKUP
  • 要学习 VLOOKUP,您可以从 @Nanashi 的回答开始,并尝试了解它是如何工作的。
  • @topsig 就像我说的,你的版本可以工作,但是,它仍然不能 100% 工作。如果数量列中没有任何内容,我希望单元格为空白。使用您使用的公式,它显示 8。如何更改它以使其不显示任何内容,除非 Quantity 列中有内容?
  • @user3154077:只需使用ISBLANK。像=IF(ISBLANK(G10),"",IF(G10=1,9,IF(G10&lt;=5,8,IF(AND(G10&gt;5, G10&lt;11),7,IF(G10&gt;=11,6,IF(G10="","")))))) 这样的东西应该可以工作。编辑了上面的答案以反映它。
【解决方案3】:

我同意@Nanashi 的观点,即将价格阈值放在单独的表格中并使用 vlookup 是更好的解决方案。这样就可以在无需编辑多个公式的情况下更改价格点。

但要让你的公式正常工作,试试这个:=if(g10="","",if(g10=1,9,if(g1&lt;=6,8,if(g10&lt;=10,7,6))))

注意:

  • 您不需要(也可能不希望)在数字周围加上引号 价值观
  • 测试的顺序很重要。在您的原始文件中,从未达到对 g10&gt;=11 的测试,因为它位于 g10&gt;5 函数的 else 部分中。

【讨论】:

  • 只是在讨论中添加 VLOOKUP 到表格中,将使审核公式更容易(即更容易确保所有公式相同),并避免使用硬编码或“魔术”数字.
【解决方案4】:

一个正确构建的数量和定价表以及VLOOKUP 公式将是最好的方法,可以简化未来的定价变化。但为了多样化,您的直接定价结构也可以通过以下方式处理:

=(6+(G10<11)+(G10<6)+(G10<2))*(G10>0)

【讨论】:

    【解决方案5】:

    在公式中,“G10>5”应该是“G105 标准。

    【讨论】:

    • (虽然我同意@Nanashi...我会做一个 VLOOKUP 代替)。
    猜你喜欢
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多