如何從 Excel 的多個列中提取唯一值?

假設您有多個包含多個值的列,其中一些值在同一列內或不同列之間重複。現在,您需要找出在所有列中唯一的值。是否有快速的方法可以從 Excel 的多列中提取這些唯一值?讓我們來探索一些高效的解決方案。
使用公式從多列中提取唯一值
本節將介紹兩個公式:一個是適用於所有 Excel 版本的陣列公式,另一個是專門用於 Excel 365 的動態陣列公式。
使用適用於所有 Excel 版本的陣列公式從多列中提取唯一值
對於任何版本的 Excel 使用者來說,陣列公式是從多列中提取唯一值的強大工具。以下是具體操作方法:
1. 假設您的數據範圍為 A2:C9,請在單元格 E2 中輸入以下公式:
=INDIRECT(TEXT(MIN(IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
2. 然後同時按下 Shift + Ctrl + Enter 鍵,然後拖動填充柄以提取唯一值,直到出現空白單元格。請參見截圖:
- $A$2:$C$9:這指定了要檢查的數據範圍,即從 A2 到 C9 的單元格。
- IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0), ROW($2:$9)*100+COLUMN($A:$C), 7^8):
- $A$2:$C$9<>"" 檢查範圍內的單元格是否不為空。
- COUNTIF($E$1:E1,$A$2:$C$9)=0 判斷這些單元格的值是否尚未在 E1 到 E1 的範圍內列出。
- 如果兩個條件都滿足(即該值不為空且尚未在 E 列中列出),則 IF 函數會根據其行和列計算出一個唯一的數字(ROW($2:$9)*100+COLUMN($A:$C))。
- 如果條件不滿足,函數將返回一個大數字(7^8),作為佔位符。
- MIN(...):找到由上述 IF 函數返回的最小數字,對應於下一個唯一值的位置。
- TEXT(...,"R0C00"):將這個最小數字轉換為 R1C1 格式的地址。格式代碼 R0C00 表示將數字轉換為 Excel 單元格引用格式。
- INDIRECT(...):使用 INDIRECT 函數將上一步生成的 R1C1 格式地址轉換回普通的 A1 格式單元格引用。INDIRECT 函數允許基於文本字符串的內容進行單元格引用。
- &"":在公式的末尾附加 &"" 確保最終輸出被視為文本,因此即使是數字也會顯示為文本。
使用適用於 Excel 365、Excel 2021 及更新版本的公式從多列中提取唯一值
Excel 365、Excel 2021 及更新版本支持動態陣列,使得從多列中提取唯一值變得更加容易:
請在希望放置結果的空白單元格中輸入或複製以下公式,然後按 Enter 鍵即可一次性獲取所有唯一值。請參見截圖:
=UNIQUE(TOCOL(A2:C9,1))
使用 Kutools AI 助手從多列中提取唯一值
釋放「Kutools AI 助手」的力量,輕鬆地從 Excel 的多列中提取唯一值。只需點擊幾下,這個智能工具就能篩選您的數據,識別並列出所選範圍內的所有唯一條目。忘記複雜的公式或 VBA 程式碼的麻煩;擁抱「Kutools AI 助手」的高效性,將您的 Excel 工作流程轉變為更高效且無錯誤的體驗。
安裝 Kutools for Excel 後,請點擊「Kutools AI」>「AI 助手」以打開「Kutools AI 助手」面板:
- 在聊天框中輸入您的需求,然後點擊「發送」按鈕或按 Enter 鍵發送問題;
"從範圍 A2:C9 中提取唯一值,忽略空白單元格,並將結果放在 E2 開始的位置:" - 分析完成後,點擊「執行」按鈕運行。Kutools AI 助手將使用 AI 處理您的請求,並將結果直接返回到 Excel 中指定的單元格。
使用資料透視表從多列中提取唯一值
如果您熟悉資料透視表,可以通過以下步驟輕鬆地從多列中提取唯一值:
1. 首先,在數據左側插入一列新的空白列,在本例中,我將在原始數據旁邊插入 A 列。
2. 點擊數據中的任意單元格,然後按下 "Alt+D" 鍵,再立即按下 "P" 鍵以打開「資料透視表及資料透視圖向導」,在向導第一步選擇「多重合併計算區域」,請參見截圖:
3. 然後點擊下一步按鈕,在向導第二步勾選「為我創建單一面板」選項,請參見截圖:
4. 繼續點擊「下一步」按鈕,選擇包括左側新列的數據範圍,然後點擊「添加」按鈕將數據範圍添加到「所有範圍」列表框中,請參見截圖:
5. 選擇數據範圍後,繼續點擊「下一步」,在向導第三步選擇您希望放置資料透視表報告的位置。
6. 最後,點擊「完成」以完成向導,並在當前工作表中創建資料透視表。然後取消勾選「選擇要添加到報表的欄位」部分中的所有欄位,請參見截圖:
7. 然後勾選 Value 欄位或將 Value 拖到「行」標籤,這樣您就可以從多列中獲得唯一值,如下所示:
使用 VBA 程式碼從多列中提取唯一值
使用以下 VBA 程式碼,您也可以從多列中提取唯一值。
1. 按住「ALT + F11」鍵,打開「Microsoft Visual Basic for Applications」窗口。
2. 點擊「插入」>「模組」,然後將以下程式碼粘貼到模組窗口中。
VBA:從多列中提取唯一值
Sub Uniquedata()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
For Each rng In InputRng
If rng.Value <> "" Then
dt(rng.Value) = ""
End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub
3. 然後按 F5 鍵運行程式碼,將彈出一個提示框提醒您選擇要使用的數據範圍。請參見截圖:
4. 然後點擊確定,另一個提示框將出現讓您選擇放置結果的位置,請參見截圖:
5. 點擊確定關閉此對話框,所有唯一值將一次性提取出來。
更多相關文章:
- 計算列表中唯一值和不同值的數量
- 假設您有一長串值,其中有一些重複項目,現在您想計算唯一值(僅在列表中出現一次的值)或不同值(列表中的所有不同值,意味著唯一值 + 第一次重複值)的數量,如左側截圖所示。本文將討論如何在 Excel 中處理此任務。
- 根據條件在 Excel 中提取唯一值
- 假設,您有以下數據範圍,希望根據 A 列的特定條件列出 B 列中唯一的名稱,以獲得如下截圖所示的結果。如何在 Excel 中快速輕鬆地處理此任務?
- 僅允許在 Excel 中輸入唯一值
- 如果您希望只保留工作表某一列中的唯一值並防止重複,本文將介紹一些快速技巧幫助您處理此任務。
- 根據條件在 Excel 中求唯一值的總和
- 例如,我有一個包含姓名和訂單列的數據範圍,現在要根據姓名列求訂單列中唯一值的總和,如下截圖所示。如何在 Excel 中快速輕鬆地解決此任務?
最佳辦公效率工具
🤖 | Kutools AI 助手:基於智能執行方式革新數據分析:智能執行 | 生成代碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 函數… |
熱門功能:查找、標記重複值或識別重複項 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
高級 LOOKUP: 多條件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高級下拉列表:快速創建下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
列管理器: 添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較區域和列 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文本工具(添加文本、刪除特定字符、...) | 50+ 圖表 類型(甘特圖、...) | 40+ 實用 公式(基於生日計算年齡、...) | 19 個插入工具(插入QR碼、根據路徑插入圖片、...) | 12 個轉換工具(金額轉大寫、匯率轉換、...) | 7 個合併與分割工具(高級合併行、分割儲存格、...) | ... 還有更多 |
使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。 點擊這裡獲取您最需要的功能...
Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!