Skip to main content

計算列中的唯一數值或日期

Author: Xiaoyang Last Modified: 2025-05-13

假設您有一個包含一些重複項的數字列表,現在,您想計算列表中唯一值的數量或只出現一次的值的數量,如下圖所示。在本文中,我們將討論一些有用的公式,以便在 Excel 中快速輕鬆地解決此任務。

doc-count-unique-values-1


在 Excel 2019、2016 和更早版本中計算列中的唯一數值或日期

如果您使用的是 Excel 2019、2016 和更早版本,您可以應用普通的 SUM、FREQUENCY、IF、COUNTIF、ISNUMBER 函數來獲取唯一值的數量或只出現一次的值的數量。

計算列中的唯一數值或日期

要從列表中計算唯一數字,SUM 和 FREQUENCY 函數可能會對您有所幫助,通用語法是:

=SUM(--(FREQUENCY(range,range)>0))
  • 範圍:您要從中計算唯一值的數據列。

請在空白單元格中輸入或複製以下公式以輸出結果,然後按 Enter 鍵以獲取結果:

=SUM(--(FREQUENCY(A2:A12,A2:A12)>0))

doc-count-unique-values-2


公式的解釋:

=SUM(--(FREQUENCY(A2:A12,A2:A12)>0))

  • FREQUENCY(A2:A12,A2:A12):FREQUENCY 函數返回列表 A2:A12 中每個數值的計數,並將獲得這樣的陣列:{1;2;0;2;0;1;1;3;0;0;1;0}。陣列中的數字表示這些值在列中出現的次數。而陣列中的數字 0 表示這些數字已經出現在數據範圍內。
  • --(FREQUENCY(A2:A12,A2:A12)>0=--({1;2;0;2;0;1;1;3;0;0;1;0})>0:陣列中的每個值都將與零進行比較:如果大於 0,則顯示 TRUE,否則顯示 FALSE。然後,雙負號將 TRUE 和 FALSE 轉換為 1 和 0,因此它將返回這樣的結果:{1;1;0;1;0;1;1;1;0;0;1;0}。
  • SUM(--(FREQUENCY(A2:A12,A2:A12)>0))=SUM({1;1;0;1;0;1;1;1;0;0;1;0}):最後,SUM 函數將陣列中的所有值相加,並得到結果:7。

計算列中只出現一次的唯一數值或日期

要從列表中計算只出現一次的唯一數值,您應該結合 SUM、IF、ISNUMBER 和 COUNTIF 函數來創建公式,通用語法是:

{=SUM(IF(ISNUMBER(range)*COUNTIF(range,range)=1,1,0))}
陣列公式,應同時按下 Ctrl + Shift + Enter 鍵。
  • 範圍:您要從中計算唯一值的數據列。

現在,請在空白單元格中輸入或複製以下公式,然後同時按下 Ctrl + Shift + Enter 鍵以獲取正確的結果:

=SUM(IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))

doc-count-unique-values-3


公式的解釋:

=SUM(IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))

  • ISNUMBER(A2:A12):這個 ISNUMBER 函數用於檢查列表 A2:A12 中的值是否為數字。如果是數字,則返回 TRUE,如果不是數字,則返回 FALSE。因此,您將獲得這樣的陣列:{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}。
  • COUNTIF(A2:A12,A2:A12):COUNTIF 函數計算每個值在特定範圍內出現的次數,它將返回這樣的結果:{1;2;2;2;2;1;1;3;3;3;1}。
  • ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)= {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}* {1;2;2;2;2;1;1;3;3;3;1}:這兩個表達式相乘得到這樣的結果:{1;2;2;2;2;1;1;3;3;3;1}。
  • IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0)=IF({1;2;2;2;2;1;1;3;3;3;1}=1,1,0):這裡 IF 函數檢查陣列中的每個值是否等於 1:如果是,則返回數字 1;如果不是,則顯示數字 0。結果如下:{1;0;0;0;0;1;1;0;0;0;1}。
  • SUM(IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))=SUM({1;0;0;0;0;1;1;0;0;0;1}):最後,SUM 函數將陣列中的值相加,並返回唯一值的總數:4。

在 Excel 365 中計算列中的唯一數值或日期

在 Excel 365 中,有一個新的簡單函數叫 UNIQUE。將此函數包含在 COUNT 函數中可以幫助您快速完成此任務。

計算列中的唯一數值或日期

在 Excel 365 中計算唯一數值或日期的通用語法是:

=COUNT(UNIQUE(range))
  • 範圍:您要從中計算唯一值的數據列。

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

=COUNT(UNIQUE(A2:A12))

doc-count-unique-values-4


公式的解釋:

=COUNT(UNIQUE(A2:A12))

  • UNIQUE(A2:A12):這個 UNIQUE 函數從列表中提取所有唯一值,您將獲得這樣的陣列列表:{258;560;774;801;985;990;1569}。
  • COUNT(UNIQUE(A2:A12))=COUNT({258;560;774;801;985;990;1569}):這個 COUNT 函數計算數值的數量並返回結果:7。

計算列中只出現一次的唯一數值或日期

這個 UNIQUE 函數還可以從列表中提取恰好出現一次的唯一值,通用語法是:

=COUNT(UNIQUE(range,0,1))
  • 範圍:您要從中計算唯一值的數據列。

在您希望返回結果的單元格中輸入或複製以下公式,然後按 Enter 鍵,請參見截圖:

=COUNT(UNIQUE(A2:A12,0,1))

doc-count-unique-values-5


公式的解釋:

=COUNT(UNIQUE(A2:A12,0,1))

  • UNIQUE(A2:A12,0,1):這個 UNIQUE 函數從列表中提取只出現一次的唯一值,您將獲得這樣的陣列列表:{258;801;985;1569}。
  • COUNT(UNIQUE(A2:A12,0,1))=COUNT({258;801;985;1569}):這個 COUNT 函數計算數值的數量並返回結果:4。

提示:上述所有公式也適用於計算列中的唯一日期。


相關函數介紹:

  • SUM:
  • Excel 的 SUM 函數返回提供的值的總和。
  • FREQUENCY:
  • FREQUENCY 函數計算值在值範圍內出現的頻率,然後返回一個垂直數組的數字。
  • ISNUMBER:
  • Excel 的 ISNUMBER 函數當單元格包含數字時返回 TRUE,否則返回 FALSE。
  • COUNTIF:
  • COUNTIF 函數是 Excel 中的一個統計函數,用於計算符合條件的單元格數量。
  • COUNT:
  • COUNT 函數用於計算包含數字的單元格數量,或計算參數列表中的數字數量。
  • UNIQUE:
  • UNIQUE 函數返回列表或範圍中的唯一值列表。

更多文章:

  • 根據條件計算唯一數值
  • 在 Excel 工作表中,您可能面臨這樣一個問題,即根據特定條件計算唯一數值的數量。例如,如何從下面的報告中計算產品“T-shirt”的唯一數量值?在本文中,我將展示一些公式來在 Excel 中實現此任務。
  • 計算等於多個值之一的單元格數量
  • 假設,我在 A 列中有一個產品列表,現在,我想從 C4:C6 範圍內列出的 Apple、Grape 和 Lemon 中獲取特定產品的總數量,如下面的截圖所示。通常,在 Excel 中,簡單的 COUNTIF 和 COUNTIFS 函數在此場景中不起作用。本文將談論如何通過結合 SUMPRODUCT 和 COUNTIF 函數快速輕鬆地解決此問題。
  • 計算包含特定字符數的單元格數量
  • 如果您想計算包含一定數量字符(例如 5 個字符)的單元格數量,如下圖所示。在 Excel 中,COUNTIF 函數可以幫您忙。在本文中,我將談論如何獲取包含精確 x 個字符的單元格數量或包含超過一定數量字符的單元格數量。

最佳的辦公生產力工具

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 一樣。