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

Cum se extrag valori unice din mai multe coloane din Excel?

Presupunând că aveți mai multe coloane cu valori multiple, unele valori se repetă în aceeași coloană sau coloană diferită. Și acum doriți să găsiți valorile care sunt prezente în ambele coloane o singură dată. Există trucuri rapide pentru a extrage valori unice din mai multe coloane din Excel?


Extrageți valori unice din mai multe coloane cu formula matrice

Iată o formulă matrice, de asemenea, vă poate ajuta să extrageți valorile unice din mai multe coloane.

1. Presupunând valorile dvs. în interval A2: C9, vă rugăm să introduceți următoarea formulă în celula 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"),)&""

notițe: În formula de mai sus, A2: C9 indică intervalul de celule pe care doriți să extrageți valorile unice, E1: E1 este prima celulă a coloanei pe care doriți să plasați rezultatul, $ 2: $ 9 standurile de lângă rânduri conțin celulele pe care doriți să le utilizați și $ A: $ C indică coloanele care conțin celulele pe care doriți să le utilizați. Vă rugăm să le schimbați la ale dvs.

2. Apoi apăsați Shift + Ctrl + Enter tastele împreună, apoi glisați mânerul de umplere pentru a extrage valorile unice până când apar celule goale. Vedeți captura de ecran:


Extrageți valori unice din mai multe coloane cu Tabelul pivot

Dacă sunteți familiarizat cu tabelul pivot, puteți extrage cu ușurință valorile unice din mai multe coloane urmând pașii următori:

1. La început, vă rugăm să introduceți o nouă coloană goală în partea stângă a datelor dvs., în acest exemplu, voi insera coloana A lângă datele originale.

2. Faceți clic pe o celulă din datele dvs. și apăsați Alt + D , apoi apăsați P tasta imediat pentru a deschide PivotTable și PivotChart Wizard, alege Intervalele multiple de consolidare în pasul 1 al vrăjitorului, vezi captura de ecran:

3. Apoi apasa Pagina Următoare → buton, verificați Creează-mi un singur câmp de pagină opțiunea din pasul 2 al vrăjitorului, vezi captura de ecran:

4. Continuați să faceți clic Pagina Următoare → buton, faceți clic pentru a selecta intervalul de date care include noua coloană stângă de celule, apoi faceți clic pe Adăuga pentru a adăuga intervalul de date la Toate gamele casetă listă, vezi captura de ecran:

5. După selectarea intervalului de date, continuați să faceți clic Pagina Următoare →, în pasul 3 al vrăjitorului, alegeți unde doriți să puneți raportul PivotTable după cum doriți.

6. În cele din urmă, faceți clic pe finalizarea pentru a finaliza vrăjitorul și a fost creat un tabel pivot în foaia de lucru curentă, apoi debifați toate câmpurile din Alegeți câmpurile pe care să le adăugați la raport secțiune, vezi captura de ecran:

7. Apoi verificați câmpul Valoare sau trageți valoarea la Rânduri etichetă, acum veți obține valorile unice din mai multe coloane după cum urmează:


Extrageți valori unice din mai multe coloane cu cod VBA

Cu următorul cod VBA, puteți extrage, de asemenea, valorile unice din mai multe coloane.

1. Țineți apăsat butonul ALT + F11 tastele și deschide fișierul Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în fereastra modulului.

VBA: extrageți valori unice din mai multe coloane

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. Apoi apăsați F5 pentru a rula acest cod și va apărea o casetă de solicitare pentru a vă reaminti să selectați intervalul de date pe care doriți să îl utilizați. Vedeți captura de ecran:

4. Apoi faceți clic pe OK, va apărea o altă casetă de solicitare pentru a vă permite să alegeți un loc pentru a pune rezultatul, a se vedea captura de ecran:

5. Clic OK pentru a închide acest dialog și toate valorile unice au fost extrase simultan.


Extrageți valori unice dintr-o singură coloană cu o caracteristică uimitoare

Uneori, trebuie să extrageți valorile unice dintr-o singură coloană, metodele de mai sus nu vă vor ajuta, aici, vă pot recomanda un instrument util-Kutools pentru Excel, Cu său Extrageți celule cu valori unice (includeți primul duplicat) utilitar, puteți extrage rapid valorile unice.

Notă:Pentru a aplica acest lucru Extrageți celule cu valori unice (includeți primul duplicat), în primul rând, ar trebui să descărcați fișierul Kutools pentru Excel, apoi aplicați caracteristica rapid și ușor.

După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:

1. Faceți clic pe o celulă în care doriți să afișați rezultatul. (notițe: Nu faceți clic pe o celulă din primul rând.)

2. Apoi apasa Kutools > Formula Helper > Formula Helper, vezi captura de ecran:

