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

統計區域中唯一值的個數(在 Excel 範圍中)

作者Siluvia修改日期

本教學將說明如何在 Excel 中運用指定公式,精準計算清單中重複項目所包含的唯一值數量。

doc-count-unique-values-in-range-1


如何在 Excel 的單一欄位中統計某區域內唯一值的數量?

假設您有一張如下方截圖所示的產品表格,若要計算「產品」欄位中的唯一值數量,可使用下列任一公式。

doc-count-unique-values-in-range-2

通用公式

=SUMPRODUCT(--(FREQUENCY(MATCH(range,range,0),ROW(range)-ROW(range.firstcell)+1)>0))

=SUMPRODUCT(1/COUNTIF(range,range))

引數

Range:您要計算唯一值的儲存格範圍;
Range.firstcell:範圍中的第一個儲存格。

如何運用這些公式?

1. 選取一個空白儲存格來輸出結果。

2. 在選取的儲存格中輸入下列任一公式,然後按下 Enter 鍵。

=SUMPRODUCT(--(FREQUENCY(MATCH(D3:D16,D3:D16,0),ROW(D3:D16)-ROW(D3)+1)>0))

=SUMPRODUCT(1/COUNTIF(D3:D16,D3:D16))

doc-count-unique-values-in-range-3

注意事項:

1) 在這些公式中,D3:D16 是您要計算唯一值的儲存格範圍,D3 則是該範圍的第一個儲存格。您可以依需求自行調整。
2) 若空儲存格存在於限定區域中,第一個公式將傳回 #N/A 錯誤,第二個公式則會傳回 #DIV/0 錯誤。

公式說明

=SUMPRODUCT(--(FREQUENCY(MATCH(D3:D16,D3:D16,0),ROW(D3:D16)-ROW(D3)+1)>0))

  • MATCH(D3:D16,D3:D16,0):MATCH 函數會取得範圍 D3:D16 中每個項目的位置;若這些值在資料區域中重複出現,將傳回其首次出現的位置,進而產生如下陣列:{1;2;3;2;1;1;3;2;1;1;1;2;3;2}。
  • ROW(D3:D16)-ROW(D3)+1 此處 ROW 函數會傳回參照 D3:D16 與 D3 的列號,結果為 {3;4;5;6;7;8;9;10;11;12;13;14;15;16}-{3}+1.
  • 陣列中的每個數字先減去 3,再加 1,最終結果為 {1;2;3;4;5;6;7;8;9;10;11;12;13;14}。
  • FREQUENCY({1;2;3;2;1;1;3;2;1;1;1;2;3;2},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}):FREQUENCY 函數會計算資料陣列中各數值出現的頻率,並傳回以下結果陣列:{6;5;3;0;0;0;0;0;0;0;0;0;0;0}。
  • SUMPRODUCT(--{6;5;3;0;0;0;0;0;0;0;0;0;0;0}>0)
{6;5;3;0;0;0;0;0;0;0;0;0;0;0}>0:陣列中的每個數字與 0 比較,若大於 0 則傳回 TRUE,否則傳回 FALSE。您將得到如下 TRUE/FALSE 陣列:{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE};
--{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}:這兩個負號會將「TRUE」轉換為 1、「FALSE」轉換為 0. 此時您將得到新陣列:{1;1;1;0;0;0;0;0;0;0;0;0;0;0}。
SUMPRODUCT({1;1;1;0;0;0;0;0;0;0;0;0;0;0}):SUMPRODUCT 函數會對陣列中所有數字求和,並傳回最終結果 3.

=SUMPRODUCT(1/COUNTIF(D3:D16,D3:D16))

  • COUNTIF(D3:D16,D3:D16):COUNTIF 函數會統計範圍 D3:D16 中每個值出現的次數,並以所有相同值作為條件,傳回以下陣列:{6;5;3;5;6;6;3;5;6;6;6;5;3;5},其中「筆電」出現 6 次、「投影機」出現 5 次、「顯示器」出現 3 次。
  • 1/{6;5;3;5;6;6;3;5;6;6;6;5;3;5} 陣列中的每個數字除以 1,並傳回新陣列:{0.166666666666667;0.2;0.333333333333333;0.2;0.166666666666667;0.166666666666667;0.2;
    0.333333333333333;0.166666666666667;0.166666666666667;0.166666666666667;0.333333333333333;0.2;
    0.333333333333333;}.
  • SUMPRODUCT({0.166666666666667;0.2;0.333333333333333;0.2;0.166666666666667;0.166666666666667;)
    0.2;0.333333333333333;0.166666666666667;0.166666666666667;0.166666666666667;0.333333333333333;0.2;
    0.333333333333333;})
    :接著 SUMPRODUCT 函數會對陣列中所有數字求和,並傳回最終結果 3.

相關函數

Excel SUMPRODUCT 函數
Excel SUMPRODUCT 函數可將兩個或多個欄位或陣列對應元素相乘,並自動計算所有乘積的總和,輕鬆提升運算效率!

Excel FREQUENCY 函數
Excel FREQUENCY 函數能快速計算一組數值在指定範圍內的出現頻率,並傳回垂直陣列結果!

Excel MATCH 函數
Excel MATCH 函數會在指定的儲存格範圍中搜尋特定值,並傳回該值的相對位置。

Excel ROW 函數
Excel ROW 函數可傳回指定參照所在的工作表列號。

Excel COUNTIF 函數
Excel COUNTIF 函數可輕鬆計算符合特定條件的儲存格數量,提升您的資料分析效率!


相關公式

計算篩選清單中的可見列數量
本教學將教您如何在 Excel 中運用 SUBTOTAL 函數,輕鬆計算篩選清單中的可見列數量!

統計區域中唯一值的個數(附條件)
本逐步指南將協助您根據另一欄位中的指定條件,精準計算唯一值的數量!

依條件計算可見列數量
本教學提供詳細步驟,協助您輕鬆掌握如何依條件計算可見列的數量!

在非連續範圍中使用 COUNTIF
本逐步指南將示範如何在 Excel 的非連續範圍中運用 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 般的高效能分頁體驗。