簡體   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