核心要點
- Excel中計算唯一值需要複雜的巢狀公式,難以記憶且容易出錯
- 樞紐分析表和VBA等傳統方法學習曲線陡峭,多數商務用戶無暇掌握
- Excelmatic的AI透過簡單語言指令即可立即計算唯一值,消除公式複雜性與技術障礙
- 結合Excel知識與Excelmatic能為精準數據分析和商業洞察提供最有效率的方法
若您需要處理數據,計算唯一值是確保數據品質和獲取更佳洞察的必備技能。本指南將展示如何使用傳統公式在Excel中計算唯一值,同時涵蓋特殊情況,例如處理區分大小寫或基於一或多個條件的計數。
但若能完全跳過複雜公式呢?我們也將探討Excelmatic採用現代AI技術的方法,透過簡單語言指令即可獲得相同結果。
首先,讓我們釐清一個常見混淆點:「唯一值」與「相異值」的區別。理解這一點對獲取準確計數至關重要。
關於Excel中唯一值與相異值的說明
有時「唯一值」和「相異值」會被混用,但兩者並不相同。以下快速比較幫助您理解差異。
相異值是數據集中所有不同的值,並移除重複項。例如在清單A, A, B, C, C, D中,相異值為A, B, C, D。
唯一值則是數據集中僅出現一次的值。沿用相同範例,唯一值為B和D(因為A和C出現超過一次)。
本文前半部分將聚焦於計算唯一值的各種方法。但若您誤入此頁而實際想計算相異值,後續章節也將提供相關方法供您參考。
Excel計算唯一值的方法
讓我們先了解傳統公式方法,再看Excelmatic如何簡化流程。
方法1:使用UNIQUE()和COUNTA()函數
最簡易的公式計算方式是結合UNIQUE()和COUNTA()函數。UNIQUE()函數可設定為僅提取出現一次的數值,再由COUNTA()進行計數。
=COUNTA(UNIQUE(range, false, true))
關鍵在於UNIQUE函數的第三參數exactly_once,我們將其設為true。
例如對A2:A8數據集套用以下公式,即可獲得唯一值計數。
=COUNTA(UNIQUE(A2:A8, false, true))
使用UNIQUE()和COUNTA()函數計算唯一值。圖片由作者提供。
注意: 若使用=COUNTA(UNIQUE(A2:A8)),您將得到相異計數而非唯一計數。第三參數對找出僅出現一次的值至關重要。
方法2:使用SUM()、IF()和COUNTIF()
若您使用舊版Excel(不具備UNIQUE函數)或偏好其他方法,可結合SUM()、IF()和COUNTIF()。
=SUM(IF(COUNTIF(range, range)=1,1,0))
對於A2:A8範圍的數據,公式為:
=SUM(IF(COUNTIF(A2:A8, A2:A8)=1,1,0))
運作原理:
COUNTIF(A2:A8, A2:A8)計算清單中每個項目的出現次數IF(...,=1,1,0)檢查項目計數是否恰好為1。若是則傳回1,否則傳回0SUM()加總所有1的數量,提供最終的唯一值計數
使用SUM()、IF()和COUNTIF()計算唯一值。圖片由作者提供。
AI驅動方法:使用Excelmatic進行計數
對商務用戶而言,記憶巢狀公式及其特定參數相當麻煩。若您偏好更直接直覺的方法,Excelmatic將帶來革命性改變。

