如何在 Excel 的 SUM+IF 語句中使用邏輯 AND 或 OR

摘要

在 Microsoft Excel 中,當您在 SUM+IF 語句內使用邏輯函式 AND 和/或 OR 來測試多個條件的範圍時,它可能不會如預期般運作。 巢狀 IF 語句提供這項功能;不過,本文討論使用下列公式的第二個簡單方法。

對於 AND 條件

=SUM(IF(Test1*Test2*...*Testn))

對於 OR 條件

=SUM(IF(Test1+Test2+...+Testn))

其他相關資訊

使用 SUM+IF 語句來計算範圍中通過指定測試的儲存格數目,或加總範圍中其他 (或相同) 範圍內的對應值符合指定準則的值。 其行為類似于 Microsoft Excel 中的 DSUM 函式。

範例

此範例會計算範圍 A1:A10 中介于 1 到 10 且包括 1 和 10 在內之間的值數目。

若要達成此目的,您可以使用下列巢狀 IF 語句:

=SUM(IF(A1:A10>=1,IF(A1:A10<=10,1,0)))

下列方法也可運作,而且如果您正在進行多個測試,則更容易讀取:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),1,0))

下列方法會計算介於兩個指定日期之間的日期數目:

=SUM(IF((A1:A10>=DATEVALUE("1/10/99"))*(A1:A10<=DATEVALUE("2/10/99")),1,0))

注意事項

  • 您必須同時按 CTRL+SHIFT+ENTER 鍵,將這些公式輸入為陣列公式。 在 Macintosh 上,改為按 COMMAND+RETURN。
  • 陣列無法參考整個欄。

使用此方法時,您需將一個邏輯測試的結果乘以另一個邏輯測試,以將 TRUE 和 FALSE 傳回 SUM 函數。 您可以將這些等同于:

TRUE*TRUE=1
TRUE*FALSE=0
FALSE*TRUE=0
FALSE*FALSE=0

上述方法會計算範圍 A1:A10 中的儲存格數目,這兩個測試都會評估為 TRUE。 若要加總對應儲存格中的值 (例如 B1:B10) ,請修改公式,如下所示:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),B1:B10,0))

同樣地,您可以在 SUM+IF 語句中實作 OR。 為此,請修改上述公式,方法是以加號 (+) 取代乘法符號 (*)。 這會提供下列一般公式:

=SUM(IF((Test1)+(Test2)+...+(Testn),1,0))

參考

如需有關如何依據條件計算值的詳細資訊,請按一下 [說明] 功能表上的 [Microsoft Word 說明],在 [Office 小幫手] 或 [解答精靈] 中輸入依據條件計算值,然後按一下 [搜尋] 以檢視主題。