如何使用括号或根据陈述的逻辑完成复杂的单元规则

时间:2017-04-22 18:46:46

标签: excel-formula google-sheets sum cell spreadsheet

请用这些括号帮我。建立: enter image description here

逻辑:

  • 如果有人工作6天,他需要休息2天,否则细胞O3 = 1
  • 如果未违反规则,则单元格O3为空
  • 天数达到31
  • 这6天需要连续两天,然后连续两天
  • 点是检查所有26个可能的“块”单元格

到目前为止,我得到了这个:

=IF( OR( IF( AND( SUM(B3:G3)=6; SUM(H3:I3)=0); SUM(C3:H3)=6; SUM(I3:J3)=0) ); 1; ); 0; 1;)

思想?

1 个答案:

答案 0 :(得分:3)

这个答案需要对您的数据稍作修改,但似乎有效。它需要用零替换空白单元格(非工作日)。联接创建一个字符串(' 1111100111111011111101111110100')。然后在字符串中搜索' 11111101'的出现次数。它计算那些事件。如果count为零,则为空白' Violation'。

=if((LEN(join("",B3:AF3))-LEN(SUBSTITUTE(join("",B3:AF3),"11111101",)))/LEN("11111101")=0,"","Violation")

复制公式。

@迈克尔有一个好点。我在上述公式中添加了一个OR来处理这两种情况。上面的一个和连续7个或更多的1:

=if(or((LEN(join("",B3:AF3))-LEN(SUBSTITUTE(join("",B3:AF3),"1111111",)))/LEN("1111111")>=1,LEN(join("",B3:AF3))-LEN(SUBSTITUTE(join("",B3:AF3),"11111101",)))/LEN("11111101")=0,"","Violation")