Excel四种条件选择一个的公式问题

A条件显示结果a,B条件显示结果b,C条件显示结果c,其他条件显示结果我0;我的计算公式是

=if(A条件,a,if(B条件,b,if(C条件,c,0)))
为什么显示结果不完全正确呢?不知道问题出在什么地方。
购买日期 | 退还日期 | 购买价格 |保障金额
2012-08-30 |2013-02-07 |777,000.00 |621,600.00
2012-08-30 |2013-02-07 |520,000.00 |416,000.00

2012-06-04 |2014-01-06 |436,000.00 |0.00

这是客户购买一个产品隔一段时间后退还,我们给客户在购买价格的基础上进行打折回收,12个月以内的是80%,12-24个月的是65%,24-36个月的是50%,36个月以上的不回收。

我的公式是:
=IF(DATEDIF(D2,E2,"m")<=12,F2*0.8,IF(12<DATEDIF(D2,E2,"m")<=24,F2*0.65,IF(24<DATEDIF(D2,E2,"m")<=36,F2*0.5,0)))
前面2行数据没有问题,但是第3行为什么出来的结果是0?

第1个回答  推荐于2017-09-13
12<DATEDIF(D2,E2,"m")<=24
这样的写法是错误的,应写成
AND(DATEDIF(D2,E2,"m")>12,DATEDIF(D2,E2,"m")<=24

整个公式可以简写成
=F2*IF(DATEDIF(D2,E2,"m")<=12,0.8,IF(DATEDIF(D2,E2,"m")<=24,0.65,IF(DATEDIF(D2,E2,"m")<=36,0.5,)))
再或
=F2*LOOKUP(DATEDIF(D2,E2,"m"),{0,0.8;13,0.65;25,0.5;37,0})本回答被提问者采纳
第2个回答  2014-07-18
连不等式不行
你的=IF(DATEDIF(D2,E2,"m")<=12,F2*0.8,IF(12<DATEDIF(D2,E2,"m")<=24,F2*0.65,IF(24<DATEDIF(D2,E2,"m")<=36,F2*0.5,0)))

应为=IF(DATEDIF(D2,E2,"m")<=12,F2*0.8,IF(12<DATEDIF(D2,E2,"m")<=24,F2*0.65,IF(DATEDIF(D2,E2,"m")<=36,F2*0.5,0)))
第3个回答  2019-12-16
12
12,DATEDIF(D2,E2,"m")<=24
整个公式可以简写成
=F2*IF(DATEDIF(D2,E2,"m")<=12,0.8,IF(DATEDIF(D2,E2,"m")<=24,0.65,IF(DATEDIF(D2,E2,"m")<=36,0.5,)))
再或
=F2*LOOKUP(DATEDIF(D2,E2,"m"),{0,0.8;13,0.65;25,0.5;37,0})
第4个回答  2014-07-18
条件设置有问题,有重叠吧追问

能说一下具体哪里有重叠吗?

第5个回答  2014-07-18
换具体数据说,公式这样设置是正确的
相似回答