使用If,然后在Excel中运行

时间:2014-09-09 00:31:17

标签: excel if-statement

我有一家零售店,根据Selling Price的费用出售托运物品。 所以我的问题是如何编写一个检查销售价格的公式,然后根据以下时间表收取正确的寄售费用来计算净额:

  When selling price is over $400 then charge = 20%
  When Selling price is $100 to $400 then charge = 30%
  When Selling price is under $100 then charge = 40%

3 个答案:

答案 0 :(得分:1)

BLUF:使用嵌套的IF语句(IF中的IF) -

示例:

= IF(A2> = 400,(A2 * 0.2),(IF(400> A2> = 100,(A2 * 0.3),(A2 * 0.4))))

如果您怀疑有人会愚蠢地输入负数或无意义的话,请使用以下内容:

= IF(A2> = 400,(A2 * 0.2),(IF(400> A2> = 100,(A2 * 0.3),(IF(A2 <100,(A2 * 0.4),( 0))))))

这可能看起来很复杂,但让我们从头开始分解。

IF语句的基本公式:

= IF(testCondition,(resultIfTrue),(resultIfFalse))

一个IF语句只允许您执行以下三个条件中的两个:

= IF(A1> 400,(A1 * .20),(A1 * .30))

以上基本上说如果单元格A1中的数字大于400,则当前单元格中的值(例如B2)为A1 * 20%。但如果A1中的数字不大于400,则单元格中的值将为A1 * 30%。

但是我们如何计算你要求的范围(即100-400)以及我们如何增加第三种可能性(即数字小于100的可能性)?

答案是使用嵌套的IF。如果条件为真,您可以告诉单元格它应该是什么值,但如果答案为假,则可以测试另一个条件(即 next IF语句代替resultIfFalse。

= IF(testCondition,(resultIfTrue),(IF(testCondition,(resultIfTrue),(resultIfFalse))))

以上可以处理3种不同的场景。在上面的IF中,您还可以用另一个IF语句替换第二个IF resultIfFalse ,依此类推。您最多可以嵌套64个IF语句。

额外资源: http://fiveminutelessons.com/learn-microsoft-excel/using-multiple-if-statements-excel

http://spreadsheets.about.com/od/tipsandfaqs/qt/nested_if.htm

答案 1 :(得分:1)

嵌套 IF 函数不是用户友好的,需要对变量进行硬编码(百分比)。我的建议总是在其他地方有一个小的价值表:例如。将以下内容放在 A1:B3

0 0.4 100 0.3 401 0.2

假设您的数据位于 D1 ,您可以在 E1 中使用以下公式,并在必要时向下拖动

=INDEX($B$1:$B$3,MATCH($D1,$A$1:$A$3,1))

通过这种方式,您可以轻松更改边界/添加更多条件,而无需使用更多嵌套 IF 语句

答案 2 :(得分:0)

请尝试使用此代码:

=IF(B1<100,B1*40%,IF((B1>=100)*AND(B1<=400),B1*30%,IF(B1>100,B1*20%,"Invalid Price")) 该公式包含嵌套ifs和逻辑AND条件,它将给出结果。