Skip to main content

在 Excel 中使用 OR 邏輯進行多條件計數

Author: Xiaoyang Last Modified: 2025-05-12

通常,您可以使用 COUNTIFS 函數根據一個或多個條件(AND 邏輯)來計算 Excel 中的單元格數量。您是否曾經遇到過這樣的情況:需要從單列或一系列單元格中計算多個值?這意味著要使用多條件和 OR 邏輯進行計數。在這種情況下,您可以結合使用 SUM 和 COUNTIFS 函數,或者使用 SUMPRODUCT 函數。

doc-countifs-with-or-logic-1


在 Excel 中使用 OR 條件計數單元格

例如,我有一個如下截圖所示的數據範圍,現在,我想計算產品為“鉛筆”或“尺子”的數量。在此,我將討論兩種解決此問題的公式。

doc-countifs-with-or-logic-2

使用 SUM 和 COUNTIFS 函數按 OR 條件計數單元格

在 Excel 中,要使用多個 OR 條件進行計數,可以將 SUM 和 COUNTIFS 函數與數組常量一起使用,通用語法為:

=SUM(COUNTIF(範圍, {條件1, 條件2, 條件3, …}))
  • 範圍:包含條件的數據範圍,您要從中計數單元格;
  • 條件1, 條件2, 條件3…:您希望基於這些條件來計數單元格。

要計算產品為“鉛筆”或“尺子”的數量,請將以下公式複製或輸入到空白單元格中,然後按 Enter 鍵以獲取結果:

=SUM(COUNTIFS(B2:B13,{"鉛筆","尺子"}))

doc-countifs-with-or-logic-3


公式解釋:

=SUM(COUNTIFS(B2:B13,{"鉛筆","尺子"}))

  • {"鉛筆","尺子"}:首先,您應該將所有條件打包成一個數組常量,如:{"鉛筆","尺子"},並用逗號分隔各項。
  • COUNTIFS(B2:B13,{"鉛筆","尺子"}):此 COUNTIFS 函數將分別計算“鉛筆”和“尺子”的數量,結果將是這樣的:{2,3}。
  • SUM(COUNTIFS(B2:B13,{"鉛筆","尺子"}))=SUM({2,3}):最後,這個 SUM 函數將數組中的所有項目相加並返回結果:5。

提示:您也可以使用單元格引用作為條件,請應用以下數組公式,然後同時按下 Ctrl + Shift + Enter 鍵以獲得正確的結果:

=SUM(COUNTIF(B2:B13,D2:D3))

doc-countifs-with-or-logic-4


使用 SUMPRODUCT 函數按 OR 條件計數單元格

這裡有另一個由 SUMPRODUCT 函數創建的公式,它也可以幫助您使用 OR 邏輯來計數單元格。通用語法為:

=SUMPRODUCT(1*(範圍 ={條件1, 條件2, 條件3, …}))
  • 範圍:包含條件的數據範圍,您要從中計數單元格;
  • 條件1, 條件2, 條件3…:您希望基於這些條件來計數單元格。

請將以下公式複製或輸入到空白單元格中,然後按 Enter 鍵以返回結果:

=SUMPRODUCT(1*(B2:B13={"鉛筆","尺子"}))

doc-countifs-with-or-logic-5


公式解釋:

=SUMPRODUCT(1*(B2:B13={"鉛筆","尺子"}))

  • B2:B13={"鉛筆","尺子"}:此表達式將每個條件“鉛筆”,“尺子”與範圍單元格 B2:B13 進行比較。如果條件滿足,則返回 TRUE,否則返回 FALSE,結果將是這樣的:{TRUE,FALSE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;TRUE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE}。
  • 1*(B2:B13={"鉛筆","尺子"}):乘法將邏輯值 – TRUE 和 FALSE 轉換為 1 和 0,因此結果將是這樣的:{1,0;0,0;0,0;0,1;0,0;1,0;0,0;0,1;0,0;0,0;0,1;0,0}。
  • SUMPRODUCT(1*(B2:B13={"鉛筆","尺子"}))= SUMPRODUCT({1,0;0,0;0,0;0,1;0,0;1,0;0,0;0,1;0,0;0,0;0,1;0,0}):最後,SUMPRODUCT 函數將數組中的所有數字相加以獲得結果:5。

在 Excel 中使用多組 OR 條件計數單元格

有時,您可能需要使用兩組或多組 OR 條件來計數單元格,在這種情況下,您可以使用帶有數組常量的 SUM 和 COUNTIFS 或者使用 SUMPRODUCT 和 ISNUMBER MATCH 函數。

