我有一家零售店,根据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%
答案 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条件,它将给出结果。