Note: The other languages of the website are Google-translated. Back to English

如何根據Excel中的條件提取唯一值?

假設您有一個左側的數據范圍,您只想根據A列的特定標準僅列出B列的唯一名稱即可獲得結果,如下面的屏幕截圖所示。 您如何快速,輕鬆地在Excel中處理此任務?

根據條件使用數組公式提取唯一值

使用數組公式基於多個條件提取唯一值

從具有有用功能的單元格列表中提取唯一值

 

根據條件使用數組公式提取唯一值

要解決此工作,您可以應用一個複雜的數組公式,請執行以下操作:

1。 在要列出提取結果的空白單元格中輸入以下公式,在此示例中,我將其放在單元格E2中,然後按 Shift + Ctrl + 輸入 鍵以獲取第一個唯一值。

=IFERROR(INDEX($B$2:$B$15, MATCH(0, IF($D$2=$A$2:$A$15, COUNTIF($E$1:$E1, $B$2:$B$15), ""), 0)),"")

2。 然後,將填充手柄向下拖動到單元格,直到顯示空白單元格,現在已列出了基於特定條件的所有唯一值,請參見屏幕截圖:

備註: 在上面的公式中: B2:B15 是列範圍包含您要從中提取的唯一值, A2:A15 該列包含您基於的條件, D2 指示您要基於的列出唯一值的條件,並且 E1 是您輸入的公式上方的單元格。

使用數組公式基於多個條件提取唯一值

如果要基於兩個條件提取唯一值,這是另一個可以幫助您的數組公式,請執行以下操作:

1。 在要列出唯一值的空白單元格中輸入以下公式,在此示例中,我將其放在單元格G2中,然後按 Shift + Ctrl + 輸入 鍵以獲取第一個唯一值。

=IFERROR(INDEX($C$2:$C$15,MATCH(0,COUNTIF(G1:$G$1,$C$2:$C$15)+IF($A$2:$A$15<>$E$2,1,0)+IF($B$2:$B$15<>$F$2,1,0),0)),"")

2。 然後,將填充手柄向下拖動到單元格,直到顯示空白單元格,現在已列出了基於特定兩個條件的所有唯一值,請參見屏幕截圖:

備註: 在上面的公式中: C2:C15 是列範圍包含您要從中提取的唯一值, A2:A15 E2 是您要根據其提取唯一值的條件的第一個範圍, B2:B15F2 是您要根據其提取唯一值的條件的第二個範圍,並且 G1 是您輸入的公式上方的單元格。

從具有有用功能的單元格列表中提取唯一值

有時,您只想從單元格列表中提取唯一值,在這裡,我將推荐一個有用的工具-Excel的Kutools,其 提取具有唯一值的單元格(包括第一個重複項) 實用程序,您可以快速提取唯一值。

備註:要應用此 提取具有唯一值的單元格(包括第一個重複項),首先,您應該下載 Excel的Kutools,然後快速輕鬆地應用該功能。

安裝後 Excel的Kutools,請這樣做:

1。 單擊要在其中輸出結果的單元格。 (備註:不要單擊第一行中的單元格。)

2。 然後點擊 庫工具 > 公式助手 > 公式助手,請參見屏幕截圖:

3。 在 公式助手 對話框,請執行以下操作:

  • 選擇 文本 選項從 公式 類別 下拉列表;
  • 然後選擇 提取具有唯一值的單元格(包括第一個重複項) 來自 選擇一個草 列錶框;
  • 在右邊 參數輸入 部分中,選擇要提取唯一值的單元格列表。

4。 然後點擊 Ok 按鈕,第一個結果顯示在單元格中,然後選擇該單元格並將填充手柄拖到要列出所有唯一值的單元格上,直到顯示空白單元格為止,請參見屏幕截圖:

立即免費下載Kutools for Excel!


更多相關文章:

  • 計算列表中唯一值和不同值的數量
  • 假設您的值列表很長,其中包含一些重複項,現在,您想要計算唯一值(僅一次出現在列表中的值)或不同值(列表中所有不同值的數量)的數量值+第一個重複值),如左圖所示。 本文,我將討論如何在Excel中處理此工作。
  • 根據Excel中的條件求和唯一值
  • 例如,我現在有一系列數據,其中包含“名稱”和“訂單”列,以便根據“名稱”列僅對“訂單”列中的唯一值求和,如下圖所示。 如何在Excel中快速輕鬆地解決此任務?
  • 連接Excel中的唯一值
  • 如果我有一長串的值填充了一些重複數據,那麼現在,我只想查找唯一值,然後將它們串聯到單個單元格中。 如何在Excel中快速輕鬆地解決此問題?

最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (40)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
嗨,感謝本教程,它工作得很好。 我正在嘗試修改它以使用 OR 條件,但它似乎不起作用 - 這可能嗎? 例如 =INDEX($B$2:$B$17, MATCH(0, IF(OR($D$2=$A$2:$A$17,$D$2=$B$2:$B$17), COUNTIF($E$1 :$E1, $B$2:$B$17), ""), 0))
網站主持人對此評論進行了最小化
感謝您提供本教程! 我也在嘗試修改公式,就像上面的評論員一樣,但是使用 AND 條件,使其滿足另一個條件標準(例如,對於這個例子,我只想看到高於某個閾值的東西)。 你能給些建議麼? 謝謝!
網站主持人對此評論進行了最小化
嘿,一種方法:將 if 公式替換為 sumproduct((condition1=rng1)+(condition2=rng2))*countif(... 它對我有用。祝你好運!通過將 + 替換為 * 你可以使其成為 OR 條件,但請注意括號!
網站主持人對此評論進行了最小化
謝謝你,這太棒了!
網站主持人對此評論進行了最小化
謝謝你,我已經嘗試過了,似乎間歇性地工作正常。 不斷重複的問題是,有時只有第一個匹配值會返回,然後在我向下拖動以返回所有匹配值時重複。 我該如何防止這種情況? 有什麼建議麼?
網站主持人對此評論進行了最小化
這非常有效,但是每當它輸入的值被複製時,它只放置一次。 例如,如果您的列表中有兩個 Lucy,它只會將一個 Lucy 帶到新表中。 有沒有辦法解決這個問題?
網站主持人對此評論進行了最小化
使用此公式時,它會不斷重複第一個值,您如何停止並提供等於 D2 中乘積的值列表?
網站主持人對此評論進行了最小化
嗨,要在向下拖動時停止第一個值重複,您必須在要放入公式的單元格上方計數單元格。例如,如果公式在 E2 中,您必須鍵入 countif($E$1:$E1...
網站主持人對此評論進行了最小化
嗨,瑞安。 公式效果很好,但是當向下拖動第一個值時會不斷重複。 我已確保 COUNTIF 使用公式引用單元格上方的單元格,但向下拖動時仍重複第一個值? (例如,如果數組公式在 C2 中,則 COUNTIF 指向單元格 $C$1:$C$1)
網站主持人對此評論進行了最小化
嗨,瑞安。 公式效果很好,但是當向下拖動第一個值時會不斷重複。 我已確保 COUNTIF 使用公式引用單元格上方的單元格,但向下拖動時仍重複第一個值? (例如,如果數組公式在 C2 中,則 COUNTIF 指向單元格 $C$1:$C$1)
網站主持人對此評論進行了最小化
可能不起作用,因為您已鎖定單元格 - 嘗試將 $C$1:$C$1 替換為 $C$1:$C1
網站主持人對此評論進行了最小化
這非常有幫助,但我不斷得到這樣的所有名稱的雙倍:
能源部,簡
能源部,簡
胡佛,湯姆
胡佛,湯姆

我怎樣才能阻止呢?
網站主持人對此評論進行了最小化
您好,我在“匹配功能”中收到“#N/A”錯誤,您能指導一下嗎?
網站主持人對此評論進行了最小化
=IF(AL2="AP","AP",IF(AK2="AD","AD",IF(Z2>500000,"Yes","No"))) 我想要滿足“所有條件”說是...excel反映了這個公式中的錯誤..請告知
網站主持人對此評論進行了最小化
實際上,如果(AL2 =“AP”和AK2 =“AD”和Z2> 500000),我希望單元格反映“是”
網站主持人對此評論進行了最小化
我在使用此公式的 Match 函數中遇到 #N/A 錯誤。您能幫忙嗎?
網站主持人對此評論進行了最小化
您好,我在“匹配功能”中收到“#N/A”錯誤,您能指導一下嗎?
網站主持人對此評論進行了最小化
如果您收到 #N/A 錯誤,請轉到您的公式並使用 Control + Shift + Enter 而不是 Enter。
網站主持人對此評論進行了最小化
我得到的是 0 而不是預期的結果,該公式對同一張表中的數據效果很好,你對不同表中的數據有什麼解決方案嗎?

這是我的公式

=IFERROR(INDEX('Switching Data'!$B$7:$B$204,MATCH(0,IF($A$2='Switching Data'!$A$7:$A$204,COUNTIF($A$4:A4,'Switching Data'!$B$7:$B$204),""),0)),0)
網站主持人對此評論進行了最小化
嗨,貢,
插入公式後,您應該同時按 Ctrl + Shift + Enter 鍵,而不僅僅是 Enter 鍵。
請嘗試一下,謝謝!
網站主持人對此評論進行了最小化
你好,Gon,我希望你一切都好。 我想知道你是否可以解決這個問題。 當公式來自不同的工作表時,我會遇到同樣的錯誤。 如果您得到解決方案,我將不勝感激。
網站主持人對此評論進行了最小化
謝謝!
網站主持人對此評論進行了最小化
我如何讓這個公式返回每個重複項而不是每個名稱之一? 例如,在上面的示例中,如何讓結果列 (B:B) 返回 Lucy、Ruby、Anny、Jose、Lucy、Anny、Tom? 我將其用作從總帳中提取特定帳戶摘要的預算工具。 但是,一些金額和交易描述在總帳中是重複的。 一旦提取了第一個重複值,就不會再提取它們了。
網站主持人對此評論進行了最小化
嗨,喬,
要根據特定的單元格條件提取所有對應的值,以下數組公式可以幫助您,請參見屏幕截圖:
=IF(ISERROR(INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2)),"",
INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2))

插入公式後,請同時按 Shift + Ctrl + Enter 鍵得到正確的結果,然後向下拖動填充柄得到所有值。
希望對你有幫助,謝謝!
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
到現在為止還挺好。 我能夠複製測試表中的結果,對數組進行更改,然後更正公式以說明我所做的更改。 我計劃今天把它移到主表中,看看它是如何工作的。 謝謝您的幫助!
網站主持人對此評論進行了最小化
好的,所以它在主工作簿中工作。 有一個例外我無法確定原因:如果數組(在我的情況下,我從第 3 行開始的總帳)不是從第 1 行開始,則返回的值不正確。 是什麼導致了這個問題,公式中的哪個術語解決了這個問題? 再次感謝您對此的幫助!
網站主持人對此評論進行了最小化
最後一個問題:如果我希望結果列返回與 KTE 或 KTO 無關的所有值(因此,D:D 將是 Tom、Nocol、Lily、Angelina、Genna),我該怎麼做?
網站主持人對此評論進行了最小化
對我來說,這個公式不起作用。 我按 ctrl shift enter ,我仍然收到錯誤 N/A。 我想補充一點,我準備了與教程中相同的數據。 它不起作用的原因是什麼?
網站主持人對此評論進行了最小化
這對我來說非常有用,具有特定的查找值。 但是,如果我想使用通配符來查找部分值,我該怎麼做? 例如,如果我想查找與 KT 關聯的所有名稱?

我正在使用這個函數來查找包含多個文本的單元格。 例如,如果每個產品在同一個單元格中也有一個子產品,但我只是在尋找與子產品“elf”相關聯的名稱。

KTE - 精靈
KTE-球
KTE——鋼琴
KTO-精靈
KTO-球
KTO——鋼琴
網站主持人對此評論進行了最小化
有沒有辦法在允許重複值的同時完成這項工作? 例如,我希望在結果中列出 Lucy 的所有實例。
網站主持人對此評論進行了最小化
你好,康斯坦丁,
要提取所有對應的值,包括基於特定單元格條件的重複項,以下數組公式可以幫助您,請參見屏幕截圖:
=IF(ISERROR(INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2)),"",
INDEX($A$1:$B$17,SMALL(IF($A$1:$A$17=$D$2,ROW($A$1:$A$17)),ROW(1:1)),2))

插入公式後,請同時按 Shift + Ctrl + Enter 鍵得到正確的結果,然後向下拖動填充柄得到所有值。
希望對你有幫助,謝謝!
查看附件 (1 / 5)
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護