KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

在 Excel 中使用「或」邏輯對多個條件執行 COUNTIFS

作者曉陽修改日期

一般情況下,您可以使用 COUNTIFS 函數根據一個或多個「且」邏輯條件來計算儲存格數量。但您是否曾需要從單一欄位或儲存格範圍中計算多個特定值的總數?這時就得運用多個條件並採用「或」邏輯進行統計。此時,您可以結合 SUM 與 COUNTIFS 函數,或直接使用 SUMPRODUCT 函數來達成目標。

doc-countifs-with-or-logic-1


在 Excel 中計算符合「或」條件的儲存格數量

例如,我有如下圖所示的資料範圍,現在想計算產品為「Pencil」或「Ruler」的數量。接下來,我將介紹兩種公式,協助您在 Excel 中輕鬆完成這項任務。

doc-countifs-with-or-logic-2

使用 SUM 與 COUNTIFS 函數計算符合「或」條件的儲存格數量

在 Excel 中,若要根據多個「或」條件進行計算,可搭配使用 SUM 與 COUNTIFS 函數及陣列常數,其通用語法如下:

=SUM(COUNTIF(range, {criterion 1, criterion 2, criterion 3, …}))
  • range:數據區域為您要計算儲存格的條件範圍;
  • criterion 1、criterion 2、criterion 3……:您用來計算儲存格的條件。

若要計算產品為「Pencil」或「Ruler」的數量,請將下列公式複製或輸入至空白儲存格,然後按下 Enter 鍵以取得結果:

=SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"}))

doc-countifs-with-or-logic-3


公式說明:

=SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"}))

  • {"Pencil","Ruler"}:首先,您需將所有條件包裝成陣列常數,格式如下:{“Pencil“,“Ruler“},各項目以逗號分隔。
  • COUNTIFS(B2:B13,{"Pencil","Ruler"}):此 COUNTIFS 函數會分別計算「Pencil」與「Ruler」的出現次數,結果為 {2,3}。
  • SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"}))=SUM({2,3}):最後,SUM 函數會將陣列中的所有項目加總,並傳回結果:5.

提示:您也可以使用儲存格參照作為條件,請套用下列陣列公式,然後同時按下 Ctrl + Shift + Enter 鍵以取得正確結果:

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

doc-countifs-with-or-logic-4


使用 SUMPRODUCT 函數計算符合「或」條件的儲存格數量

以下是另一個運用 SUMPRODUCT 函數建構的公式,同樣能用來計算符合「或」邏輯條件的儲存格數量。其通用語法如下:

=SUMPRODUCT(1*(range ={criterion 1, criterion 2, criterion 3, …}))
  • range:數據區域為您要計算儲存格的條件範圍;
  • criterion 1, criterion 2, criterion 3…:您要據以計算儲存格的條件。

請將下列公式複製或輸入至空白儲存格,並按下 Enter 鍵以取得結果:

=SUMPRODUCT(1*(B2:B13={"Pencil","Ruler"}))

doc-countifs-with-or-logic-5


公式說明:

=SUMPRODUCT(1*(B2:B13={"Pencil","Ruler"}))

  • B2:B13={"Pencil","Ruler"}:此運算式會將條件「Pencil」與「Ruler」逐一與 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={"Pencil","Ruler"}):乘法運算會將邏輯值 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={"Pencil","Ruler"}))= 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 中計算符合多組「或」條件的儲存格數量

有時,您可能需要計算符合兩組或多組「或」條件的儲存格數量。此時,可搭配使用 SUM 與 COUNTIFS 函數及陣列常數,或結合 SUMPRODUCT、ISNUMBER 與 MATCH 函數來達成。

使用 SUM 與 COUNTIFS 函數計算符合兩組「或」條件的儲存格數量

若只需處理兩組「或」條件,只要在 COUNTIFS 公式中加入另一個陣列常數即可。

例如,我有如下圖所示的數據區域,現在希望計算訂購「Pencil」或「Ruler」且金額為 200 的人數。

doc-countifs-with-or-logic-6

請將下列公式輸入或複製至儲存格,然後按下 Enter 鍵以取得結果,請參閱截圖:

=SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"},C2:C13,{"<100";">200"}))

:在公式中,第二個陣列常數應使用分號來建立垂直陣列。

doc-countifs-with-or-logic-7


使用 SUMPRODUCT 函數計算符合多組「或」條件的儲存格數量

上述公式僅適用於兩組「或」條件。若您需要處理更多條件,可運用結合 ISNUMBER 與 MATCH 函數的進階 SUMPRODUCT 公式。

以下列資料為例,若要計算訂購「Pencil」或「Ruler」、狀態為「Delivered」或「In transit」,且簽收人為「Bob」或「Eko」的訂單筆數,您應使用複雜公式。

doc-countifs-with-or-logic-8

請將下列公式複製或輸入至空白儲存格,然後按下 Enter 鍵以取得計算結果,請參閱截圖:

=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))*ISNUMBER(MATCH(C2:C13,{"Delivered","In transit"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))

doc-countifs-with-or-logic-9


公式說明:

=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))*ISNUMBER(MATCH(C2:C13,{"Delivered","In transit"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))

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

  • MATCH(B2:B13,{"Pencil","Ruler"},0):此 MATCH 函數會將 B2:B13 範圍中的每個儲存格逐一與陣列常數 {“Pencil“,“Ruler“} 比對。若找到相符項目,便傳回該值在陣列中的相對位置;若無相符結果,則顯示錯誤值 #N/A。因此,您將獲得以下陣列結果:{1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}。
  • ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},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」對應的不重複 Qty(數量)值?本文將為您介紹幾種實用公式,輕鬆達成此目標!
  • 計算符合多個「或」條件的列數
  • 若要計算不同欄位中符合多個「或」邏輯條件的列數,可使用 SUMPRODUCT 函數。例如,我有如下圖所示的產品報表,現在想統計產品為「T-shirt」或顏色為「Black」的列數,該如何在 Excel 中達成此任務?

最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。