我有一个问题,我无法弄清楚如何解决。目前我在excel中解决这个问题,但最终还是使用了sql。
我们有一项调查,意味着在结算金额达到时运行;
•首先触发$ 50k,然后$ 150,然后$ 250。
'最后一次运行'是调查上次运行时的当前价值'是当前的结算金额。
因此,对于第1行,当收费金额为55000时,调查最后一次运行,现在是160000,大于150K的阈值,因此应该进行调查,因此它应该返回“真实”。
第2行:也是如此,因为当前值大于'最后一次运行并且'>> = 150K 第3行:也是如此,因为它已超过150K的阈值 第4行:应该返回false,因为在上次运行和当前值之间没有任何阈值通过。
如果 CurrentValue> =上次运行 并且当前值> = 50K或150K或250K
然后' True'其他错误
我们将从此返回的真假判决中启动调查。
数据仅为样本数据,当前和上次运行的值可以更改,但触发量将保持不变。
任何帮助将不胜感激。
答案 0 :(得分:0)
我这样理解你的问题:
您想要计算检查上次运行值的哪个触发器,以及哪个触发器检查当前值,如果它们不同并且当前值大于上次运行然后我们需要再次运行调查(返回
TRUE
),否则我们不会(返回FALSE
)。
如果上述理解不正确,请告诉我。
为了计算这个,我只需构建一个IF语句表达式来确定上次运行使用哪个触发器,当前值相同,并比较它们。< / p>
以下是两个公式:
=IF(A2>=250000;3;IF(A2>=150000;2;IF(A2>=50000;1;0)))
=IF(B2>=250000;3;IF(B2>=150000;2;IF(B2>=50000;1;0)))
然后我们需要把它们放在一起,所以这是最终的公式:
=AND(
IF(A2>=250000;3;IF(A2>=150000;2;IF(A2>=50000;1;0)))
<>IF(B2>=250000;3;IF(B2>=150000;2;IF(B2>=50000;1;0)))
;B2>A2)
(删除换行符并将它们放在一条长行上)