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

Sådan udtrækkes unikke værdier fra flere kolonner i Excel?

Hvis du antager, at du har flere kolonner med flere værdier, gentages nogle værdier i samme kolonne eller anden kolonne. Og nu vil du kun finde de værdier, der findes i en af ​​kolonnerne en gang. Er der nogle hurtige tricks til at udtrække unikke værdier fra flere kolonner i Excel?


Uddrag unikke værdier fra flere kolonner med matrixformel

Her er en matrixformel, der også kan hjælpe dig med at udtrække de unikke værdier fra flere kolonner.

1. Antages dine værdier inden for rækkevidde A2: C9, indtast venligst følgende formel i celle 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"),)&""

Bemærk: I ovenstående formel A2: C9 angiver det celleområde, som du vil udtrække de unikke værdier, E1: E1 er den første celle i den kolonne, du vil placere resultatet, $ 2: $ 9 står foran rækkerne indeholder de celler, du vil bruge, og $ A: $ C angiver, at kolonnerne indeholder de celler, du vil bruge. Skift dem til dine egne.

2. Tryk derefter på Skift + Ctrl + Enter nøgler sammen, og træk derefter fyldhåndtaget for at udtrække de unikke værdier, indtil tomme celler vises. Se skærmbillede:


Uddrag unikke værdier fra flere kolonner med pivottabel

Hvis du er fortrolig med pivottabellen, kan du nemt udtrække de unikke værdier fra flere kolonner med følgende trin:

1. Indsæt først en ny tom kolonne til venstre for dine data. I dette eksempel indsætter jeg kolonne A ved siden af ​​de originale data.

2. Klik på en celle i dine data, og tryk på Alt + D tasterne, og tryk derefter på P nøgle med det samme for at åbne Pivottabel og PivotChart-guide, vælg Flere konsolideringsområder i guiden trin 1, se skærmbillede:

3. Klik derefter på Næste knappen, tjek Opret et enkelt sidefelt for mig mulighed i guiden trin 2, se skærmbillede:

4. Fortsæt med at klikke Næste Klik for at vælge det dataområde, der inkluderer den nye venstre kolonne af celler, og klik derefter på Tilføj for at tilføje dataområdet til Alle intervaller listefelt, se skærmbillede:

5. Når du har valgt dataområdet, skal du klikke videre Næstei guiden trin 3 skal du vælge, hvor du vil placere pivottabellen, som du vil.

6. Endelig skal du klikke på Finish for at fuldføre guiden, og der er oprettet en pivottabel i det aktuelle regneark, og fjern derefter markeringen fra alle felter fra Vælg felter, der skal tilføjes til rapporten sektion, se skærmbillede:

7. Kontroller derefter feltet Værdi eller træk værdien til Rækker etiket, nu får du de unikke værdier fra de flere kolonner som følger:


Uddrag unikke værdier fra flere kolonner med VBA-kode

Med den følgende VBA-kode kan du også udtrække de unikke værdier fra flere kolonner.

1. Hold nede ALT + F11 tasterne, og det åbner Vinduet Microsoft Visual Basic til applikationer.

2. Klik indsatte > Moduler, og indsæt følgende kode i modulvinduet.

VBA: Uddrag unikke værdier fra flere kolonner

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. Tryk derefter på F5 for at køre denne kode, og der vises et promptfelt for at minde dig om at vælge det dataområde, du vil bruge. Se skærmbillede:

4. Og klik derefter på OK, vises en anden promptboks, der giver dig mulighed for at vælge et sted at placere resultatet, se skærmbillede:

5. Klik OK for at lukke denne dialog, og alle de unikke værdier er blevet ekstraheret på én gang.


Uddrag unikke værdier fra en enkelt kolonne med en fantastisk funktion

Nogle gange er du nødt til at udtrække de unikke værdier fra en enkelt kolonne, ovenstående metoder hjælper dig ikke, her kan jeg anbefale et nyttigt værktøj-Kutools til Excel, Med Uddrag celler med unikke værdier (medtag det første duplikat) værktøj, kan du hurtigt udtrække de unikke værdier.

Bemærk:At anvende dette Uddrag celler med unikke værdier (medtag det første duplikat)For det første skal du downloade Kutools til Excel, og anvend derefter funktionen hurtigt og nemt.

Efter installation Kutools til Excelskal du gøre som dette:

1. Klik på en celle, hvor du vil sende resultatet. (Bemærk: Klik ikke på en celle i første række.)

2. Klik derefter på Kutools > Formelhjælper > Formelhjælper, se skærmbillede:

3. I Formler hjælper dialogboksen, skal du udføre følgende handlinger:

  • Type tekst mulighed fra Formula Type rulleliste
  • Vælg derefter Uddrag celler med unikke værdier (medtag det første duplikat) fra Vælg en fromula listefelt;
  • I højre side Argumenter input sektion, skal du vælge en liste over celler, som du vil udtrække unikke værdier.

4. Klik derefter på Ok knap, og træk påfyldningshåndtaget over til de celler, som du vil liste alle de unikke værdier, indtil tomme celler vises, se skærmbillede:

Gratis download Kutools til Excel nu!


Flere relative artikler:

  • Tæl antallet af unikke og tydelige værdier fra en liste
  • Antag, du har en lang liste med værdier med nogle duplikatelementer, nu vil du tælle antallet af unikke værdier (de værdier, der kun vises på listen en gang) eller forskellige værdier (alle forskellige værdier på listen betyder det unikt værdier + 1. duplikatværdier) i en kolonne som vist venstre skærmbillede. Denne artikel vil jeg tale om, hvordan man håndterer dette job i Excel.
  • Uddrag unikke værdier baseret på kriterier i Excel
  • Antag, at du har følgende dataområde, som du kun vil liste de unikke navne på kolonne B baseret på et specifikt kriterium i kolonne A for at få resultatet som vist nedenstående skærmbillede. Hvordan kunne du håndtere denne opgave i Excel hurtigt og nemt?
  • Tillad kun unikke værdier i Excel
  • Hvis du kun vil beholde unikke værdier i en kolonne i regnearket og forhindre duplikater, introducerer denne artikel nogle hurtige tricks, som du kan håndtere denne opgave.
  • Summen af ​​unikke værdier baseret på kriterier i Excel
  • For eksempel har jeg en række data, der indeholder kolonner Navn og ordre nu for kun at opsummere unikke værdier i kolonnen Ordre baseret på kolonnen Navn som vist nedenstående skærmbillede. Sådan løses denne opgave hurtigt og nemt i Excel?

De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (31)
Bedømt 5 ud af 5 · 1 vurderinger
Denne kommentar blev minimeret af moderatoren på webstedet
Is this formula complete? =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"),)&"",
Denne kommentar blev minimeret af moderatoren på webstedet
Dette er ikke løst endnu :sad:
Denne kommentar blev minimeret af moderatoren på webstedet
hvilket spild af tid..... formel virker IKKE
Denne kommentar blev minimeret af moderatoren på webstedet
Tak skal du have!!! Jeg har brugt timer på at prøve at gøre dette og finde ud af, hvad der skete med Pivot Wizard (anden artikel).
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg bruger din VBA-kode, men vil ikke have, at boksen dukker op. I stedet vil jeg definere præcist hvilket celleområde der skal bruges hver gang og præcis hvilken boks der skal placeres output i. Inputområdet og output ville være på to forskellige ark. hvordan opdaterer jeg VBA for at gøre det? Tak skal du have!!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej! Er der nogen, der ved, hvorfor denne formel ser ud til at føre til en fejl efter række 87? Ligesom, det fungerer perfekt og så på et vist tidspunkt returnerer det mig bare fejl for hver række.. hvilket er det værste! Fordi jeg er så tæt på præcis, hvad jeg har brug for her...
Denne kommentar blev minimeret af moderatoren på webstedet
=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"),)&"" It doesn't work
Denne kommentar blev minimeret af moderatoren på webstedet
hej jeg vil udtrække unikke celler fra første kolonne, når jeg sammenligner den med en anden kolonne (jeg har tre ulige kolonner), hvordan kan jeg gøre det?
Denne kommentar blev minimeret af moderatoren på webstedet
hej jeg har tre ulige kolonner og ønsker at udtrække unikke celler i første kolonne. hvordan kan jeg gøre det?? tak på forhånd
Denne kommentar blev minimeret af moderatoren på webstedet
jeg elsker

Udtræk unikke værdier fra flere kolonner med pivottabel
Denne kommentar blev minimeret af moderatoren på webstedet
Kan du venligst indsende den korrekte formel... VBA-funktionen fungerer fint.
Bare til mit projekt bruger jeg hellere den rigtige formel.


Tak
Denne kommentar blev minimeret af moderatoren på webstedet
er der nogen, der ved, for outputtet, hvordan man laver det til flere linjer, men ikke til en linje? (i øjeblikket opnås et resultat af en linje med workheetfunction.transpose, men det, jeg ønsker at opnå (som resultat), er, at når der vælges for 3 kolonner, er det returnerede resultat også 3 kolonner, i stedet for en
Denne kommentar blev minimeret af moderatoren på webstedet
Denne matrixformel er KORREKT. Data i kolonne A til C, første resultatformel i celle D2... Denne er forskellig fra andre matrixformler, hvor den senere er kopiere formel ned og Ctrl+Shift+Enter alle formler. Denne matrixformel skal dog udføres med Ctrl+Shift+Enter i første celle og kopiere ned.
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak til makroen!!! me fue muy util
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har tilpasset mit ark, men returnerer kun den første værdi i det definerede array... hvad mangler jeg?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Cody,
Ovenstående formel fungerer godt i mit regneark, kan du give et skærmbillede af dit dataproblem her?
Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Med hensyn til formelversionen, kan du forklare mere detaljeret, hvad denne del gør? *100+COLUMN($A:$C),7^8)),"R0C00") Hvad er specifikt * 100, 7 ^ 8og "R0C000" gør? Jeg forstår alt andet, men jeg kan ikke finde ud af, hvad de er til.
Denne kommentar blev minimeret af moderatoren på webstedet
Lidt sent med mit svar her, men...
ROW($2:$9)*100 - dette er at gange rækkenummeret *100, så hvis det er i række 5, er tallet nu 500
COLUMN($A:$C) - dette føjes til række*100-tallet, så hvis det er række 5, kolonne 2, så er tallet 502.
7^8)), - dette (tror jeg) er at have en max værdi for min-sætningen fra tidligere.
"R0C00") - dette formaterer teksten baseret på nummeret. I eksemplet havde vi 502, så dette giver R5C02 (række 5, kol. 02).

