Sisukord
Õpetuses vaadeldakse, kuidas saada unikaalseid väärtusi Excelis, kasutades funktsiooni UNIQUE ja dünaamilisi massiive. Õpid lihtsat valemit, et leida unikaalseid väärtusi veerus või reas, mitmes veerus, tingimuste alusel ja palju muud.
Exceli varasemates versioonides oli unikaalsete väärtuste loendi väljavõtmine raske ülesanne. Meil on spetsiaalne artikkel, mis näitab, kuidas leida unikaalseid väärtusi, mis esinevad vaid üks kord, võtta välja kõik erinevad elemendid loendis, ignoreerida tühikuid ja muud. Iga ülesanne nõudis mitme funktsiooni ja mitme rea massiivi valemi kombineeritud kasutamist, mida ainult Exceli gurud saavad täielikult mõista.
Funktsiooni UNIQUE kasutuselevõtt Excel 365-s on muutnud kõike! See, mis varem oli raketiteadus, muutub lihtsaks nagu ABC. Nüüd ei pea olema valemite ekspert, et saada vahemikust ühe või mitme kriteeriumi alusel unikaalseid väärtusi ja järjestada tulemused tähestikulises järjekorras. Kõik on tehtud lihtsate valemitega, mida igaüks saab lugeda ja kohandada vastavalt oma vajadustele.
Exceli UNIQUE funktsioon
Exceli funktsioon UNIQUE tagastab vahemiku või massiivi unikaalsete väärtuste loendi. See töötab mis tahes andmetüübiga: tekst, numbrid, kuupäevad, ajad jne.
Funktsioon on liigitatud Dünaamiliste massiividega funktsioonide alla. Tulemuseks on dünaamiline massiivi, mis laieneb automaatselt vertikaalselt või horisontaalselt naaberrakudesse.
Exceli funktsiooni UNIQUE süntaks on järgmine:
UNIQUE(array, [by_col], [exactly_once])Kus:
Array (nõutav) - vahemik või massiivi, millest tagastatakse unikaalsed väärtused.
By_col (valikuline) - loogiline väärtus, mis näitab, kuidas andmeid võrrelda:
- TRUE - võrdleb andmeid veergude lõikes.
- FALSE või jäetakse välja (vaikimisi) - võrdleb andmeid ridade lõikes.
Exactly_once (valikuline) - loogiline väärtus, mis määrab, milliseid väärtusi peetakse unikaalseks:
- TRUE - tagastab väärtused, mis esinevad ainult üks kord, mis on andmebaasi mõistes unikaalne.
- FALSE või jäetakse välja (vaikimisi) - tagastab kõik erinevad (erinevad) väärtused vahemikus või massiivi.
Märkus. Praegu on funktsioon UNIQUE saadaval ainult Excel for Microsoft 365 ja Excel 2021. Excel 2019, 2016 ja varasemad versioonid ei toeta dünaamilisi massiivi valemeid, seega ei ole funktsioon UNIQUE nendes versioonides saadaval.
Basic UNIQUE valem Excelis
Allpool on esitatud Exceli unikaalsete väärtuste valem kõige lihtsamal kujul.
Eesmärgiks on eraldada unikaalsete nimede nimekiri vahemikust B2:B10. Selleks sisestame D2-sse järgmise valemi:
=UNIQUE(B2:B10)
Pange tähele, et 2. ja 3. argument on välja jäetud, sest vaikeväärtused töötavad meie puhul suurepäraselt - me võrdleme ridu omavahel ja soovime tagastada kõik erinevad nimed vahemikus.
Kui vajutate valemi täitmiseks Enter-klahvi, väljastab Excel esimese leitud nime D2-sse, mis valab teised nimed allolevatesse lahtritesse. Tulemusena on teil kõik unikaalsed väärtused veerus:
Juhul kui teie andmed on üle veerude B2 kuni I2, seadke 2. argumendi väärtuseks TRUE, et võrrelda veerge üksteisega:
=UNIQUE(B2:I2,TRUE)
Sisestage ülaltoodud valem B4, vajutage Enter , ja tulemused valguvad horisontaalselt paremal asuvatesse lahtritesse. Seega saate unikaalsed väärtused reas:
Näpunäide. Selleks, et leida unikaalseid väärtusi mitme veeruga massiividest ja tagastada need ühes veerus või reas, kasutage funktsiooni UNIQUE koos funktsiooniga TOCOL või TOROW, nagu on näidatud alljärgnevates näidetes:
- Unikaalsete väärtuste väljavõtmine mitme veeru vahemikust veergu
- Tõmmake unikaalsed väärtused mitme veeru vahemikust reale
Exceli funktsioon UNIQUE - näpunäited ja märkused
UNIQUE on uus funktsioon ja nagu teistelgi dünaamilistel massiivi funktsioonidel on mõned eripärad, mida peaksite teadma:
- Kui UNIQUE poolt tagastatav massiivi on lõpptulemus (st ei anta edasi mõnele teisele funktsioonile), loob Excel dünaamiliselt sobiva suurusega vahemiku ja täidab selle tulemustega. Valem tuleb sisestada vaid üks rakk Oluline on, et teil oleks piisavalt tühje lahtreid allpool ja/või paremal lahtrist, kuhu sisestate valemi, vastasel juhul tekib #SPILL-viga.
- Tulemused uuendatakse automaatselt kui lähteandmed muutuvad. Siiski ei kaasata valemisse uusi kirjeid, mis on lisatud väljaspool viidatud massiivi, välja arvatud juhul, kui te ei muuda valemit massiivi viide. Kui soovite, et massiivi et reageerida automaatselt lähtevahemiku suuruse muutmisele, siis teisendada vahemik Exceli tabeliks ja kasutada struktureeritud viiteid või luua dünaamiline nimega vahemik.
- Dünaamilised massiivid erinevate Exceli failide vahel toimivad ainult siis, kui mõlemad töövihikud on avatud Kui lähtetööraamat on suletud, annab seotud UNIQUE-valem tagasi vea #REF!
- Nagu ka teisi dünaamilisi massiivi funktsioone, saab UNIQUE kasutada ainult tavalises vahemik , mitte tabel. Kui see pannakse Exceli tabelite sisse, annab see tagasi #SPILL! vea.
Kuidas leida unikaalseid väärtusi Excelis - valemite näited
Allpool toodud näidetes on toodud mõned praktilised kasutusvõimalused funktsioonile UNIQUE Excelis. Põhiidee on, sõltuvalt teie vaatenurgast, võimalikult lihtsal viisil unikaalsete väärtuste väljavõtmine või duplikaatide eemaldamine.
Eraldage unikaalsed väärtused, mis esinevad ainult üks kord
Et saada nimekiri väärtustest, mis esinevad määratud vahemikus täpselt üks kord, määra UNIQUE'i 3. argumendiks TRUE.
Näiteks võitjate nimekirjas olevate nimede ühekordseks väljavõtmiseks kasutage järgmist valemit:
=UNIQUE(B2:B10,,TRUE)
Kus B2:B10 on allikate vahemik ja 2. argument ( by_col ) on FALSE või jäetakse välja, sest meie andmed on korraldatud ridadena.
Leia erinevad väärtused, mis esinevad rohkem kui üks kord
Kui teil on vastupidine eesmärk, st soovite saada nimekirja väärtustest, mis esinevad antud vahemikus rohkem kui üks kord, siis kasutage funktsiooni UNIQUE koos funktsioonidega FILTER ja COUNTIF:
UNIQUE(FILTER( vahemik , COUNTIF( vahemik , vahemik )>1))Näiteks, et eraldada erinevaid nimesid, mis esinevad B2:B10-s rohkem kui üks kord, saate kasutada järgmist valemit:
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
Kuidas see valem töötab:
Valemi keskmes on funktsioon FILTER, mis filtreerib dubleerivad kirjed välja esinemiste arvu alusel, mis tagastatakse funktsiooniga COUNTIF. Meie puhul on COUNTIFi tulemus see loenduste massiivi:
{4;1;3;4;4;1;3;4;3}
Võrdlusoperatsioon (>1) muudab ülaltoodud massiivi väärtusteks TRUE ja FALSE, kus TRUE tähistab elemente, mis esinevad rohkem kui üks kord:
{TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE}
See massiivi antakse FILTERile üle kui lisada argument, mis ütleb funktsioonile, milliseid väärtusi tulemuseks olevasse massiivi lisada:
{"Andrew"; "David"; "Andrew"; "Andrew"; "David"; "Andrew"; "David"}
Nagu näete, jäävad alles ainult väärtused, mis vastavad TRUE.
Ülaltoodud massiivi läheb massiivi argument UNIQUE ja pärast duplikaatide eemaldamist väljastab see lõpptulemuse:
{"Andrew"; "David"}
Vihje. Samamoodi saate filtreerida unikaalseid väärtusi, mis esinevad rohkem kui kaks korda (>2), rohkem kui kolm korda (>3) jne. Selleks lihtsalt muutke loogilises võrdluses olevat arvu.
Leia unikaalsed väärtused mitmes veerus (unikaalsed read)
Olukorras, kus soovite võrrelda kahte või enamat veergu ja tagastada nende vahelised unikaalsed väärtused, lisage kõik sihtveergud faili massiivi argument.
Näiteks võitjate unikaalse eesnime (veerg A) ja perekonnanime (veerg B) tagastamiseks sisestame järgmise valemi E2-sse:
=UNIQUE(A2:B10)
Enter-klahvi vajutamine annab järgmised tulemused:
Et saada unikaalsed read , st kirjed, mille väärtuste kombinatsioon on veergudes A, B ja C unikaalne, on see valem, mida tuleb kasutada:
=UNIQUE(A2:C10)
Hämmastavalt lihtne, kas pole? :)
Saada nimekiri unikaalsetest väärtustest, mis on sorteeritud tähestikulises järjekorras.
Kuidas te tavaliselt Excelis tähestikku sorteerite? Õige, kasutades sisseehitatud sorteerimis- või filtreerimisfunktsiooni. Probleem on selles, et te peate iga kord, kui teie lähteandmed muutuvad, uuesti sorteerima, sest erinevalt Exceli valemitest, mis arvutatakse automaatselt ümber iga muutuse korral töölehel, tuleb funktsioone käsitsi uuesti rakendada.
Dünaamiliste massiivi funktsioonide kasutuselevõtuga on see probleem kadunud! Mida sa pead tegema, on lihtsalt SORT funktsiooni ümber tavalise UNIQUE valemi, näiteks nii:
SORT(UNIQUE(array))Näiteks selleks, et eraldada veergude A kuni C unikaalsed väärtused ja järjestada tulemused A-st Z-ni, kasutage seda valemit:
=SORT(UNIQUE(A2:C10))
Võrreldes ülaltoodud näitega on väljundit palju lihtsam tajuda ja sellega töötada. Näiteks näeme selgelt, et Andrew ja David on olnud võitjad kahel erineval spordialal.
Vihje. Selles näites sorteerisime 1. veeru väärtused A-st Z-ni. Need on SORT funktsiooni vaikeväärtused, seega on valikuline sort_index ja sort_order argumendid jäetakse ära. Kui soovite tulemusi sorteerida mõne muu veeru järgi või erinevas järjekorras (Z-st A-sse või suurimast väikseimasse), seadke 2. ja 3. argument, nagu on selgitatud funktsiooni SORT õpetuses.
Leia mitmes veerus unikaalsed väärtused ja ühenda need ühte lahtrisse
Kui otsite mitmes veerus, väljastab Exceli funktsioon UNIQUE vaikimisi iga väärtuse eraldi lahtrisse. Võib-olla on teile mugavam, kui tulemused on ühes lahtris?
Selle saavutamiseks kasutage kogu vahemikule viitamise asemel veergude ühendamiseks ampersandi (&) ja pange soovitud eraldaja vahele.
Näitena ühendame eesnimed A2:A10 ja perekonnanimed B2:B10, eraldades väärtused tühikuga (" "):
=UNIQUE(A2:A10&" "&B2:B10)
Tulemusena on meil ühes veerus täisnimede nimekiri:
Saada kriteeriumide alusel unikaalsete väärtuste nimekiri
Tingimusega unikaalsete väärtuste väljavõtmiseks kasutage Exceli funktsioone UNIQUE ja FILTER koos:
- Funktsioon FILTER piirab andmeid ainult tingimustele vastavate väärtustega.
- Funktsioon UNIQUE eemaldab filtreeritud loendist duplikaadid.
Siin on filtreeritud unikaalsete väärtuste valemi üldine versioon:
UNIQUE(FILTER(array, kriteeriumid_vahemik = kriteeriumid ))Selle näite jaoks saame nimekirja konkreetse spordiala võitjatest. Alustuseks sisestame huvipakkuva spordiala mõnda lahtrisse, näiteks F1. Ja seejärel kasutame allpool esitatud valemit, et saada unikaalsed nimed:
=UNIQUE(FILTER(A2:B10, C2:C10=F1))
Kus A2:B10 on vahemik, mille puhul otsitakse unikaalseid väärtusi, ja C2:C10 on vahemik, mille puhul kontrollitakse kriteeriume.
Filtreeri unikaalseid väärtusi mitme kriteeriumi alusel
Et filtreerida unikaalseid väärtusi kahe või enama tingimusega, kasutage väljendeid nagu allpool näidatud, et koostada funktsiooni FILTER jaoks vajalikud kriteeriumid:
UNIQUE(FILTER(array, ( kriteeriumid_vahemik1 = kriteeriumid1 ) * ( kriteeriumid_vahemik2 = kriteeriumid2 )))Valemi tulemus on selliste unikaalsete kirjete loetelu, mille puhul kõik määratud tingimused on TRUE. Exceli mõistes nimetatakse seda AND-loogikaks.
Selleks, et näha valemit toimimas, koostame nimekirja spordiala unikaalsetest võitjatest G1 (kriteerium 1) ja alla vanuse G2 (kriteerium 2).
Kui lähtepiirkond on A2:B10, spordiala C2:C10 (kriteeriumid_vahemik 1) ja vanus D2:D10 (kriteeriumid_vahemik 2), on valem järgmine:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Ja tagastab täpselt need tulemused, mida me otsime:
Kuidas see valem töötab:
Siin on valemi loogika kõrgetasemeline selgitus:
In the lisada funktsiooni FILTER argumendiks on kaks või enam vahemiku/kriteeriumi paari. Iga loogilise väljendi tulemus on TRUE ja FALSE väärtuste massiivi. Massiivide korrutamine sunnib loogilised väärtused numbriteks ja annab massiivi 1 ja 0. Kuna nulliga korrutamine annab alati nulli, on lõplikus massiivi ainult need kirjed, mis vastavad kõigile tingimustele, 1. FILTERfunktsioon filtreerib välja elemendid, mis vastavad 0-le, ja annab tulemused üle UNIQUE-le.
Lisateavet leiate jaotisest FILTER mitme kriteeriumiga AND-loogika abil.
Filtreeri unikaalseid väärtusi mitme OR-kriteeriumi abil
Et saada mitme VÕI-kriteeriumil põhinevate unikaalsete väärtuste loetelu, st kui see VÕI-kriteerium on TRUE, liita loogilised väljendid nende korrutamise asemel kokku:
UNIQUE(FILTER(array, ( kriteeriumid_vahemik1 = kriteeriumid1 ) + ( kriteeriumid_vahemik2 = kriteeriumid2 )))Näiteks, et näidata võitjaid kas või Jalgpall või Hoki võite kasutada seda valemit:
=UNIQUE(FILTER(A2:B10, (C2:C10="Soccer") + (C2:C10="Hockey")))
Vajaduse korral võite muidugi sisestada kriteeriumid eraldi lahtritesse ja viidata nendele lahtritele, nagu allpool näidatud:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) + (C2:C10=G2)))
Kuidas see valem töötab:
Nii nagu mitme AND-kriteeriumi testimisel, paigutad sa mitu loogilist väljendit sisse lisada funktsiooni FILTER argument, millest igaüks tagastab TRUE ja FALSE väärtuste massiivi. Kui need massiivid liidetakse kokku, saavad elemendid, mille puhul üks või mitu kriteeriumi on TRUE, väärtuseks 1 ja elemendid, mille puhul kõik kriteeriumid on FALSE, väärtuseks 0. Selle tulemusena satub iga kirje, mis vastab mõnele tingimusele, massiivi, mis antakse üle UNIQUE'ile.
Lisateavet leiate jaotisest FILTER mitme kriteeriumiga, kasutades VÕI-logikat.
Saada unikaalsed väärtused Excelis, ignoreerides tühikuid
Kui te töötate andmekogumiga, mis sisaldab lünki, on tavalise valemiga saadud unikaalsete väärtuste loendis tõenäoliselt tühi lahter ja/või nullväärtus. See juhtub seetõttu, et Exceli funktsioon UNIQUE on loodud tagastama kõiki erinevaid väärtusi vahemikus, sealhulgas tühikuid. Seega, kui teie lähtevahemikus on nii nulle kui ka tühje lahtreid, sisaldab unikaalne loend 2 nulli, millest üks esindab tühja lahtrit.lahter ja teine - nullväärtus ise. Lisaks sellele, kui lähteandmed sisaldavad mõne valemi abil tagastatud tühje stringisid, sisaldab uique loend ka tühja stringi (""), mis visuaalselt näeb välja nagu tühi lahter:
Selleks, et saada ilma tühikuteta unikaalsete väärtuste nimekiri, tuleb teha järgmist:
- Filtreerige tühjad lahtrid ja tühjad stringid välja, kasutades funktsiooni FILTER.
- Kasutage funktsiooni UNIQUE, et piirata tulemusi ainult unikaalsete väärtustega.
Üldisel kujul näeb valem välja järgmiselt:
UNIQUE(FILTER( vahemik , vahemik ""))Selles näites on valem D2:
=UNIQUE(FILTER(B2:B12, B2:B12""))
Tulemusena annab Excel tagasi unikaalsete nimede nimekirja ilma tühjade lahtriteta:
Märkus. Kui algandmed sisaldavad nullid , lisatakse üks nullväärtus unikaalsesse loetellu.
Konkreetsete veergude unikaalsete väärtuste leidmine
Mõnikord võite soovida eraldada unikaalseid väärtusi kahest või enamast veerust, mis ei ole üksteisega kõrvuti. Mõnikord võite ka soovida saadud loendis veerusid ümber järjestada. Mõlemat ülesannet saab täita funktsiooni CHOOSE abil.
UNIQUE(CHOOSE({1,2,...}, vahemik1 , vahemik2 ))Oletame, et meie näidistabelist soovitakse saada võitjate nimekiri, mis põhineb veergude A ja C väärtustel, ning järjestada tulemused sellises järjekorras: kõigepealt spordiala (veerg C) ja seejärel sportlase nimi (veerg A). Selleks konstrueerime järgmise valemi:
=UNIQUE(CHOOSE({1,2}, C2:C10, A2:A10))
Ja saada järgmine tulemus:
Kuidas see valem töötab:
Funktsioon CHOOSE tagastab määratud veergude väärtuste 2-dimensioonilise massiivi. Meie puhul vahetab see ka veergude järjekorda.
{"Korvpall", "Andrew"; "Korvpall", "Betty"; "Võrkpall", "David"; "Korvpall", "Andrew"; "Hoki", "Andrew"; "Jalgpall", "Robert"; "Võrkpall", "David"; "Hoki", "Andrew"; "Korvpall", "David"}
Ülaltoodud massiivist tagastab funktsioon UNIQUE unikaalsete kirjete nimekirja.
Ainulaadsete väärtuste leidmine ja vigade käsitlemine
Selles õpetuses käsitletud UNIQUE-valemid töötavad suurepäraselt... eeldusel, et on olemas vähemalt üks väärtus, mis vastab määratud kriteeriumidele. Kui valem ei leia midagi, tekib #CALC! viga:
Selle vältimiseks mähkige oma valem lihtsalt funktsiooniga IFERROR.
Näiteks kui kriteeriumidele vastavaid unikaalseid väärtusi ei leita, võite kuvada midagi, st tühja stringi (""):
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Või saate kasutajatele selgelt teatada, et tulemusi ei ole leitud:
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Exceli UNIQUE funktsioon ei tööta
Nagu nägite, on funktsiooni UNIQUE tekkimine muutnud unikaalsete väärtuste leidmise Excelis uskumatult lihtsaks. Kui teie valem annab äkki vea, on see tõenäoliselt üks järgmistest.
#NAME? error
Tekib, kui kasutate UNIQUE valemit Exceli versioonis, kus seda funktsiooni ei toetata.
Praegu on funktsioon UNIQUE saadaval ainult Excel 365 ja 2021. Kui teil on mõni muu versioon, võite leida sobiva lahenduse sellest õpetusest: Kuidas saada unikaalseid väärtusi Excel 2019, Excel 2016 ja varasemates versioonides.
Viga #NAME? toetatud versioonides näitab, et funktsiooni nimi on valesti kirjutatud.
#SPILL viga
Tekib, kui üks või mitu lahtrit väljavoolupiirkonnas ei ole täiesti tühjad.
Vea parandamiseks tuleb lihtsalt tühjendada või kustutada mitte-tühjad lahtrid. Et näha, millised lahtrid täpselt takerduvad, klõpsake veaindikaatoril ja seejärel klõpsake nuppu Valige takistavad rakud Lisateavet leiate jaotisest #SPILL! viga Excelis - põhjused ja parandused.
Nii leitakse Excelis unikaalsed väärtused. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!
Praktiline töövihik allalaadimiseks
Exceli unikaalsete väärtuste valemite näited (.xlsx fail)