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

在 Excel 中根據條件計算唯一數值數量

作者Xiaoyang修改日期

在 Excel 工作表中,您可能需要根據特定條件計算唯一數值的個數。例如,如何從下方截圖所示的報表中,計算產品「T-shirt」對應的唯一 Qty 值數量?本文將提供實用公式,協助您輕鬆達成此目標。

doc-count-unique-values-with-criteria-1


在 Excel 2019、2016 及更早版本中,根據條件計算唯一數值數量

在 Excel 2019 及更早版本中,您可以結合 SUM、FREQUENCY 與 IF 函數建立公式,以根據條件統計區域中唯一值的個數,其通用語法如下:

{=SUM(--(FREQUENCY(IF(criteria_range=criteria,range),range)>0))}
Array formula, should press Ctrl + Shift + Enter keys together.
  • criteria_range:用來比對您指定條件的儲存格範圍;
  • criteria:您希望據以統計區域中唯一值的個數的條件;
  • range:包含待計數唯一值的儲存格範圍。

請將下列公式套用至空白儲存格,並按下 Ctrl + Shift + Enter 鍵以取得正確結果,請參閱截圖:

=SUM(--(FREQUENCY(IF(A2:A12=E2,C2:C12),C2:C12)>0))

doc-count-unique-values-with-criteria-2


公式說明:

=SUM(--(FREQUENCY(IF(A2:A12=E2,C2:C12),C2:C12)>0))

  • IF(A2:A12=E2,C2:C12):此 IF 函數會在 A 欄產品為「T-shirt」時傳回 C 欄對應的值,結果為以下陣列:{FALSE;300;500;FALSE;400;FALSE;300;FALSE;FALSE;FALSE;350}。
  • FREQUENCY(IF(A2:A12=E2,C2:C12),C2:C12)= FREQUENCY({FALSE;300;500;FALSE;400;FALSE;300;FALSE;FALSE;FALSE;350},{200;300;500;350;400;450;300;550;200;260;350}):FREQUENCY 函數用於計算陣列中各數值的出現次數,並傳回以下結果:{0;2;1;1;1;0;0;0;0;0;0;0}。
  • --(FREQUENCY(IF(A2:A12=E2,C2:C12),C2:C12)>0)=--({0;2;1;1;1;0;0;0;0;0;0;0}>0):測試陣列中每個值是否大於 0,取得以下結果:{FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}。接著,雙負號會將 TRUE 與 FALSE 轉換為 1 與 0,傳回以下陣列:{0;1;1;1;1;0;0;0;0;0;0;0}。
  • SUM(--(FREQUENCY(IF(A2:A12=E2,C2:C12),C2:C12)>0))=SUM({0;1;1;1;1;0;0;0;0;0;0;0}):最後,使用 SUM 函數加總這些數值,即可得出總數:4.

提示:

若您希望根據多個條件計算唯一值數量,只需在公式中以 * 字元加入其他條件即可:

=SUM(--(FREQUENCY(IF((criteria,_range 1=criteria 1)* (criteria,_range 2=criteria 2)*…,range),range)>0))

在 Excel 365 中,根據條件計算唯一數值數量

在 Excel 365 中,ROWS、UNIQUE 與 FILTER 函數的組合可協助您根據條件計算唯一數值數量,其通用語法如下:

=ROWS(UNIQUE(FILTER(range,criteria_range=criteria)))
  • range:包含待計數唯一值的儲存格範圍。
  • criteria_range:用來比對您指定條件的儲存格範圍;
  • criteria:您希望據以統計區域中唯一值的個數的條件;

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

=ROWS(UNIQUE(FILTER(C2:C12,A2:A12=E2)))

doc-count-unique-values-with-criteria-3


公式說明:

=ROWS(UNIQUE(FILTER(C2:C12,A2:A12=E2)))

  • A2:A12=E2:此運算式會檢查儲存格 E2 的值是否存在於 A2:A12 範圍內,並傳回以下結果:{FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}。
  • FILTER(C2:C12,A2:A12=E2):FREQUENCY 函數用於計算陣列清單中各數值的出現次數,並傳回以下結果:{0;2;1;1;1;0;0;0;0;0;0;0}。
  • UNIQUE(FILTER(C2:C12,A2:A12=E2))=UNIQUE({300;500;400;300;350}):此處 UNIQUE 函數用於從陣列清單中提取唯一值,取得結果:{300;500;400;350}。
  • ROWS(UNIQUE(FILTER(C2:C12,A2:A12=E2)))=ROWS({300;500;400;350}):ROWS 函數會根據儲存格範圍或陣列傳回列數,因此結果為 4.

提示:

1. 若相符值在資料區域中不存在,您將收到錯誤值。若要將該錯誤值替換為 0,請使用下列公式:

=IFERROR(ROWS(UNIQUE(FILTER(C2:C12,A2:A12=E2))), 0)

doc-count-unique-values-with-criteria-4

2. 若要根據多個條件計算唯一值的數量,只需在公式中以 * 字元加入其他條件,如下所示:

=ROWS(UNIQUE(FILTER(range,(criteria_range 1=criteria 1)* (criteria_range 2=criteria 2)*…)))

使用的相關函數:

  • SUM:
  • Excel 的 SUM 函數可快速計算並傳回您所提供之數值的總和。
  • FREQUENCY:
  • FREQUENCY 函數用於計算數值在特定範圍內出現的頻率,並傳回一個垂直陣列。
  • ROWS:
  • ROWS 函數會傳回指定參照或陣列中的列數。
  • UNIQUE:
  • UNIQUE 函數會傳回清單或範圍中的所有唯一值。
  • FILTER:
  • FILTER 函數能協助您依自訂條件,輕鬆篩選資料範圍。

更多文章:

  • 計算欄位中唯一數值或日期的數量
  • 假設您有一份包含重複項目的數字清單,現在希望計算其中唯一值(即僅出現一次的數值)的數量,如下方截圖所示。本文將介紹幾個實用公式,協助您在 Excel 中快速輕鬆完成這項任務。
  • 計算兩欄之間所有相符項目/重複項目的數量
  • 對許多人來說,比較兩欄資料並計算其中所有相符或重複項目的數量是常見的任務。例如,您有兩欄姓名,部分姓名同時出現在第一欄與第二欄中,而您希望計算這兩欄之間所有相符的姓名總數(相符項目可位於任一欄的任何位置),如下方截圖所示。本教學將介紹幾種實用公式,協助您在 Excel 中輕鬆達成此目標。
  • 計算等於多個指定值之一的儲存格數量
  • 假設 A 欄包含一份產品清單,而您希望統計其中特定產品「Apple」、「Grape」與「Lemon」(列於 C4:C6 範圍)的總數量,如下方截圖所示。一般來說,Excel 中的 COUNTIF 與 COUNTIFS 函數難以直接處理此類情境。本文將示範如何巧妙結合 SUMPRODUCT 與 COUNTIF 函數,快速又輕鬆地達成目標。

最佳 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 般的高效能分頁體驗。