我有一列 5 行的数据,用于计算其左侧的项目(每行对应发票上的一个项目)是否符合折扣条件。列中的每个单元格将折扣规则应用于 A 列中的该项目,如果该项目符合折扣条件,则 B 列中的单元格值为“1”。
到目前为止,一切都很好。
问题在于,客户每个订单只能享受 1 次折扣,无论其他商品是否符合折扣条件。
例如,如果某件商品的价格超过 100 美元,那么它就有资格享受折扣。但我需要计算另一件商品是否已经打折,这样一来,我就创建了一个循环引用。
B1 =IF(A1>100,IF(SUM(B2:B5)>0,1,0)
B2 =IF(A1>100,IF(B1+SUM(B3:B5)>0,1,0)
B3 =IF(A1>100,IF(SUM(B1:B2)+SUM(B4:B5)>0,1,0)
B4 =IF(A1>100,IF(SUM(B1:B3)+B5>0,1,0)
B5 =IF(A1>100,IF(SUM(B1:B4)>0,1,0)
如果没有循环引用我怎样才能实现这一点?
答案1
输入B1
公式
=1*(A1>100)
在B2
下方输入公式并填写。
=(A2>100)*(SUM($B$1:B1)=0)
这将在 A 列中的值大于 100 的第一行中放置 1。即使 A 列中的值大于 100,此后的任何行都将为 0。