题
我需要有关以下问题的公式的帮助。
我有一个列表,您可以在其中填写订购的商品数量,还有另一列,您可以在其中填写收到的商品数量。
让我们称呼他们吧 [ordered]
和 [receieved]
我也有一个状态栏,有 3 个选择。选择是:
- “等待收货”
- “部分交付”
- “完全的”
我想将默认值设为基于订购商品数量与收到商品数量相比的计算值。
if [ordered] = 100 and [receieved] = 0 then the status should be "Waiting for delivery"
if [ordered] = 100 and [receieved] < [ordered] but > 0 then the status should be "Partly delivered"
if[receieved] = [ordered] then the status should be "Complete"
我已经尝试过以下方法,但它似乎不起作用(是的,我对此很烂):
=if([receieved]="0"),"Waiting for delivery",if(AND([received]<[ordered],[received]>0),"Partly delivered",if([received]=[ordered]),"Complete"
解决方案
我的理解是,您有三列,一列用于订购数量,另一列用于交付数量,第三列用于状态。列表中的每一行代表一个订单,因此可能有 3 个已订购、2 个已交付且状态为部分交付。
在“状态”列中,不要使用计算的默认列,而是将列类型设置为“计算”,并使用以下公式:
=IF(AND([ordered]>0,[received]=0),"Waiting for delivery",
IF(AND([ordered]>0,[received]>0,[received]<[ordered]),"Partly delivered",
"Complete"))
(您需要删除回车符,它们只是为了使复制更容易)
每当您更新项目时,都会重新计算,而文本数据类型的计算默认值只会在创建时更新。