共用方式為


如何在 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 鍵。
  • 陣列無法參考整個欄。

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

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

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

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

同樣地,您可以在 SUM+IF 語句中實作 OR。 若要這樣做,請以加號 (+) 取代乘法符號 • 來修改上面顯示的公式。 它會提供下列泛型公式:

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

參考資料

如需如何根據條件計算值的詳細資訊,請在 [說明] 功能表上選取 [Microsoft Excel 說明],輸入如何根據 Office 小幫手或答案精靈中的條件計算值,然後選取 [搜尋]。