3. În Ajutor pentru formule caseta de dialog, vă rugăm să efectuați următoarele operații:

  • Selectați Text opțiune de la Formulă Tip lista verticală;
  • Atunci alege Extrageți celule cu valori unice (includeți primul duplicat) de la Alegeți o fromula casetă listă;
  • In dreapta Argumente de intrare secțiune, selectați o listă de celule pe care doriți să extrageți valori unice.

4. Apoi apasa Ok și trageți mânerul de umplere peste celulele pe care doriți să le afișați toate valorile unice până când sunt afișate celulele goale, vedeți captura de ecran:

Descărcați gratuit Kutools pentru Excel acum!


Mai multe articole relative:

  • Numărați numărul de valori unice și distincte dintr-o listă
  • Presupunând că aveți o listă lungă de valori cu unele elemente duplicate, acum doriți să numărați numărul de valori unice (valorile care apar în listă o singură dată) sau valorile distincte (toate valorile diferite din listă, înseamnă unic valori + primele valori duplicate) într-o coloană așa cum este afișat ecranul din stânga. În acest articol, voi vorbi despre cum să rezolvați această sarcină în Excel.
  • Extrageți valori unice pe baza criteriilor din Excel
  • Să presupunem că aveți următorul interval de date pe care doriți să le enumerați numai numele unice ale coloanei B pe baza unui criteriu specific al coloanei A pentru a obține rezultatul așa cum este prezentat mai jos. Cum ați putea face față acestei sarcini în Excel rapid și ușor?
  • Permiteți numai valori unice în Excel
  • Dacă doriți să păstrați doar valori unice care intră într-o coloană a foii de lucru și să preveniți duplicatele, acest articol vă va introduce câteva trucuri rapide pentru a vă ocupa de această sarcină.
  • Suma valorilor unice pe baza criteriilor din Excel
  • De exemplu, am o serie de date care conține coloane Nume și comandă, acum, pentru a însuma doar valorile unice în coloana Comandă pe baza coloanei Nume, după cum se arată în următoarea captură de ecran. Cum să rezolvați această sarcină rapid și ușor în Excel?

Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (31)
Evaluat 5 din 5 · evaluări 1
Acest comentariu a fost redus la minimum de moderatorul de pe site
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"),)&"",
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru nu este încă rezolvat :sad:
Acest comentariu a fost redus la minimum de moderatorul de pe site
ce pierdere de timp..... formula NU merge
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc!!! Am petrecut ore întregi încercând să fac asta și să-mi dau seama ce s-a întâmplat cu Pivot Wizard (alt articol).
Acest comentariu a fost redus la minimum de moderatorul de pe site
Folosesc codul dvs. VBA, dar nu vreau să apară caseta. În schimb, vreau să definesc exact ce interval de celule să utilizez de fiecare dată și exact în ce casetă să introduc ieșirea. Intervalul de intrare și de ieșire ar fi pe două foi diferite. cum actualizez VBA pentru a face acest lucru? Mulțumesc!!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hei! Știe cineva de ce această formulă pare să ducă la o eroare după rândul 87? Ca, funcționează perfect și apoi la un anumit moment îmi returnează erori pentru fiecare rând.. care este cel mai rău! Pentru că sunt atât de aproape de exact ceea ce am nevoie aici...
Acest comentariu a fost redus la minimum de moderatorul de pe site
=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
Acest comentariu a fost redus la minimum de moderatorul de pe site
salut, vreau să extrag celule unice din prima coloană când o compar cu alte coloane (am trei coloane inegale), cum pot face asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
salut, am trei coloane inegale și vreau să extrag celule unice din prima coloană. cum pot sa fac?? mulțumesc anticipat
Acest comentariu a fost redus la minimum de moderatorul de pe site
Îmi place

Extrageți valori unice din mai multe coloane cu tabel pivot
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă rog, puteți trimite formula corectă... funcția VBA funcționează bine.
Doar pentru proiectul meu, folosesc mai degrabă formula corectă.


mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
știe cineva, pentru ieșire, cum se face în mai multe linii, dar nu într-o singură linie? (în prezent, un rezultat de linie este obținut de worksheetfunction.transpose, dar ceea ce vreau să obțin (ca rezultat) este că atunci când selectez pentru 3 coloane, rezultatul returnat sunt, de asemenea, 3 coloane, în loc de una
Acest comentariu a fost redus la minimum de moderatorul de pe site
Această formulă matrice este CORECTĂ. Date în coloanele A la C, primul rezultat formulă în celula D2... Aceasta este diferită de altă formulă matrice, care mai târziu este copiați formula în jos și Ctrl+Shift+Enter toate formulele. Cu toate acestea, această formulă matrice ar trebui făcută Ctrl+Shift+Enter în prima celulă și copiați în jos.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc mult de la macro!!! me fue muy util
Acest comentariu a fost redus la minimum de moderatorul de pe site
M-am adaptat la foaia mea, dar returnez doar prima valoare din matricea definită... ce îmi lipsește?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Cody,
Formula de mai sus funcționează bine în foaia mea de lucru, ați putea oferi aici o captură de ecran a problemei dvs. de date?
Mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
În ceea ce privește versiunea formulei, ați putea explica mai detaliat ce face această porțiune? *100+COLUMN($A:$C),7^8)),"R0C00") Mai exact, care sunt * 100, 7 ^ 8, și „R0C000” face? Înțeleg orice altceva, dar nu îmi pot da seama pentru ce sunt acestea.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cam târziu pentru răspunsul meu aici, dar...
ROW($2:$9)*100 - aceasta înseamnă înmulțirea numărului rândului *100, deci dacă este în rândul 5, acum numărul este 500
COLUMN($A:$C) - aceasta este adăugată la numărul rândului*100, deci dacă este rândul 5 col 2, atunci numărul este 502.
7^8)), - aceasta (cred) trebuie să aibă o valoare maximă pentru declarația min de mai devreme.
„R0C00”) - aceasta formatează textul pe baza numărului. În exemplu, am avut 502, astfel încât acesta dă R5C02 (rândul 5, col. 02).

Dacă aveți multe coloane, dar nu multe rânduri, atunci îl puteți schimba în ROW($2:$9)*1000+COLUMN($A:$C),7^8)),"R0C000")
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc pentru cod. Folosesc codul VBA al acestei pagini. Există o modalitate de a adăuga un cod de sortare după ce valorile unice sunt extrase, astfel încât să îl sorteze automat?
Acest comentariu a fost redus la minimum de moderatorul de pe site
putem crea funcția uniqdata în loc de macro?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, İlhan,Dacă doriți ca o funcție definită de utilizator să creeze o formulă pentru rezolvarea acestei probleme, codul de mai jos vă poate ajuta: După introducerea codului, selectați o listă de celule în care doriți să puneți rezultatele. Apoi tastați această formulă:=Unici(A1:C4)  în bara de formule.Apăsați Ctrl + Shift + Enter cheile împreună. 


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
Acest comentariu a fost redus la minimum de moderatorul de pe site
Czy to żart?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Formula matrice din partea de sus funcționează excelent atunci când este folosită cu date din aceeași foaie, totuși, când încerc să o folosesc pentru a face referire la aceleași date exacte dintr-o altă foaie, formula nu returnează nimic. Nu pot să-mi dau seama de ce. Există o limitare a funcțiilor de matrice care vă împiedică să faceți referire la intervale într-o altă foaie?

Vă mulțumim pentru orice informație pe care o puteți oferi.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Erin,

Bucuros sa ajut. Funcția INDIRECT din această formulă este mai complicat de utilizat atunci când se face referire la date din alte foi de lucru. Nu este recomandat să utilizați această caracteristică atunci când faceți referire la intervale în foi de lucru diferite.

De exemplu: Acum datele sunt în Sheet1, vreau să fac referire la conținutul celulei C2 din Sheet1 din Sheet2. Mai întâi, în oricare două celule din Sheet2, cum ar fi D1 și D2, introduceți Sheet1 și, respectiv, C2. În acest moment, introduceți formula în celula goală din Sheet2:
=INDIRECT("'"&D1&"'!"&D2), atunci poate fi returnat conținutul celulei C2 din Sheet1.

După cum puteți vedea, face lucrurile mult mai complexe. Sper că explicația mea poate ajuta. O zi plăcută.

Cu sinceritate,
Mandy
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna ziua domnule! VBA a făcut minuni, mulțumesc foarte mult pentru asta! Mă întrebam, dacă schimb datele originale, este posibil să reîmprospătesc automat coloana cu valorile unice?
Evaluat 5 din 5
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Ioannis,

Bucuros sa ajut. După ce modificați datele originale, VBA nu poate reîmprospăta automat rezultatul. Și cel mai simplu mod la care mă pot gândi este să apăs Ctrl + Alt + F9 pentru a reîmprospăta toate rezultatele din foile de lucru din toate registrele de lucru deschise. O zi plăcută.

Cu sinceritate,
Mandy
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumim pentru acest articol minunat.

Pentru persoanele care folosesc formularul de matrice în Excel non-engleză trebuie avută o grijă deosebită pentru șirul de format text: în exemplul dvs.: „R0C00”.
Pentru germană, acest lucru s-ar traduce prin „Z0S00”. Cu toate acestea, „S” este un caracter special care se referă la secunde pentru formatarea timpului. Acest caracter trebuie să fie eliminat și, prin urmare, șirul de format corect pentru Excel german este „Z0\S00”.

Sper sa ajute pe cineva pe viitor :-)
Nu există comentarii postate aici încă
Încărcați mai

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL