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

Hur extraherar man unika värden baserat på kriterier i Excel?

Om du antar att du har det vänstra dataområdet att du bara vill lista de unika namnen på kolumn B baserat på ett specifikt kriterium för kolumn A för att få resultatet enligt nedanstående skärmdump. Hur kan du hantera den här uppgiften snabbt och enkelt i Excel?

Extrahera unika värden baserat på kriterier med matrisformel

Extrahera unika värden baserat på flera kriterier med matrisformel

Extrahera unika värden från en lista över celler med en användbar funktion

 

Extrahera unika värden baserat på kriterier med matrisformel

För att lösa detta jobb kan du använda en komplex matrisformel, gör så här:

1. Ange nedanstående formel i en tom cell där du vill lista extraheringsresultatet, i det här exemplet lägger jag till cell E2 och trycker sedan på Skift + Ctrl + Enter för att få det första unika värdet.

=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. Dra sedan fyllningshandtaget ner till cellerna tills tomma celler visas, och nu har alla unika värden baserade på det specifika kriteriet listats, se skärmdump:

Notera: I ovanstående formel: B2: B15 är kolumnområdet innehåller de unika värdena som du vill extrahera från, A2: A15 är att kolumnen innehåller det kriterium du bygger på, D2 anger kriteriet som du vill lista de unika värdena baserat på, och E1 är cellen ovanför den angivna formeln.

Extrahera unika värden baserat på flera kriterier med matrisformel

Om du vill extrahera unika värden baserat på två villkor, här är en annan matrisformel som kan göra dig en tjänst, gör så här:

1. Ange formeln nedan i en tom cell där du vill lista de unika värdena, i det här exemplet lägger jag till cell G2 och trycker sedan på Skift + Ctrl + Enter för att få det första unika värdet.

=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. Dra sedan påfyllningshandtaget ner till cellerna tills tomma celler visas, och nu har alla unika värden baserade på de specifika två villkoren listats, se skärmdump:

Notera: I ovanstående formel: C2: C15 är kolumnområdet innehåller de unika värdena som du vill extrahera från, A2: A15 och E2 är det första intervallet med de kriterier som du vill extrahera unika värden baserat på, B2: B15 och F2 är det andra intervallet med de kriterier som du vill extrahera unika värden baserat på, och G1 är cellen ovanför den angivna formeln.

Extrahera unika värden från en lista över celler med en användbar funktion

Ibland vill du bara extrahera de unika värdena från en lista med celler, här rekommenderar jag ett användbart verktyg-Kutools för Excel, med dess Extrahera celler med unika värden (inkludera den första duplikaten) verktyget kan du snabbt extrahera de unika värdena.

Notera:Att tillämpa detta Extrahera celler med unika värden (inkludera den första duplikaten)För det första bör du ladda ner Kutools för Excel, och använd sedan funktionen snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Klicka på en cell där du vill mata ut resultatet. (Anmärkningar: Klicka inte på en cell i första raden.)

2. Klicka sedan Kutools > Formel Helper > Formel Helper, se skärmdump:

3. I Formlerhjälpare dialogrutan, gör följande:

  • Välja text alternativ från Formel Typ rullgardinsmeny;
  • Sedan Välj Extrahera celler med unika värden (inkludera den första duplikaten) från Välj en fromula listruta;
  • I den högra Argumentinmatning Välj en lista med celler som du vill extrahera unika värden.

4. Klicka sedan Ok -knappen, det första resultatet visas i cellen, välj sedan cellen och dra fyllningshandtaget över till cellerna som du vill lista alla unika värden tills tomma celler visas, se skärmdump:

Gratis nedladdning Kutools för Excel nu!


Fler relativa artiklar:

  • Räkna antalet unika och distinkta värden från en lista
  • Om du antar att du har en lång lista med värden med några dubbletter, nu vill du räkna antalet unika värden (värdena som visas i listan bara en gång) eller distinkta värden (alla olika värden i listan betyder det unikt värden + 1: a dubbla värden) i en kolumn som vänster skärmdump visas. Den här artikeln kommer jag att prata om hur man hanterar detta jobb i Excel.
  • Summa unika värden baserade på kriterier i Excel
  • Till exempel har jag en rad data som innehåller kolumnerna Namn och ordning, nu för att bara summera unika värden i kolumnen Order baserat på kolumnen Namn enligt följande skärmdump. Hur löser jag den här uppgiften snabbt och enkelt i Excel?
  • Sammankoppla unika värden i Excel
  • Om jag har en lång lista med värden som innehåller några dubbletter av data, vill jag nu bara hitta de unika värdena och sedan sammanfoga dem till en enda cell. Hur kunde jag hantera detta problem snabbt och enkelt i Excel?

De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (40)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, tack för den här handledningen, den fungerar perfekt. Jag försöker modifiera det så att det fungerar med ett OR-villkor, men det verkar inte fungera - är det möjligt? t.ex. =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))
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för denna handledning! Jag försöker också modifiera formeln, som kommentatorn ovan, men med ett AND-villkor så att den uppfyller ett annat villkorligt kriterium (t.ex. för det här exemplet skulle jag bara vilja se saker över en viss tröskel). Kan du ge råd? Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Ett sätt att göra det: Byt ut if-formeln med summaproduct((villkor1=rng1)+(villkor2=rng2))*countif(... Det fungerade för mig. Lycka till! Genom att ersätta + med en * kan du gör det till ett ELLER-villkor, men ta väl hand om fästena!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack, det här är jättebra!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för detta, jag har provat detta och verkar fungera bra med jämna mellanrum. Problemet som upprepas är att ibland bara det första matchade värdet kommer tillbaka och dupliceras sedan när jag drar nedåt för att returnera alla matchade värden. Hur förhindrar jag detta? Några förslag?
Denna kommentar minimerades av moderatoren på webbplatsen
Detta fungerar riktigt bra, men när värdet som den lägger in dupliceras, placerar det bara värdet en gång. Till exempel, om din lista hade två Lucy i den, tar den bara en Lucy över till det nya bordet. Finns det något sätt att fixa detta?
Denna kommentar minimerades av moderatoren på webbplatsen
När du använder den här formeln upprepas det första värdet hela tiden, hur får du det att sluta och tillhandahålla listan med värden som är lika med produkten i D2?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, för att stoppa det första värdet att upprepas när du drar nedåt måste du COUNTIF cellen OVAN cellen du sätter formeln i. Om formeln t.ex. går in i E2 måste du skriva countif($E$1:$E1...
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Ryan. Formler fungerar utmärkt, men när du drar nedåt fortsätter det första värdet att upprepas. Jag har sett till att COUNTIF refererar till cellen Ovanför cellen med formeln, men ändå upprepar det första värdet när du drar nedåt? (t.ex. om matrisformeln är i C2 pekar COUNTIF på cellen $C$1:$C$1)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Ryan. Formler fungerar utmärkt, men när du drar nedåt fortsätter det första värdet att upprepas. Jag har sett till att COUNTIF refererar till cellen Ovanför cellen med formeln, men ändå upprepar det första värdet när du drar nedåt? (t.ex. om matrisformeln är i C2 pekar COUNTIF på cellen $C$1:$C$1)
Denna kommentar minimerades av moderatoren på webbplatsen
Det fungerar förmodligen inte eftersom du har låst cellerna - Försök att ersätta $C$1:$C$1 med $C$1:$C1
Denna kommentar minimerades av moderatoren på webbplatsen
det här var väldigt användbart, men jag får hela tiden dubbletter av alla namn så här:
Doe, Jane
Doe, Jane
Hoover, Tom
Hoover, Tom

Hur kan jag stoppa det här?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag får felmeddelandet "#N/A" vid "Matchfunktion", kan du vägleda?
Denna kommentar minimerades av moderatoren på webbplatsen
=IF(AL2="AP","AP",IF(AK2="AD","AD",IF(Z2>500000,"Yes","No")))) Jag vill att "alla villkor" ska vara uppfyllda att säga ja...excel som återspeglar fel i denna formel...snälla råd
Denna kommentar minimerades av moderatoren på webbplatsen
faktiskt vill jag att cellen ska reflektera "JA" om (AL2="AP" och AK2="AD" och Z2>500000)
Denna kommentar minimerades av moderatoren på webbplatsen
Jag får #N/A-fel vid matchningsfunktionen med den här formeln. Kan du hjälpa mig?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, jag får felmeddelandet "#N/A" vid "Matchfunktion", kan du vägleda?
Denna kommentar minimerades av moderatoren på webbplatsen
Om du får #N/A-felet, gå till din formel och använd Control + Shift + Enter istället för Enter.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag får 0 istället för de förväntade resultaten, formeln fungerar utmärkt för data i samma ark, har du någon lösning för data i olika ark?

detta är min formel

=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)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Gon,
Efter att ha infogat formeln ska du trycka på Ctrl + Skift + Enter samtidigt, inte bara Enter-tangenten.
Prova gärna, tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Gon, jag hoppas att du mår bra. Jag undrar om du kan lösa detta problem. Jag får samma fel när formeln kommer från ett annat ark. Jag kommer att uppskatta att dela lösningen om du fick den.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skulle jag få den här formeln att returnera var och en av dubbletterna istället för ett av vart och ett av namnen? Till exempel, i exemplet ovan, hur skulle jag få resultatkolumnen (B:B) att returnera Lucy, Ruby, Anny, Jose, Lucy, Anny, Tom? Jag använder detta som ett budgetverktyg för att hämta specifika kontosammanfattningar från en huvudbok. Flera av beloppen och transaktionsbeskrivningarna är dock dubbletter i huvudboken. När det första av de dubblerade värdena har dragits dras inga fler av dem.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Joe,
För att extrahera alla motsvarande värden baserat på ett specifikt cellkriterium kan följande matrisformel hjälpa dig, se skärmdump:
=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))

När du har infogat formeln, tryck på Shift + Ctrl + Enter-tangenterna samtidigt för att få rätt resultat, och dra sedan fyllningshandtaget nedåt för att få alla värden.
Hoppas detta kan hjälpa dig, tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Än så länge är allt bra. Jag kan duplicera resultaten i testarket, göra ändringar i arrayen och sedan korrigera formeln för att ta hänsyn till de ändringar jag har gjort. Jag planerar att flytta in det här till masterarket idag och se hur det fungerar. Tack för hjälpen!
Denna kommentar minimerades av moderatoren på webbplatsen
Ok, så det fungerar i huvudarbetsboken. Det finns ett undantag som jag inte har kunnat fastställa orsaken till: Om arrayen (i mitt fall, huvudboken som jag hade från rad 3) inte börjar på rad 1, är de returnerade värdena felaktiga. Vad orsakar detta problem och vilken term i formeln löser det? Tack igen för din hjälp med detta!
Denna kommentar minimerades av moderatoren på webbplatsen
Sista fråga: Om jag vill att resultatkolumnen ska returnera alla värden som inte är associerade med KTE eller KTO (så D:D skulle vara Tom, Nocol, Lily, Angelina, Genna), hur skulle jag göra det?
Denna kommentar minimerades av moderatoren på webbplatsen
För mig fungerar inte formeln. Jag trycker på ctrl shift enter och jag får fortfarande ett felmeddelande N/A. Jag skulle vilja tillägga att jag förberedde exakt samma data som i handledningen. Vad är anledningen till att det inte fungerar?
Denna kommentar minimerades av moderatoren på webbplatsen
Detta har fungerat utmärkt för mig med ett specifikt uppslagsvärde. Men om jag ville använda ett jokertecken för att slå upp delvärden, hur skulle jag göra det? Till exempel, om jag vill slå upp alla namn som är associerade med KT?

Jag använder den här funktionen för att slå upp celler som innehåller flera texter. Till exempel om varje produkt också hade en underprodukt inom samma cell, men jag letade bara efter namn associerade med underprodukten "elf".

KTE - tomte
KTE- boll
KTE - piano
KTO - tomte
KTO- boll
KTO - piano
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att få det här att fungera samtidigt som man tillåter dubbletter av värden? Till exempel vill jag att alla instanser av Lucy ska listas i resultaten.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Konstantin,
För att extrahera alla motsvarande värden inklusive dubbletterna baserat på ett specifikt cellkriterium kan följande matrisformel hjälpa dig, se skärmdump:
=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))

När du har infogat formeln, tryck på Shift + Ctrl + Enter-tangenterna samtidigt för att få rätt resultat, och dra sedan fyllningshandtaget nedåt för att få alla värden.
Hoppas detta kan hjälpa dig, tack!
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL