ArrayFormula Google表格的手动公式

学习

我一直将这些公式拖到Google工作表的末尾,这使工作表变得更重,并且在加载/执行操作时会干扰很多。

我正在尝试将这些公式转换为Array。

任何帮助将不胜感激。

工作表链接https://docs.google.com/spreadsheets/d/1pgVGJxkw39uelgPU9ceZLXflnP8KaFGou4rJfSsfVXc/edit#gid=0

=IF(AND(E3<>"",B3<>""),EDATE(E3,6),"")

=IF(F3="Confirmed","13",IF(F3="Probation","0",IF(F3="Terminate","",IF(F3="",""))))

=IF(F2="Confirmed",IFERROR(IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=1,12,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=2,11,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=3,10,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=4,9,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=5,8,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=6,7,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=7,6,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=8,5,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=9,4,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=10,3,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=11,2,IF(MONTH(DATEVALUE(TEXT(G2,"mmm")&" 1"))=12,1))))))))))))*13/12),IF(F2="Probation","0",""))

=IF(F2<>"",K2+IF(I2=0,H2-L2,I2-L2),"")
公斤13

以下四个公式应为您工作。

公式1

=ArrayFormula(IF((E3:E<>"")*(B3:B<>""),EDATE(E3:E,6),""))

公式#2

=ArrayFormula(IFS(F3:F="Confirmed","13",F3:F="Probation",0,F3:F="Terminate","",F3:F="",""))

公式#3

=ArrayFormula(IF(F3:F="Confirmed",
  IFERROR(IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=1,12,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=2,11,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=3,10,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=4,9,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=5,8,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=6,7,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=7,6,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=8,5,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=9,4,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=10,3,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=11,2,
          IF(MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))=12,1))))))))))))*13/12),
  IF(F3:F="Probation",0,"")))

公式#4

=ArrayFormula(IF(F3:F<>"",O3:O+IF(K3:K=0,I3:I-P3:P,K3:K-P3:P),""))

更新:尝试使用以下公式来计算分配的假期月份,代替上面的第三个公式:

=ArrayFormula(IF(LEN(G3:G),
                (13 - MONTH(DATEVALUE(TEXT(G3:G,"mmm")&" 1"))) * 13/12,
                ""))

UPDATE#2更正了上面的公式,以添加两个条件检查,而我将省略。

=ArrayFormula(IF(LEN(G4:G),
   IF(F4:F="Confirmed",
     (13 - MONTH(DATEVALUE(TEXT(G4:G,"mmm")&" 1"))) * 13/12,
     IF(F4:F="Probation",0,0)),""))

请注意,可以省去最后的IF测试,并以简单的“ 0”代替,但是您可能希望在那里将其用作将来的参考。在所有公式中,我还将“ 0”更改为仅数字0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章