使用Excelmatic時無需編寫任何公式,只需用簡單語言陳述需求。
如何使用Excelmatic計算唯一值:
- 上傳檔案至Excelmatic平台
- 提出問題。例如輸入:
「計算第一欄的唯一值」或「我的清單中有多少名稱僅出現一次?」 - 獲取答案。Excelmatic分析數據後立即提供計數結果
比較:公式 vs. Excelmatic
| 功能特性 | Excel公式 (SUM, IF, COUNTIF) |
Excelmatic (AI) |
|---|---|---|
| 易用性 | 需具備巢狀函數知識 | 直覺易用;採用自然語言 |
| 速度 | 專家操作快速,初學者緩慢 | 所有用戶皆可立即獲得結果 |
| 錯誤率 | 高(拼寫錯誤、範圍不正確) | 低;能解讀意圖 |
計算文字與數值唯一值
有時數據集包含混合資料類型,需獨立分析。以下說明如何使用公式和Excelmatic進行操作。
計算唯一文字值
若僅計算唯一文字值,可在SUM/IF/COUNTIF公式中加入ISTEXT()檢查。
=SUM(IF(ISTEXT(A2:A9)*COUNTIF(A2:A9,A2:A9)=1,1,0))
計算唯一文字值。圖片由作者提供。
計算唯一數值
同樣地,要計算唯一數字時,將ISTEXT()替換為ISNUMBER()。
=SUM(IF(ISNUMBER(A2:A9)*COUNTIF(A2:A9,A2:A9)=1,1,0))
計算唯一數值。圖片由作者提供。
文字與數值的AI處理方法
使用Excelmatic時,此任務同樣簡單。只需在請求中加入資料類型:
- 文字:
「計算A欄的唯一文字值。」 - 數字:
「『銷售』欄中有多少個唯一數字?」
AI會自動為您進行篩選,讓您無需為公式增添更多複雜度。
依條件與準則計算唯一值
當需要計算符合特定條件的唯一值時,操作會變得更加複雜。
基於單一條件計算唯一值
要基於單一條件計算唯一值,可使用FILTER、UNIQUE和ROWS。
=IFERROR(ROWS(UNIQUE(FILTER(range, criteria_range=criteria))), 0)
例如要計算特定部門(列於儲存格F1)的唯一員工人數:
=IFERROR(ROWS(UNIQUE(FILTER(A2:A20, B2:B20=F1))), "Not Found")
依條件計算唯一值。圖片由作者提供。
基於多重條件計算唯一值
對於多重條件,只需將其加入FILTER函數。例如要計算部門為F1且薪資高於F2值的唯一員工人數:
=IFERROR(ROWS(UNIQUE(FILTER(A2:A10, (B2:B10=F1) * (C2:C10>F2)))), "Not Found")
依多重條件計算唯一值。圖片由作者提供。
條件計數的AI優勢
這正是Excelmatic在商業分析中真正展現價值之處。上述公式功能強大但令人望而生畏且難以除錯。使用Excelmatic時,請求仍維持簡單語句形式:
- 單一條件:
「計算『行銷』部門的唯一員工人數。」 - 多重條件:
「『銷售』部門中有多少唯一員工薪資超過$50,000?」
您無需觸碰公式即可描述複雜邏輯,大幅加速商業報告的工作流程。
區分大小寫的唯一值計數
預設情況下,Excel公式不區分大小寫("Apple"與"apple"視為相同)。要進行區分大小寫的計數,需要輔助欄位或涉及EXACT的複雜陣列公式。
首先建立帶有此公式的輔助欄:
=IF(SUM((--EXACT($A$2:$A$11,A2)))=1,"Unique","Duplicate")
接著使用COUNTIF計算結果:
=COUNTIF(B2:B11,"Unique")
計算區分大小寫的唯一值。圖片由作者提供。
使用Excelmatic時,只需在提示中指定區分大小寫的需求:
「提供『產品代碼』欄位區分大小寫的唯一值計數。」
Excel計算唯一值的最佳實踐
以下實務方法有助於保持準確性與效率:
- 清理數據: 確保沒有多餘空格或格式不一致,
TRIM函數可提供協助 - 處理空白: 若不想計入空白儲存格,數據範圍應排除空值,以免影響結果
- 使用動態範圍: 若數據經常變動,可考慮使用Excel表格或動態陣列函數,以保持實時更新
- 善用AI: 對於複雜或頻繁的請求,Excelmatic可減少手動錯誤,為商務用戶節省大量時間
如何改為計算相異值
現在為那些想計算相異值(所有不同項目,包含每個重複項中的一個)的讀者提供方法。
方法1:使用COUNTIF()和SUM()函數
計算相異值的經典公式:
=SUM(1/COUNTIF(range, range))
此公式對空白儲存格較敏感。更穩健的版本使用SUMPRODUCT:
=SUMPRODUCT(1/COUNTIF(A2:A8, A2:A8))
使用COUNTIF()和SUM()函數計算相異值。圖片由作者提供。
方法2:使用樞紐分析表計算相異值
Excel 2013及後續版本內建了在樞紐分析表中計算相異值的功能。
- 選取數據並前往插入 > 樞紐分析表
- 在對話方塊中勾選將此數據加入資料模型
- 將所需欄位拖曳至值區域
- 點擊值區域中的欄位並選擇值欄位設定
- 向下捲動並選擇相異計數
使用樞紐分析表計算相異值。圖片由作者提供。
方法3:應用進階篩選
透過非公式方法,可使用進階篩選提取相異值清單後進行計數。
- 前往資料索引標籤並點擊進階
- 選擇複製到其他位置
- 選取清單範圍並在複製到欄位指定目標儲存格
- 勾選只顯示唯一記錄後點擊確定
- 對結果清單使用
ROWS()或COUNTA()函數以取得計數
使用進階篩選選項計算相異值。圖片由作者提供。
方法4:實作VBA巨集
對於重複性任務,VBA巨集可自動化流程。按Alt + F11開啟VBA編輯器,插入新模組後貼上此程式碼:
Function CountDistinct(rng As Range) As Integer
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Dim cell As Range
For Each cell In rng
If Not dict.exists(cell.Value) And cell.Value <> "" Then
dict.Add cell.Value, Nothing
End If
Next cell
CountDistinct = dict.Count
End Function
儲存模組後,即可在工作表中使用=CountDistinct(A2:A8)作為自訂函數。
使用VBA編輯器計算相異值。圖片由作者提供。
AI替代方案:使用Excelmatic計算相異值
與計算唯一值相同,使用Excelmatic取得相異計數只需簡單請求:
「計算我清單中的相異水果種類」或「顯示相異客戶數量。」
方法比較:計算相異值
| 方法 | 易用性 | 速度 | 動態更新? | 最適用情境 |
|---|---|---|---|---|
| 公式 | 中等 | 快速 | 是 | 熟悉公式用戶的快速計算 |
| 樞紐分析表 | 容易 | 快速 | 是 | 互動式分析與報告 |
| 進階篩選 | 容易 | 緩慢 | 否 | 建立靜態相異值清單 |
| VBA | 困難 | 快速 | 否 | 自動化重複性標準任務 |
| Excelmatic (AI) | 最簡易 | 最快速 | 是 | 所有用戶,特別適用於複雜查詢 |
常見問題與疑難排解
- 隱藏空格: 多餘空格可能導致Excel將相同值視為不同。可先使用
TRIM()函數清理數據 - 公式錯誤:
UNIQUE()等函數僅在Excel 365和Excel 2021中可用。若使用舊版,需採用SUMPRODUCT或樞紐分析表方法 - AI誤解: 雖然罕見,但AI可能誤解非常模糊的提示。稍加具體說明(例如「計算B欄的相異值」)通常可解決此問題
結語
我們已涵蓋從經典公式、樞紐分析表到現代VBA巨集和AI工具等各種計算唯一值與相異值的方法。每種方法各有其適用場景,正確選擇取決於您的具體需求、Excel版本和對公式的熟悉程度。
對於需要快速準確結果卻不想面對技術複雜性的商務專業人士,Excelmatic提供了革命性方法。透過簡單語言指令,您可立即完成複雜計數任務——消除公式錯誤,為數據分析和決策節省寶貴時間。
準備好簡化您在Excel中的唯一值計算了嗎?
立即開始使用Excelmatic體驗即時AI驅動的數據分析。
如何計算唯一值但不計入空白?
您可使用此公式,在計數前過濾空白儲存格:
=COUNTA(UNIQUE(FILTER(range, range<>"")))
使用Excelmatic時,通常預設會忽略空白,或者您可指定「計算唯一值並忽略空白。」
如何使用條件式格式設定標示唯一值?
選取數據範圍後前往首頁索引標籤 > 條件式格式設定 > 醒目提示儲存格規則 > 重複的值。在彈出視窗的下拉選單中選擇唯一後點擊確定。
能否使用Excel中的「移除重複值」功能提取唯一值?
可以,但請注意。資料 > 移除重複值工具實際提取的是相異值(保留每個值的一個副本),而非唯一值(僅出現一次的值)。使用方法:
- 將數據複製到新位置以保留原始數據
- 選取複製的範圍,前往資料索引標籤後點擊移除重複值
- 點擊確定,Excel將移除重複列,僅保留相異清單