excel - 让 Excel IF AND 语句更高效
问题描述
我有一个价目表,其中客户将根据他们订购的产品数量以及他们是否是现有客户收取不同的费用。
我正在尝试使用 AND 语句编写具有以下条件的嵌套 IF:
Order 1-10 and TRUE = 3*1.2
Order 1-10 and FALSE = 3
Order 11-20 and TRUE = 2*1.2
Order 11-20 and FALSE = 2
Order 21 or more and TRUE = 1*1.2
Order 21 or more and FALSE = 1
到目前为止,我有一个有效但不够优雅的公式,其中 B1 是订单量,B2 是现有客户,E1/F2/F3 是价格。
=IF(AND(B1<11,B2=TRUE),E1*1.2,IF(AND(B1<11,B2=FALSE),E1,IF(AND(B1<21,B2=TRUE),F1*1.2,IF(AND(B1<21,B2=FALSE),F1,IF(AND(B1>=21,B2=TRUE),G1*1.2,G1)))))
有没有办法让这个公式更短/更有效?
解决方案
你可以把它分开有点像:
=If(B2, 1.2, 1)*If(AND(B1>=1, B1<=10), 3, If(And(B1>=11,B1<=20), 2, 1))
如果您将其转换为数学,您可以这样做:
=If(B2, 1.2, 1)*ROUND(30/CEILING(B1, 10), 0)
或者:
=(1+B2*0.2)*ROUND(30/CEILING(B1, 10), 0)
不过这有点傻。
更新了E1
//差异F2
。F3
我第一次没听懂。我认为以下将是要走的路(上面的选项1和选项3的混合)。
=(1+B2*0.2)*If(B1<=10),E1,If(B1<=20), F2, F3))
我认为最大的收获是将确定乘数的逻辑(1.2
与1
取决于B1
)和确定价格的逻辑(您的If
声明和E1
// )F2
分开F3
推荐阅读
- java - 为重复搜索选项创建循环的问题,为搜索查询事件添加下划线的建议
- python - 读数计数器
- swiftui - 如何防止 Text 扩展 VStack 的宽度
- python - 为什么pyparsing的可选总是返回一个列表
- python - Tkinter 在定义的坐标处删除所有移动对象
- python - 关于 Python 中的矩阵向量运算
- woocommerce - 在客户处理订单php中的Woocommerce BACS Bankdetails之间添加文本
- rust - 当借用在方法调用后面时,如何借用两个不相交的字段?
- python - pandas groupby 然后按日期过滤以获得平均值
- c - 比较两个双打,看看它们是否相同 NaN