題 如何在Excel中的列中獲取不同/唯一值?


如果我有一個包含值的列,並且我想知道其中有哪些不同的值(不是多少 - 而是實際的不同值),我該怎麼做?

在SQL Server中,我會做類似的事情

SELECT Distinct(MyColumn) FROM MyTable

256
2017-10-01 15:34


起源


有關: stackoverflow.com/questions/13307927/... - alexanderbird


答案:


比你想像的更簡單:

  • 點擊 數據 功能區菜單
  • 選擇 高級 按鈕在 排序和過濾 部分
  • 填寫對話框,將結果復製到另一個位置並確保您 tick僅限唯一記錄

enter image description here


274
2017-10-01 15:48



對於我們這些仍然生活在無帶狀態的人來說,它的數據 - >過濾器 - >高級。 - J.T. Grimes
+1如果要保持原始數據的完整性,此方法優於“刪除重複項”。 - Excellll
如果將數據複製到另一個工作表,則必須啟動“高級”對話框 從您要復製到的工作表中,否則你會得到一個 You can only copy filtered data to the active sheet 錯誤。 - Dave Zych
源範圍值更改時不會更新。有沒有辦法讓它變得動態? - hughes


Excel 2007和2010:
使用 Remove Duplicates 菜單選項下 數據 頭。

Excel 2003:
簡單的方法:

  1. 確保您的數據有標題
  2. 數據 - >過濾器 - >高級過濾器
  3. 僅檢查唯一記錄
  4. 選擇複製到其他位置
  5. 單擊確定

艱辛的道路:

使用以下代碼編寫宏:

'Remove duplicates from sorted list
Sub getDistinct()
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            ActiveCell.Select
            Selection.Delete Shift:=xlUp
        Else
            ActiveCell.Offset(1, 0).Activate
        End If
    Loop
End Sub

這會為您提供獨特的清單。您可能希望先將列表複製到另一張表。


127
2017-10-01 15:43



謝謝!這證明Stack Exchange比任何其他技術信息來源更好。所有其他谷歌搜索結果都是無用的,沒有任何幫助。我也想知道專家交換是如何生存的 - Eran Medan


我使用兩種主要方法來獲得不同的值 - 第一種是非常寶貴的 Remove Duplicates 工具為 Nathan DeWitt建議

不利的一面 Remove Duplicates 是你丟失了數據。儘管有力量 按Ctrl+ž 您可能不希望出於各種原因這樣做 - 例如,您可能會選擇當前選擇的過濾器,這樣可以刪除重複項以獲取您的不同值列表。

上面沒有提到的另一種方法是使用數據透視表。

假設這是你的表,你想獲得不同的平台列表。 dummy table

插入一個 Pivot Table 將表作為數據源。

現在選擇 平台(S) 列為您的 Row Labels

瞧!不同值的列表。

pivot table as distinct value list

如果你想整理一下,你可以關掉 Field Headers 並設置 Grand Totals 成為 Off for Rows and Columns


20
2018-04-04 09:38



數據透視表技術非常出色!謝謝你。 - Thomas L Holaday


或者(一種簡單粗暴的方式):

在B1中,

=IF(COUNTIF(A$1:A1,A1)=1,A1,"") 

並複制下來。它只是複制每個值的第一次出現(在它出現的行中)。


17
2017-08-16 15:35



與所有Excel公式一樣,您可能需要使用分號(;而不是逗號(,)根據您系統的區域設置。 - Scott


或者您可以在宏中包含過濾器選項

    Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

5
2018-04-13 09:37





對我來說,最簡單的排序方法是使用“過濾”選項。

第一步是使用條件格式 - >突出顯示單元格規則 - >重複值來查找重複值。

然後單擊具有重複項的列上的箭頭(在本例中為“平台”) - >按顏色過濾(單元格顏色或字體顏色)。


3
2018-03-06 18:54



這裡的結果是不同的,如 所有 重複的實例被刪除。例如。帶有值的列 [a, a, b] 應該減少到 [a, b]不是 [b]。 - Hugo Ideler