我有一个计算列,下面的代码如下。 “状态”列的状态均为“未启动”,“正在进行”,“已提交”和“已发送调查”。
我试图这样做,如果状态不是“已提交”或“已发送调查”,则将其设置为“未完成”,否则它们都处于“已发送调查”或“已提交”状态它将返回“已完成”。
我的问题是我不能正确地使语法正常工作;我试过OR(),但我可能没做对吗?任何帮助将不胜感激。
当前计算列
=IF(NOT([Day 1 Status]="Survey Sent"),"Not Completed",
IF(NOT([Week 1 Status]="Survey Sent"),"Not Completed",
IF(NOT([30 Day Status]="Survey Sent"),"Not Completed",
IF(NOT([90 Day Status]="Survey Sent"),"Not Completed",
IF(NOT([6 Month Status]="Survey Sent"),"Not Completed",
IF(NOT([Year 1 Status]="Survey Sent"),"Not Completed","Completed"))))))
我正在寻找逻辑
If Day 1 Status is not "Survey Sent" or not "Submitted", then "Not Completed"
If Week 1 Status is not "Survey Sent" or not "Submitted", then "Not Completed"
If 30 Day Status is not "Survey Sent" or not "Submitted", then "Not Completed"
If 90 Day Status is not "Survey Sent" or not "Submitted", then "Not Completed"
If 6 Month Status is not "Survey Sent" or not "Submitted", then "Not Completed"
If Year 1 Status is not "Survey Sent" or not "Submitted", then "Not Completed"
Else then "Completed"
答案 0 :(得分:0)
这可能会迟到。但我想我得到了你想要的东西。我认为你解释的并不完全是你所需要的。
如果状态不是“已提交”或“已发送测量”,则将其设置为“未完成”
此条件始终为 TRUE !因为状态不能同时为“已提交” AND “已发送调查”。因此,由于 OR ,任何一个表达式都变为true,整个表达式变为true。相反,我想你的意思是:
如果状态为不“提交” AND NOT “Survey Sent”,则设置为“未完成”。
您问题中另一个模棱两可的点是您在不同状态条件之间需要的逻辑运算符。问自己这个问题:“您是否需要所有状态字段既不调查已发送也已提交以将值设置为未完成?或只是其中一个 发送或提交调查是否足以使计算字段不完整?“如果其中一个足够,则在状态条件之间需要 OR 运算符,否则您将需要 AND 。
同样,根据逻辑,我猜你需要其中任何一个不成为Survey Sent或Submitted,因为整体状态为“Not Completed”,在这种情况下你需要 OR 状态条件之间。要在这样复杂的计算列中构造查询,最好的方法是使用Microsoft Excel,因为计算列的公式与Microsoft Excel的公式非常相似。我使用Excel,最后的查询是:
=IF(
OR(
AND([Day 1 Status]<>"Survey Sent",[Day 1 Status]<>"Submitted"),
AND([Week 1 Status]<>"Survey Sent",[Week 1 Status]<>"Submitted"),
AND([30 Day Status]<>"Survey Sent",[30 Day Status]<>"Submitted"),
AND([90 Day Status]<>"Survey Sent",[90 Day Status]<>"Submitted"),
AND([6 Month Status]<>"Survey Sent",[6 Month Status]<>"Submitted"),
AND([Year 1 Status]<>"Survey Sent",[Year 1 Status]<>"Submitted")
),
"Not Completed","Completed")