复杂的“IF”,“OR”,“AND”功能

时间:2015-06-30 08:16:57

标签: date if-statement google-sheets logical-operators

这是我到目前为止所做的:(见附件截图)

当在“拉登”下添加某些内容时,它会获得某种状态。如果这个状态是“Warte auf GO”或“Warte auf Daten”并且日期字段D2中的日期超过6天,我想要“Laden”下的单元格颜色,现在其中有“Baretta”变黄了。 为此,我添加了简单的功能:

=OR(AND(L4="warte auf GO"; 6<DAYS360(D4; today())); AND(L4="warte auf DATEN"; 6<DAYS360(D4; today())))

并使用条件格式。因此,如果返回true,则将颜色A2显示为黄色。 这很有用。

但现在问题是:其次如果场变黄,我还有三个“提醒” - 细胞:

(1)我被提醒用一个黄色字段A2,并在字段N2中提醒我对提醒的日期。如果6天结束,A2再次变黄 (2)所以我第二次被提醒用一个黄色字段A2,并在O2字段中提醒我对提醒的日期。如果6天结束,A2再次变黄 (3)再次像(2)。

所以基本上我把这张表用作“提醒” - 具有不同阶段的系统。 我试图用下面的公式解决它。它确实返回了一些“虚假”和“真实”,但不是一个顺序,我完全理解。 我想这是一个合乎逻辑的问题,但我并没有真正看到它。

以下是我使用的公式:

=IF(AND(OR(L4="warte auf GO"; L4="warte auf DATEN"); 6<DAYS360(D4; today());(OR(N4=""; AND(6<DAYS360(N4; today()); O4=""); AND(6<DAYS360(O4; today()); P4=""); AND(6<DAYS360(P4; today()))))); true; false)

1 个答案:

答案 0 :(得分:1)

我非常仔细地阅读了你的问题并试图找到答案。似乎以下公式可以满足您的需求:

=if(or(L4="warte auf GO",L4="warte auf DATEN"),if(today()-D4>6,if(today()-N4>6,if(today()-O4>6,if(today()-P4>6,true)))))

这很简单:
如果or(L4="warte auf GO",L4="warte auf DATEN"),请继续使用公式。
如果today()-D4>6,请继续 如果today()-N4>6,请继续 如果today()-O4>6,请继续 如果today()-P4>6,则会获得TRUE,因为这是最后一步。

如果上述任何步骤未评估为TRUE,则无法进一步提升 - 您将获得所有这些if's,最终结果将显示为FALSE

补充说明。
我不建议您在日常常规计算中使用days360()。它仅适用于财务计算。在某些情况下,该公式会产生不正确的结果。例如,以下所有公式都返回 30 的相同结果:

=days360(date(2015,7,31),date(2015,8,30))
=days360(date(2015,7,31),date(2015,8,31))
=days360(date(2015,7,30),date(2015,8,31))

这导致 0

=days360(date(2015,7,30),date(2015,7,31))