Hvis du har mange kolonner, men ikke mange rækker, kan du ændre det til ROW($2:$9)*1000+KOLONNE($A:$C),7^8)),"R0C000")
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for koden. Jeg bruger VBA-koden på denne side. Er der en måde at tilføje en sorteringskode, efter at de unikke værdier er udtrukket, så den sorterer den automatisk?
Denne kommentar blev minimeret af moderatoren på webstedet
kan vi oprette uniqdata funktion i stedet for makro?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, İlhan,Hvis du kan lide en brugerdefineret funktion til at oprette en formel til at løse dette problem, kan nedenstående kode måske hjælpe dig: Når du har indsat koden, skal du vælge en liste over celler, hvor du vil placere resultaterne. Skriv derefter denne formel:=Unik(A1:C4)  i formellinjen. Tryk på Ctrl + Shift + Enter nøgler sammen. 


Function Uniques(ByVal inputRange As Range)
Dim inputArray As Variant
Dim myColl As New Collection
Dim xVal As Variant
Dim outArray() As Variant
On Error Resume Next
With inputRange
inputArray = Application.Intersect(.Cells, .Parent.UsedRange).Value
End With
On Error GoTo 0
On Error Resume Next
For Each xVal In inputArray
myColl.*** Item:=xVal, Key:=(CStr(xVal) & TypeName(xVal))
Next xVal
myColl.Remove "String"
On Error GoTo 0
ReDim outArray(1 To Application.Max(myColl.Count, Application.Caller.Cells.Count))
For xVal = 1 To UBound(outArray)
outArray(xVal) = vbNullString
Next xVal
For xVal = 1 To Application.Min(myColl.Count, Application.Caller.Cells.Count)
outArray(xVal) = myColl(xVal)
Next xVal
If Application.Caller.Columns.Count = 1 Then
Uniques = Application.Transpose(outArray)
Else
Uniques = outArray
End If
End Function
Denne kommentar blev minimeret af moderatoren på webstedet
Czy at żart?
Denne kommentar blev minimeret af moderatoren på webstedet
Matrixformlen øverst fungerer godt, når den bruges med data i samme ark, men når jeg prøver at bruge den til at referere til de samme nøjagtige data fra et andet ark, returnerer formlen intet. Jeg kan ikke finde ud af hvorfor. Er der en begrænsning med array-funktioner, der forhindrer dig i at henvise til områder i et andet ark?

Tak for enhver indsigt du kan give.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Erin,

Glad for at hjælpe. Funktionen INDIREKTE i denne formel er mere kompliceret at bruge, når der refereres til data i andre regneark. Det anbefales ikke at bruge denne funktion, når der refereres til områder i forskellige arbejdsark.

For eksempel: Nu er dataene i Ark1, jeg vil referere til indholdet af celle C2 i Ark1 i Ark2. Først skal du indtaste Sheet2 og C1 i to vilkårlige celler i Sheet2, såsom D1 og D2. På dette tidspunkt skal du indtaste formlen i den tomme celle i Ark2:
=INDIREKTE("'"&D1&"'!"&D2), så kan indholdet af celle C2 i Ark1 returneres.

Som du kan se, gør det tingene meget mere komplekse. Håber min forklaring kan hjælpe. Hav en god dag.

Med venlig hilsen,
Mandy
Denne kommentar blev minimeret af moderatoren på webstedet
Goddag hr! VBA gjorde underværker, mange tak for det! Jeg spekulerede på, hvis jeg ændrer de originale data, er det så muligt at opdatere kolonnen med de unikke værdier automatisk?
Bedømt 5 ud af 5
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Ioannis,

Glad for at hjælpe. Når du har ændret de originale data, kan VBA'en ikke automatisk opdatere resultatet. Og den nemmeste måde, jeg kan komme i tanke om, er at trykke på Ctrl + Alt + F9 for at opdatere alle resultater i regneark i alle åbne projektmapper. Hav en god dag.

Med venlig hilsen,
Mandy
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for denne fantastiske artikel.

For folk, der bruger matrixformular i ikke-engelsk Excel der skal tages særligt hensyn til tekstformatstrengen: i dit eksempel: "R0C00".
For tysk ville dette oversættes til "Z0S00". Men "S" er et specialtegn, der refererer til sekunder for tidsformatering. Dette tegn skal escapes, og derfor er den korrekte formatstreng for tysk Excel "Z0\S00".

Jeg håber, at dette kan hjælpe nogen i fremtiden :-)
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL