我很難理解我在谷歌表中的邏輯出了什么問題。
想象一下,如果我有兩列帶日期的(列 A 和 G)。我有一個空列來執行日期差異(A 和 G)的計算,并使用陣列公式包括開始/結束日期。
我寫了以下內容:
=ARRAYFORMULA(IF(AND(NOT(ISBLANK(A2:A)), NOT(ISBLANK(G2:G))),DAYS(A2:A,G2:G) 1))
但它在第一行向我回傳 FALSE,即使單元格 A 和 G 都有日期,并且陣列公式沒有填寫后續行。
如果我使用 OR 運算子更改為以下內容:
=ARRAYFORMULA(IF(OR(NOT(ISBLANK(A2:A)), NOT(ISBLANK(G2:G))),DAYS(A2:A,G2:G) 1))
它確實有效,但不是我希望它表現的。如果任一列被填充,則生成 -44468 或 44468;如果兩列都沒有填充,則生成 1。
我如何修復上面的代碼,以便如果單元格 A 和 G 都不為空,則只執行日期差異的計算,否則回傳為 NULL 或空白?
我希望使用 arrayformula 這樣我以后就不必將公式復制到每一行中。
uj5u.com熱心網友回復:
不要將 AND/OR 與 ARRAYFORMULA 一起使用
=ARRAYFORMULA(IF(ISBLANK(A2:A) ISBLANK(G2:G) > 0,,DAYS(A2:A,G2:G) 1))
uj5u.com熱心網友回復:
AND&OR下不支持操作ARRAYFORMULA
而不是AND使用*
=ARRAYFORMULA(IF((NOT(ISBLANK(A2:A))*(NOT(ISBLANK(G2:G)), DAYS(A2:A, G2:G) 1), )
而不是OR使用
=ARRAYFORMULA(IF((NOT(ISBLANK(A2:A)) (NOT(ISBLANK(G2:G)), DAYS(A2:A, G2:G) 1), )
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/368743.html
