← Excel 公式課程

FIELD NOTES / Excel 公式教學

UNIQUE 產生不重複的項目清單

Excel 公式教學發布:作者:茂伯預估 7 分鐘閱讀

學習 UNIQUE 產生不重複的項目清單,透過可重建的範例、公式與練習掌握操作和結果判讀。

本文目錄

本教學由作者茂伯編寫,並由作者在 Windows 版 Microsoft 365 與 Excel 2021 實際操作驗證。

學會從單欄清單產生每個不同項目各列一次的摘要,保留來源資料與原先出現順序。完成後能分辨一般不重複清單和只出現一次的項目,並能正確預留溢出範圍、修改來源與核對結果,避免把公式輸出當成原表已被刪重。

適用版本

Microsoft 365 或 Excel 2021 起 需支援動態陣列

用途

  • 從多筆活動登記的區域欄,列出本次曾出現哪些區域,方便做後續人工核對;一個區域有多少筆紀錄仍須回原表確認。

  • 把一欄重複分類整理成簡短清單,作報表說明或選項草稿。先檢查用字與空格是否一致,避免同一分類因拼寫不同分成兩項。

先準備範例資料

開啟空白活頁簿,依下表輸入。英文字母是欄,數字是列;例如 B2 就是 B 欄第 2 列。標題從 A1 開始,結果另外放在 E2。

列 A
1 區域
2 北區
3 南區
4 北區
5 東區
6 西區
7 南區
8 中區
  • A1 為「區域」,A2:A8 共七筆文字,依序為北區、南區、北區、東區、西區、南區、中區;沒有空白格。

  • 北區在 A2、A4 出現兩次,南區在 A3、A7 出現兩次;東區、西區、中區各出現一次,重複是刻意保留的來源紀錄。

  • E1 輸入「不重複區域」,主答案從 E2 展開到 E6。五個不同區域各列一次,不是在找只有一筆紀錄的區域。

  • 輸入前讓 E2:E8 空白且不合併,公式放在一般工作表格線。來源 A 欄不應因為想去重,就手動刪除重複列。

輸入這個公式

=UNIQUE(A2:A8)

輸入位置:E2  正確結果:E2:E6:北區、南區、東區、西區、中區

建議順序:先照做並核對畫面,再看公式拆解,最後完成延伸用法與練習。所有練習各自從這一頁的原始資料開始。

照著做並核對畫面

名稱方塊在公式列左側,會顯示 A1 或 E2 等位置;公式列則是 fx 右邊顯示公式的長欄位。下列步驟都在工作表內操作。

  1. 在空白工作表 A1:A8 輸入原表,核對七筆順序、重複的北區與南區,名稱前後不要加空格。

  2. 在 E1 輸入「不重複區域」。確認 E2:E8 無其他內容或合併格;這段空間用來讓清單隨結果筆數變化。

  3. 只選 E2,輸入 =UNIQUE(A2:A8),括號內不包含 A1 標題,也不需要手動挑出各個不同名稱。

  4. 按 Enter,確認 E2:E6 依序為北區、南區、東區、西區、中區。只輸入一個公式,不要把它再複製到每一列。

  5. 重新選 E2 查看公式列與溢出範圍,再回原表確認仍保留七筆;E3:E6 是公式產生的結果,修改公式需回到 E2。

UNIQUE 範例資料及公式結果的 Excel 網頁版實際操作畫面

圖 1 Excel 網頁版實際操作畫面

Windows 桌面版的工具列外觀可能不同,儲存格位置、公式輸入及本例結果相同。

對照畫面確認結果

  • A 欄仍有兩個北區、兩個南區,代表來源沒有被刪除或改寫。

  • E2:E6 有五個不同名稱,北區與南區各保留一筆,並不是完全排除曾經重複的項目。

  • 結果順序依第一次出現:北、南、東、西、中;沒有依文字或地理方位重新排序。

語法與引數

=UNIQUE(array,[by_col],[exactly_once])

引數就是交給函數處理的資料或設定。語法中的 [ ] 表示可以省略,輸入公式時不要打出方括號或省略號。

array 必要。要比較的資料範圍,本例 A2:A8 是單欄七格,不含標題。只提供這個參數,就會取得每個不同項目各一次。

[by_col] 選填。FALSE 或省略表示比較列;TRUE 表示比較欄。本課資料直向排列,因此省略或使用 FALSE,不能改成 TRUE 期待相同清單。

[exactly_once] 選填。FALSE 或省略會保留每個不同項目各一次;TRUE 則只回傳來源中總共出現一次的項目。這兩種「不重複」的意思必須區分,方括號不用輸入。

把主公式逐段拆開

= 開頭等號讓 Excel 把後面的內容視為計算公式。

UNIQUE 本課唯一使用的函數名稱,拼字須完整,不含空格。

( ) 成對半形括號包住所有參數;最後一定要有右括號。

A2:A8 冒號表示連續七格來源,從 A2 到 A8,單欄內按列比較。

省略的選填參數 主公式沒有逗號,表示採預設比較列、保留所有不同項目;延伸題的逗號才用來指定 FALSE 與 TRUE。

使用半形 = ( ) , : 及雙引號;文字使用直式雙引號 " "。部分地區設定以分號分隔引數,請依 Excel 的輸入提示調整。

Excel 如何得到這個答案

  1. 從 A2 讀到北區,第一次出現,加入清單;A3 的南區也第一次出現,接在後面。

  2. A4 再次出現北區,不新增第二份。接著 A5 東區、A6 西區尚未出現,各加入一次。

  3. A7 南區已經有了,不重複列出;A8 中區首次出現,加入最後。五筆結果展開至 E2:E6。最後將五個輸出名稱逐一回原表確認至少出現一次,並檢查沒有漏掉中區,便能完成基本的人工覆核。

資料型態與邊界情況

  • 主公式建立摘要,沒有從來源移除重複紀錄。若來源代表七筆不同活動,不能因區域重複就認為資料應該刪除。每筆紀錄的業務意義與分類摘要是不同層次;本課只回答有哪些區域,不判斷哪些原始紀錄可刪除。

  • 本課結果依首次出現順序,不會自動排序或顯示每區次數;來源順序改動時,摘要順序也可能改變。

  • 固定範圍 A2:A8 不會自動納入第 9 列新資料。文字前後空格或字形不同也可能造成額外項目,先核對來源再判斷清單。

同一個函數的延伸用法

以下例子彼此獨立。每做一題前,先還原上方的原始資料,再執行該題設定;不要沿用上一題的修改。

用法 1 只看前四筆

先恢復原始 A1:A8,刪除 E2 原公式以清空舊溢出,保持 E2:E8 空白,在 E2 輸入下式。

=UNIQUE(A2:A5)

結果:北區;南區;東區

A2:A5 為北區、南區、北區、東區,其中北區重複。

結果為北區、南區、東區,佔 E2:E4;西區與中區不在指定範圍內。

用法 2 只保留出現一次

先恢復原始 A1:A8,刪除 E2 原公式,保持 E2:E8 空白,E1 改為「只出現一次的區域」,在 E2 輸入下式。

=UNIQUE(A2:A8,FALSE,TRUE)

結果:東區;西區;中區

FALSE 表示比較列;TRUE 要求整個來源中剛好出現一次。

北區與南區各出現兩次,因此完全不入選;E2:E4 為東區、西區、中區。

常見錯誤

  1. 顯示 #SPILL!

原因:E2 下方有內容、合併格,或公式位於 Excel 表格物件內。 處理:移開預計結果區的阻擋內容並取消相關合併;把公式放在一般工作表的 E2。

  1. 出現看似相同的兩個名稱

原因:來源可能有前後空格、全半形差異或不同字形。 處理:逐格核對原始名稱,確認業務上確為同一分類後修正來源;不要直接刪改溢出區。

  1. 只剩東區、西區、中區

原因:第三參數可能設為 TRUE,變成只取恰好出現一次。 處理:若要主題的完整不同區域清單,回 E2 恢復 =UNIQUE(A2:A8)。

自己練習與完整解答

先遮住解答,試著自己輸入公式並預測結果。每題都從上方原始資料重新開始,結果放在題目指定的儲存格。

練習 1 明確寫出預設設定

先恢復原始 A1:A8,E1 恢復「不重複區域」,刪除 E2 原公式,保持 E2:E8 空白,在 E2 明確指定比較列及所有不同值。

答案公式:

=UNIQUE(A2:A8,FALSE,FALSE)

正確結果:北區;南區;東區;西區;中區

解答 1 第二參數 FALSE 比較列,第三參數 FALSE 保留每個不同項目各一次。

解答 2 結果與主題相同,仍佔 E2:E6,共五個區域。

練習 2 一個類別不再出現

先恢復原始 A1:A8,只把 A8 改為北區;E1 恢復「不重複區域」,刪除 E2 原公式,保持 E2:E8 空白,再在 E2 使用主公式。

答案公式:

=UNIQUE(A2:A8)

正確結果:北區;南區;東區;西區

解答 1 中區已沒有任何來源紀錄,北區雖變成三筆仍只列一次。

解答 2 結果縮成 E2:E5:北區、南區、東區、西區;舊的中區不應殘留。

練習 3 只讀最後三筆

先恢復原始 A1:A8,E1 恢復「不重複區域」,刪除 E2 原公式,保持 E2:E8 空白,在 E2 只處理 A6:A8。

答案公式:

=UNIQUE(A6:A8)

正確結果:西區;南區;中區

解答 1 最後三筆依序為西區、南區、中區,彼此都不同。

解答 2 結果佔 E2:E4,保留原順序;其他範圍的重複不影響本題。

完成後的自我檢查

  • 我能分辨各列一次與只出現一次兩種需求。

  • 我只編輯 E2,保留來源與可伸縮的空白結果區。

  • 我核對來源範圍、首次出現順序與文字一致性。

版本與官方說明

  • Microsoft 365、Excel 2021、Excel 2024 與目前 Excel 網頁版支援 UNIQUE;Excel 2019、2016 永久授權版不提供此函數。

  • 本課按 Enter 後自動溢出。舊版可能顯示 _xlfn 或 #NAME?,且無法可靠重新計算;分享前確認接收者使用支援版本。

官方參考

Microsoft Support:UNIQUE 函數