如何從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 + 輸入 鍵,然後拖動填充手柄以提取唯一值,直到出現空白單元格。 看截圖:
- $ 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),用作佔位符。
- 最小值(...):找出上面 IF 函數傳回的最小數字,對應下一個唯一值的位置。
- 文本(...,“R0C00”):將此最小數字轉換為 R1C1 樣式位址。格式代碼 R0C00 表示將數字轉換為 Excel 儲存格參考格式。
- 間接(...):使用INDIRECT函數將上一步產生的R1C1樣式位址轉換回正常的A1樣式儲存格參考。 INDIRECT 函數允許基於文字字串的內容進行儲存格參考。
- &"":在公式末尾加上 &"" 可確保最終輸出被視為文本,因此偶數將顯示為文字。
使用 Excel 365 公式從多列中擷取唯一值
Excel 365 支援動態數組,使得從多列中提取唯一值變得更加容易:
請將下列公式輸入或複製到要放置結果的空白儲存格中,然後按一下 Enter 一次取得所有唯一值的關鍵。看截圖:
=UNIQUE(TOCOL(A2:C9,1))
使用 Kutools AI Aide 從多列中提取唯一值
釋放力量 Kutools 人工智慧助手 從 Excel 中的多個欄位中無縫提取唯一值。只需點擊幾下,這個智慧工具就會篩選您的數據,識別並列出任何選定範圍內的唯一條目。忘記複雜公式或VBA程式碼的麻煩;擁抱效率 Kutools 人工智慧助手 並將您的 Excel 工作流程轉變為更有效率且無錯誤的體驗。
安裝Kutools for Excel之後,請點擊 Kutools人工智慧 > 人工智慧助手 打開 Kutools 人工智慧助手 窗格:
- 在聊天框中輸入您的要求,然後按一下 送出 按鈕或按下 Enter 發送問題的按鍵;
“從範圍 A2:C9 中提取唯一值,忽略空白單元格,並將結果從 E2 開始:” - 分析完後點擊 執行 按鈕運行。 Kutools AI Aide 將使用 AI 處理您的請求,並直接在 Excel 中返回指定儲存格中的結果。
使用數據透視表從多個列中提取唯一值
如果您熟悉數據透視表,則可以按照以下步驟輕鬆地從多個列中提取唯一值:
1。 首先,請在數據左側插入一個新的空白列,在本例中,我將在原始數據旁邊插入A列。
2。 單擊數據中的一個單元格,然後按 Alt + D 鍵,然後按 P 立即打開鑰匙 數據透視表和數據透視圖嚮導選擇 多種合併範圍 在嚮導step1中,查看屏幕截圖:
3。 然後點擊 下一頁 按鈕,檢查 為我創建一個頁面字段 嚮導步驟2中的選項,請參見屏幕截圖:
4。 繼續點擊 下一頁 按鈕,單擊以選擇包括左側新的單元格列的數據范圍,然後單擊 加入 按鈕將數據范圍添加到 所有範圍 列錶框,請參見屏幕截圖:
5。 選擇數據范圍後,繼續單擊 下一頁,在嚮導的第3步中,根據需要選擇要放置數據透視表報表的位置。
6. 最後點擊 完 以完成嚮導,並在當前工作表中創建了一個數據透視表,然後取消選中 選擇要添加到報告中的字段 部分,請參見屏幕截圖:
7. 然後檢查現場 值 或將值拖到 行 標籤,現在您將從多個列中獲得唯一值,如下所示:
使用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。 然後點擊 OK,將出現另一個提示框,讓您選擇放置結果的位置,請參見屏幕截圖:
5. 點擊 OK 關閉此對話框,並立即提取所有唯一值。
更多相關文章:
- 計算列表中唯一值和不同值的數量
- 假設您的值列表很長,其中包含一些重複項,現在,您想要計算唯一值(僅一次出現在列表中的值)或不同值(列表中所有不同值的數量)的數量值+第一個重複值),如左圖所示。 本文,我將討論如何在Excel中處理此工作。
- 根據Excel中的條件提取唯一值
- 假設您具有以下數據范圍,您希望根據列A的特定標準僅列出列B的唯一名稱,以得到結果,如下面的屏幕快照所示。 您如何在Excel中快速輕鬆地處理此任務?
- 僅在Excel中允許唯一值
- 如果您只想在工作表的列中輸入唯一值並防止重複,則本文將介紹一些快速技巧來處理此任務。
- 根據Excel中的條件求和唯一值
- 例如,我現在有一系列數據,其中包含“名稱”和“訂單”列,以便根據“名稱”列僅對“訂單”列中的唯一值求和,如下圖所示。 如何在Excel中快速輕鬆地解決此任務?
最佳辦公生產力工具
🤖 | Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行 | 生成代碼 | 建立自訂公式 | 分析數據並產生圖表 | 呼叫 Kutools 函數... |
熱門特色: 尋找、突出顯示或識別重複項 | 刪除空白行 | 合併列或儲存格而不遺失數據 | 沒有公式的回合 ... | |
超級查詢: 多條件VLookup | 多值VLookup | 跨多個工作表的 VLookup | 模糊查詢 .... | |
高級下拉列表: 快速建立下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
欄目經理: 新增特定數量的列 | 移動列 | 切換隱藏列的可見性狀態 | 比較範圍和列 ... | |
特色功能: 網格焦點 | 設計圖 | 大方程式酒吧 | 工作簿和工作表管理器 | 資源庫 (自動文字) | 日期選擇器 | 合併工作表 | 加密/解密單元格 | 按清單發送電子郵件 | 超級濾鏡 | 特殊過濾器 (過濾粗體/斜體/刪除線...)... | |
前 15 個工具集: 12 文本 工具 (添加文本, 刪除字符,...) | 50+ 圖表 類型 (甘特圖,...) | 40+ 實用 公式 (根據生日計算年齡,...) | 19 插入 工具 (插入二維碼, 從路徑插入圖片,...) | 12 轉化 工具 (數字到單詞, 貨幣兌換,...) | 7 合併與拆分 工具 (高級合併行, 分裂細胞,...) | ... 和更多 |
使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。 點擊此處獲取您最需要的功能...
Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆
- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!