使用 SUM 和 COUNTIFS 函數按兩組 OR 條件計數單元格

要處理只有兩組 OR 條件的情況,只需在 COUNTIFS 公式中添加另一個數組常量即可。

例如,我有如下截圖所示的數據範圍,現在,我想計算訂購了“鉛筆”或“尺子”且金額小於 100 或大於 200 的人數。

doc-countifs-with-or-logic-6

請將以下公式輸入或複製到單元格中,然後按 Enter 鍵以獲取結果,見截圖:

=SUM(COUNTIFS(B2:B13,{"鉛筆","尺子"},C2:C13,{"<100";">200"}))

注意:在公式中,您應該對第二個數組常量使用分號,這會創建一個垂直數組。

doc-countifs-with-or-logic-7


使用 SUMPRODUCT 函數按多組 OR 條件計數單元格

上述公式僅適用於兩組 OR 條件,如果您需要計數更多條件,可以使用複雜的 SUMPRODUCT 公式與 ISNUMBER MATCH 函數來幫助您。

以下面的數據為例,要計算訂購了“鉛筆”或“尺子”且狀態為“已交付”或“運送中”並且由“Bob”或“Eko”簽收的人數,您應該應用一個複雜的公式。

doc-countifs-with-or-logic-8

請將以下公式複製或輸入到空白單元格中,然後按 Enter 鍵以獲取計算結果,見截圖:

=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"鉛筆","尺子"},0))*ISNUMBER(MATCH(C2:C13,{"已交付","運送中"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))

doc-countifs-with-or-logic-9


公式解釋:

=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"鉛筆","尺子"},0))*ISNUMBER(MATCH(C2:C13,{"已交付","運送中"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))

ISNUMBER(MATCH(B2:B13,{"鉛筆","尺子"},0)):

  • MATCH(B2:B13,{"鉛筆","尺子"},0):此 MATCH 函數用於將範圍 B2:B13 中的每個單元格與相應的數組常量進行比較。如果找到匹配項,則返回該值在數組中的相對位置,否則顯示錯誤值。因此,您將得到這樣的數組列表:{1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}。
  • ISNUMBER(MATCH(B2:B13,{"鉛筆","尺子"},0))= ISNUMBER({1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}):ISNUMBER 函數將數字轉換為 TRUE,錯誤值轉換為 FALSE,結果如下:{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE}。

上述邏輯同樣適用於第二和第三個 ISNUMBER 表達式。

SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"鉛筆","尺子"},0))*ISNUMBER(MATCH(C2:C13,{"已交付","運送中"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0))):

  • 然後,這三個數組在 SUMPRODUCT 中相乘,自動將 TRUE 和 FALSE 值轉換為 1 和 0,作為數學運算的一部分,像這樣:SUMPRODUCT({1;0;0;1;0;1;0;1;1;0;1;0}*{1;1;0;0;1;1;0;1;1;0;1;1} *{1;0;0;0;0;0;0;1;0;0;1;0})=SUMPRODUCT({1;0;0;0;0;0;0;1;0;0;1;0})。
  • 最後,SUMPRODUCT 函數將數組中的所有數字相加以獲得結果:3。

相關函數:

  • SUM:
  • Excel SUM 函數返回提供的值的總和。
  • COUNTIF:
  • COUNTIF 函數是 Excel 中的一個統計函數,用於計算符合某一條件的單元格數量。
  • SUMPRODUCT:
  • SUMPRODUCT 函數可用於將兩列或多列或數組相乘,然後獲取乘積的總和。
  • ISNUMBER:
  • Excel ISNUMBER 函數當單元格包含數字時返回 TRUE,否則返回 FALSE。
  • MATCH:
  • Microsoft Excel MATCH 函數在一系列單元格中搜索特定值,並返回該值的相對位置。

更多文章:

  • 根據條件計數唯一數值
  • 在 Excel 工作表中,您可能會遇到一個問題,即根據特定條件計數唯一數值的數量。例如,如何從以下截圖所示的報告中計數產品為“T-shirt”的唯一數量值?在本文中,我將展示一些在 Excel 中實現此任務的公式。
  • 按多個 OR 條件計數行數
  • 要在不同列中按多個條件計數行數,使用 OR 邏輯,SUMPRODUCT 函數可以幫助您。例如,我有一個如下截圖所示的產品報告,現在,我想計數產品為“T-shirt”或顏色為“黑色”的行數。如何在 Excel 中處理此任務?

最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。