繁体   English   中英

如何在具有多个 IF 条件的 Google 表格中使用 ArrayFormula?

[英]How to use ArrayFormula in Google Sheets, with multiple IF conditions?

所以我刚刚发现了 ArrayFormula 并试图转换我的电子表格以利用它,以提高效率。 它在我所有的专栏上都表现出色,除了一个给我带来麻烦的专栏。

目前,我有这个公式(并复制到每个单元格):

=IF(C2="Immediate",
  D2+1,
  IF(C2="3 Day",
    WORKDAY(D2,3,Holidays!$B$2:$B$11),
    IF(C2="5 Day",
      WORKDAY(D2,5,Holidays!$B$2:$B$11),
      IF(ISBLANK(C2),
        IFERROR(1/0)
      )
    )
  )
)

我知道这很旧,但也许可以试试这个公式:

={"Header_Cell_Name_Here";
  ArrayFormula(
    IFS(
      $C$2:$C="","",
      $C$2:$C="Immediate", $D$2:$D + 1,
      $C$2:$C="3 Day", WORKDAY($D$2:$D,3,Holidays!$B$2:$B$11),
      $C$2:$C="5 Day", WORKDAY($D$2:$D,5,Holidays!$B$2:$B$11)
    )
  )
}

IFS 是 IF 的绝佳替代品。 而不是像使用 IF 语句那样采用三个参数:

IF(logical_expression, value_if_true, value_if_false)

IFS 语句可以处理任意数量的条件:

IFS(condition1, value1, [condition2, ...], [value2, ...])

在工作表第 1 行的某处试试这个公式:

=ARRAYFORMULA(IF(A:A="",,IF(A:A=1,"Hello",IF(A:A=2,"Goodbye","Other Result"))))

你可以用那个公式

=ArrayFormula(IF(C2:C="",IFERROR(1/0),IF(C2:C="Immediate",D2:D+1,IF(C2:C="3 Day",WORKDAY(D2:D,3,Holidays!$B$2:$B$11),IF(C2:C="5 Day",WORKDAY(D2:D,5,Holidays!$B$2:$B$11),IF(ISBLANK(C2:C),IFERROR(1/0)))))))

这是一个例子

你的第一个公式,扩展到数组,对我来说效果很好

=ARRAYFORMULA(IF(C2:C5="Immediate",
                 D2:D5+1,
                 IF(C2:C5="3 Day",
                    WORKDAY(D2:D5,3,Sheet2!$B$2:$B$11),
                    IF(C2:C5="5 Day",
                       WORKDAY(D2:D5,5,Sheet2!$B$2:$B$11),
                       IF(ISBLANK(C2:C5),
                          IFERROR(1/0)
                       )
                    )
                 )
              )
 )

这是我通常使用的具有多条件的最佳数组公式<\/strong>

AND 运算符<\/strong>

=Arrayformula(if(isblank(A2:A),,if((condition1) * (condition2) * (condition3),statement, if((condition1) * (condition2) * (condition3), statement, ))))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM