Turinys
Šioje pamokoje nagrinėjama, kaip "Excel" programoje gauti unikalias reikšmes naudojant funkciją UNIQUE ir dinaminius masyvus. Išmoksite paprastą formulę, kaip rasti unikalias reikšmes stulpelyje ar eilutėje, keliuose stulpeliuose, pagal sąlygas ir daug daugiau.
Ankstesnėse "Excel" versijose unikalių reikšmių sąrašo išskyrimas buvo sudėtingas uždavinys. Turime specialų straipsnį, kuriame parodoma, kaip rasti unikalias reikšmes, kurios pasitaiko tik vieną kartą, išskirti visus skirtingus sąrašo elementus, ignoruoti tuščias vietas ir kt. Kiekvienai užduočiai atlikti reikėjo kartu naudoti kelias funkcijas ir kelių eilučių masyvo formulę, kurią iki galo suprasti gali tik "Excel" guru.
Funkcijos UNIQUE įdiegimas "Excel 365" pakeitė viską! Tai, kas anksčiau buvo raketų mokslas, tapo paprasta kaip ABC. Dabar jums nereikia būti formulių ekspertu, kad iš diapazono gautumėte unikalias reikšmes pagal vieną ar kelis kriterijus ir rezultatus išdėstytumėte abėcėlės tvarka. Viskas atliekama naudojant paprastas formules, kurias kiekvienas gali perskaityti ir pritaikyti savo poreikiams.
"Excel" UNIQUE funkcija
"Excel" funkcija UNIQUE grąžina unikalių reikšmių sąrašą iš diapazono arba masyvo. Ji veikia su bet kokio tipo duomenimis: tekstu, skaičiais, datomis, laikais ir t. t.
Ši funkcija priskiriama dinaminių masyvų funkcijoms. Rezultatas - dinaminis masyvas, kuris automatiškai išsilieja į kaimyninius langelius vertikaliai arba horizontaliai.
"Excel" funkcijos UNIQUE sintaksė yra tokia:
UNIQUE(masyvas, [by_col], [exactly_once])Kur:
Masyvas (privaloma) - diapazonas arba masyvas, iš kurio bus grąžinamos unikalios reikšmės.
Iki_col (neprivaloma) - loginė reikšmė, nurodanti, kaip lyginti duomenis:
- TRUE - lyginami duomenys tarp stulpelių.
- FALSE arba praleista (numatytoji reikšmė) - lyginami duomenys tarp eilučių.
Exactly_once (neprivaloma) - loginė reikšmė, apibrėžianti, kokios reikšmės laikomos unikaliomis:
- TRUE - grąžinamos reikšmės, kurios pasitaiko tik vieną kartą, t. y. duomenų bazės unikalumo sąvoka.
- FALSE arba praleista (numatytoji reikšmė) - grąžinamos visos skirtingos (skirtingos) reikšmės intervale arba masyve.
Pastaba. Šiuo metu UNIQUE funkcija galima tik "Excel" programose "Microsoft 365" ir "Excel 2021". 2019, 2016 ir ankstesnės versijos nepalaiko dinaminių masyvų formulių, todėl UNIQUE funkcija šiose versijose negalima.
Pagrindinė UNIQUE formulė programoje "Excel
Toliau pateikiama paprasčiausia "Excel" unikalių reikšmių formulė.
Tikslas - išskirti unikalių vardų sąrašą iš intervalo B2:B10. Šiuo tikslu į D2 įrašome šią formulę:
=UNIKALUS(B2:B10)
Atkreipkite dėmesį, kad 2-asis ir 3-iasis argumentai praleisti, nes mūsų atveju numatytosios reikšmės puikiai tinka - mes lyginame eilutes tarpusavyje ir norime grąžinti visus skirtingus pavadinimus diapazone.
Paspaudus klavišą Enter, kad užbaigtumėte formulę, "Excel" išves pirmą rastą pavadinimą D2, o kitus pavadinimus išmes į žemiau esančius langelius. Rezultatas - visos unikalios reikšmės yra stulpelyje:
Jei jūsų duomenys yra per stulpelius nuo B2 iki I2, nustatykite 2 argumentą TRUE, kad stulpeliai būtų lyginami tarpusavyje:
=UNIKALUS(B2:I2,TRUE)
Įveskite pirmiau pateiktą formulę į B4 langelį, paspauskite Enter , ir rezultatai horizontaliai išsilies į dešinėje esančius langelius. Taip gausite unikalias reikšmes vienoje eilutėje:
Patarimas. Norėdami rasti unikalias reikšmes kelių stulpelių masyvuose ir grąžinti jas viename stulpelyje arba eilutėje, naudokite UNIQUE kartu su TOCOL arba TOROW funkcija, kaip parodyta toliau pateiktuose pavyzdžiuose:
- Unikalių verčių išskyrimas iš kelių stulpelių diapazono į stulpelį
- Unikalių reikšmių ištraukimas iš kelių stulpelių diapazono į eilutę
"Excel" unikali funkcija - patarimai ir pastabos
UNIQUE yra nauja funkcija ir, kaip ir kitos dinaminių masyvų funkcijos, turi keletą ypatumų, kuriuos turėtumėte žinoti:
- Jei UNIQUE grąžinamas masyvas yra galutinis rezultatas (t. y. neperduodamas kitai funkcijai), "Excel" dinamiškai sukuria tinkamo dydžio intervalą ir užpildo jį rezultatais. Formulę reikia įvesti tik į viena ląstelė . Svarbu, kad apačioje ir (arba) dešinėje ląstelės, kurioje įvedate formulę, pusėje būtų pakankamai tuščių langelių, nes priešingu atveju įvyks #SPILL klaida.
- Rezultatai automatiškai atnaujinti Tačiau nauji įrašai, įtraukti už referuojamo masyvo ribų, į formulę neįtraukiami, nebent pakeistumėte masyvas nuoroda. Jei norite, kad masyvas automatiškai reaguoti į šaltinio diapazono dydžio keitimą, tada konvertuoti diapazoną į "Excel" lentelę ir naudoti struktūrines nuorodas arba sukurti dinamišką pavadintą diapazoną.
- Dinaminiai masyvai tarp skirtingų "Excel" failų veikia tik tada, kai abu sąsiuviniai yra atidaryti . Jei šaltinio sąsiuvinis uždarytas, susieta UNIQUE formulė grąžins #REF! klaidą.
- Kaip ir kitos dinaminių masyvų funkcijos, UNIQUE galima naudoti tik įprastame diapazonas , o ne lentelę. Įterpus ją į "Excel" lenteles, grąžinama #SPILL! klaida.
Kaip rasti unikalias vertes "Excel" programoje - formulių pavyzdžiai
Toliau pateiktuose pavyzdžiuose parodyta keletas praktinių funkcijos UNIQUE naudojimo būdų "Excel" programoje. Pagrindinė idėja - kuo paprasčiau išgauti unikalias reikšmes arba pašalinti pasikartojančias reikšmes, priklausomai nuo jūsų požiūrio.
Unikalių verčių, kurios pasitaiko tik vieną kartą, išskyrimas
Jei norite gauti sąrašą reikšmių, kurios tiksliai vieną kartą patenka į nurodytą intervalą, nustatykite, kad trečiasis argumentas UNIQUE būtų TRUE.
Pavyzdžiui, norėdami vieną kartą ištraukti laimėtojų sąraše esančius vardus, naudokite šią formulę:
=UNIKALUS(B2:B10,,TRUE)
Kai B2:B10 yra šaltinio diapazonas, o 2-asis argumentas ( by_col ) yra FALSE arba praleista, nes mūsų duomenys yra suskirstyti eilutėmis.
Rasti skirtingas reikšmes, kurios pasitaiko daugiau nei vieną kartą
Jei siekiate priešingo tikslo, t. y. norite gauti sąrašą reikšmių, kurios tam tikrame intervale atsiranda daugiau nei vieną kartą, tuomet naudokite UNIQUE funkciją kartu su FILTER ir COUNTIF:
UNIQUE(FILTRAS( diapazonas , COUNTIF( diapazonas , diapazonas )>1))Pavyzdžiui, norėdami išskirti skirtingus pavadinimus, kurie B2:B10 yra daugiau nei vieną kartą, galite naudoti šią formulę:
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
Kaip veikia ši formulė:
Formulės esmė - FILTER funkcija filtruoja pasikartojančius įrašus, remdamasi COUNTIF funkcijos grąžinamu pasikartojimų skaičiumi. Mūsų atveju COUNTIF rezultatas yra šis skaičių masyvas:
{4;1;3;4;4;1;3;4;3}
Palyginimo operacija (>1) pakeičia pirmiau pateiktą masyvą į TRUE ir FALSE reikšmes, kur TRUE reiškia elementus, kurie pasirodo daugiau nei vieną kartą:
{TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE}
Šis masyvas perduodamas filtrui FILTER kaip įtraukti argumentas, nurodantis funkcijai, kokias reikšmes įtraukti į gautą masyvą:
{"Andrew"; "David"; "Andrew"; "Andrew"; "David"; "Andrew"; "David"}
Kaip matote, išlieka tik TRUE atitinkančios reikšmės.
Pirmiau pateiktas masyvas patenka į masyvas argumentą UNIQUE, o pašalinus dublikatus išvedamas galutinis rezultatas:
{"Andrew"; "David"}
Patarimas. Panašiai galite filtruoti unikalias reikšmes, kurios pasitaiko daugiau nei du kartus (>2), daugiau nei tris kartus (>3) ir t. t. Tam tiesiog pakeiskite skaičių loginiame palyginime.
Rasti unikalias reikšmes keliuose stulpeliuose (unikaliose eilutėse)
Jei norite palyginti du ar daugiau stulpelių ir grąžinti unikalias jų reikšmes, įtraukite visus tikslinius stulpelius į masyvas argumentas.
Pavyzdžiui, norėdami grąžinti unikalų laimėtojų vardą (A stulpelis) ir pavardę (B stulpelis), E2 laukelyje įrašome šią formulę:
=UNIKALUS(A2:B10)
Paspaudus klavišą Enter, gaunami tokie rezultatai:
Norėdami gauti unikalios eilutės , t. y. įrašai su unikalia A, B ir C stulpelių reikšmių kombinacija, reikia naudoti šią formulę:
=UNIKALUS(A2:C10)
Nuostabiai paprasta, ar ne? :)
Gauti unikalių verčių, surūšiuotų abėcėlės tvarka, sąrašą
Kaip paprastai "Excel" programoje sudarinėjate abėcėlę? Teisingai, naudodami integruotą rūšiavimo arba filtravimo funkciją. Problema yra ta, kad reikia iš naujo rūšiuoti kiekvieną kartą, kai keičiasi šaltinio duomenys, nes kitaip nei "Excel" formulės, kurios perskaičiuojamos automatiškai po kiekvieno darbo lapo pakeitimo, funkcijas reikia iš naujo taikyti rankiniu būdu.
Įdiegus dinamines masyvų funkcijas, šios problemos nebeliko! Reikia tiesiog iškraipyti SORT funkciją aplink įprastą UNIQUE formulę, pvz., taip:
SORT(UNIQUE(masyvas))Pavyzdžiui, norėdami išskirti unikalias reikšmes stulpeliuose nuo A iki C ir išdėstyti rezultatus nuo A iki Z, naudokite šią formulę:
=SORT(UNIQUE(A2:C10))
Palyginti su pirmiau pateiktu pavyzdžiu, išvestį daug lengviau suvokti ir su ja dirbti. Pavyzdžiui, aiškiai matome, kad Andrius ir Deividas tapo dviejų skirtingų sporto šakų nugalėtojais.
Patarimas. Šiame pavyzdyje 1-ojo stulpelio reikšmes surūšiavome nuo A iki Z. Tai yra numatytoji SORT funkcijos reikšmė, todėl pasirinktinai sort_index ir sort_order Jei norite rūšiuoti rezultatus pagal kitą stulpelį arba kita tvarka (nuo Z iki A arba nuo didžiausio iki mažiausio), nustatykite 2 ir 3 argumentus, kaip paaiškinta SORT funkcijos vadovėlyje.
Rasti unikalias reikšmes keliuose stulpeliuose ir sujungti į vieną ląstelę
Kai ieškote keliuose stulpeliuose, pagal numatytuosius nustatymus "Excel" funkcija UNIQUE kiekvieną reikšmę pateikia atskiroje ląstelėje. Galbūt jums patogiau rezultatus pateikti vienoje ląstelėje?
Norėdami tai pasiekti, užuot pateikę nuorodą į visą diapazoną, stulpelius sujungkite ampersandu (&) ir tarp jų įterpkite norimą skirtuką.
Pavyzdžiui, sujungiame vardus, esančius A2:A10, ir pavardes, esančias B2:B10, atskirdami reikšmes tarpo ženklu (" "):
=UNIQUE(A2:A10&" "&B2:B10)
Rezultatas - viename stulpelyje pateikiamas vardų ir pavardžių sąrašas:
Gauti unikalių reikšmių sąrašą pagal kriterijus
Norėdami išgauti unikalias reikšmes su sąlyga, naudokite "Excel" UNIQUE ir FILTER funkcijas kartu:
- Funkcija FILTRAS apriboja duomenis tik tomis reikšmėmis, kurios atitinka sąlygą.
- Funkcija UNIQUE iš filtruojamo sąrašo pašalina pasikartojimus.
Pateikiame bendrą filtruotų unikalių reikšmių formulės versiją:
UNIQUE(FILTER(masyvas, kriterijų_diapazonas = kriterijai ))Šiame pavyzdyje gaukime konkrečios sporto šakos nugalėtojų sąrašą. Pirmiausia į tam tikrą langelį, tarkime, F1, įveskime dominančią sporto šaką, o tada naudodami toliau pateiktą formulę gaukime unikalius vardus:
=UNIKALUS(FILTRAS(A2:B10, C2:C10=F1))
Kai A2:B10 yra diapazonas, kuriame ieškoma unikalių reikšmių, o C2:C10 yra diapazonas, kuriame tikrinami kriterijai.
Filtruoti unikalias reikšmes pagal kelis kriterijus
Norėdami filtruoti unikalias reikšmes pagal dvi ar daugiau sąlygų, naudokite toliau pateiktas išraiškas, kad sudarytumėte reikiamus FILTER funkcijos kriterijus:
UNIQUE(FILTER(masyvas, ( kriterijus_range1 = kriterijai1 ) * ( kriterijai_diapazonas2 = kriterijai2 )))Formulės rezultatas yra unikalių įrašų, kurių visos nurodytos sąlygos yra TRUE, sąrašas. "Excel" programoje tai vadinama AND logika.
Kad pamatytumėte, kaip veikia formulė, sudarykite unikalių G1 sporto šakos (1 kriterijus) ir G2 amžiaus (2 kriterijus) nugalėtojų sąrašą.
Kai šaltinio intervalas yra A2:B10, sporto šakos - C2:C10 (1 kriterijaus intervalas), o amžius - D2:D10 (2 kriterijaus intervalas), formulė yra tokia:
=UNIKALUS(FILTRAS(A2:B10, (C2:C10=G1) * (D2:D10
Ir grąžina būtent tuos rezultatus, kurių ieškome:
Kaip veikia ši formulė:
Toliau pateikiamas aukšto lygio formulės logikos paaiškinimas:
Į įtraukti funkcijos FILTER argumentas, pateikiamos dvi ar daugiau diapazono ir kriterijų porų. Kiekvienos loginės išraiškos rezultatas yra TRUE ir FALSE reikšmių masyvas. Dauginant masyvus, loginės reikšmės paverčiamos skaičiais ir gaunamas 1 ir 0 masyvų masyvas. Kadangi dauginant iš nulio visada gaunamas nulis, galutiniame masyve 1 yra tik tie įrašai, kurie atitinka visas sąlygas.funkcija išfiltruoja elementus, atitinkančius 0, ir perduoda rezultatus UNIQUE.
Daugiau informacijos rasite skyriuje FILTRAS su keliais kriterijais naudojant AND logiką.
Filtruoti unikalias reikšmes naudojant kelis kriterijus OR
Norėdami gauti unikalių reikšmių sąrašą pagal kelis OR kriterijus, t. y. kai šis OR kriterijus yra TRUE, logines išraiškas ne dauginkite, o sudėkite:
UNIQUE(FILTER(masyvas, ( kriterijus_range1 = kriterijai1 ) + ( kriterijai_diapazonas2 = kriterijai2 )))Pavyzdžiui, norėdami parodyti laimėtojus Futbolas arba Ledo ritulys , galite naudoti šią formulę:
=UNIQUE(FILTER(A2:B10, (C2:C10="Futbolas") + (C2:C10="Ledo ritulys")))
Jei reikia, kriterijus galite įrašyti į atskirus langelius ir daryti nuorodas į tuos langelius, kaip parodyta toliau:
=UNIKALUS(FILTRAS(A2:B10, (C2:C10=G1) + (C2:C10=G2)))
Kaip veikia ši formulė:
Panašiai kaip ir tikrinant kelis AND kriterijus, kelias logines išraiškas įrašykite į įtraukti funkcijos FILTER argumentas, iš kurių kiekvienas grąžina TRUE ir FALSE reikšmių masyvą. Sudėjus šiuos masyvus, elementai, kurių vienas ar daugiau kriterijų yra TRUE, turės 1, o elementai, kurių visi kriterijai yra FALSE, turės 0. Todėl bet kuris įrašas, atitinkantis bet kurią sąlygą, patenka į masyvą, kuris perduodamas UNIQUE.
Daugiau informacijos rasite skyriuje FILTRAS su keliais kriterijais naudojant OR logiką.
Unikalių verčių gavimas "Excel" programoje ignoruojant tuščias vietas
Jei dirbate su duomenų rinkiniu, kuriame yra tam tikrų spragų, tikėtina, kad unikumų sąraše, gautame naudojant įprastą formulę, bus tuščių langelių ir (arba) nulinių reikšmių. Taip atsitinka todėl, kad "Excel" funkcija UNIQUE sukurta taip, kad grąžintų visas skirtingas diapazono reikšmes, įskaitant tuščius langelius. Taigi, jei jūsų šaltinio diapazone yra ir nulių, ir tuščių langelių, unikumų sąraše bus 2 nuliai, o vienas iš jų reikš tuščią langelį.Be to, jei šaltinio duomenyse yra tuščių eilučių, kurias grąžina tam tikra formulė, uique sąraše taip pat bus tuščia eilutė (""), kuri vizualiai atrodo kaip tuščias langelis:
Norint gauti unikalių reikšmių sąrašą be tuščių vietų, reikia atlikti šiuos veiksmus:
- Filtruokite tuščius langelius ir tuščias eilutes naudodami funkciją FILTER.
- Naudokite UNIQUE funkciją, kad rezultatai būtų apriboti tik unikaliomis reikšmėmis.
Bendra formulė atrodo taip:
UNIQUE(FILTRAS( diapazonas , diapazonas ""))Šiame pavyzdyje D2 formulė yra tokia:
=UNIKALUS(FILTRAS(B2:B12, B2:B12""))
Dėl to "Excel" grąžina unikalių pavadinimų sąrašą be tuščių langelių:
Pastaba. Jei pradiniuose duomenyse yra nuliai , į unikalų sąrašą bus įtraukta viena nulinė reikšmė.
Ieškoti unikalių verčių tam tikruose stulpeliuose
Kartais galite norėti išskirti unikalias reikšmes iš dviejų ar daugiau stulpelių, kurie nėra greta vienas kito. Kartais taip pat galite norėti pakeisti stulpelių eiliškumą gautame sąraše. Abi užduotis galima atlikti naudojant funkciją CHOOSE.
UNIQUE(PASIRINKTI({1,2,...}, diapazonas1 , diapazonas2 ))Tarkime, kad iš mūsų pavyzdinės lentelės norite gauti laimėtojų sąrašą pagal A ir C stulpelių reikšmes ir išdėstyti rezultatus tokia tvarka: pirmiausia sporto šaka (C stulpelis), o tada sportininko vardas (A stulpelis). Kad tai padarytumėte, sudarykite šią formulę:
=UNIKALUS(CHOOSE({1,2}, C2:C10, A2:A10))
Ir gausite tokį rezultatą:
Kaip veikia ši formulė:
Funkcija CHOOSE grąžina 2 dimensijų reikšmių masyvą iš nurodytų stulpelių. Mūsų atveju ji taip pat pakeičia stulpelių eiliškumą.
{"Krepšinis", "Andrew"; "Krepšinis", "Betty"; "Tinklinis", "David"; "Krepšinis", "Andrew"; "Ledo ritulys", "Andrew"; "Futbolas", "Robert"; "Tinklinis", "David"; "Ledo ritulys", "Andrew"; "Krepšinis", "David"}
Iš pirmiau pateikto masyvo funkcija UNIQUE grąžina unikalių įrašų sąrašą.
Rasti unikalias reikšmes ir tvarkyti klaidas
Šioje pamokoje aptartos UNIQUE formulės veikia puikiai... jei yra bent viena reikšmė, atitinkanti nurodytus kriterijus. Jei formulė nieko neranda, atsiranda #CALC! klaida:
Kad taip neatsitiktų, paprasčiausiai į formulę įtraukite funkciją IFERROR.
Pavyzdžiui, jei kriterijų atitinkančių unikalių reikšmių nerasta, galite nerodyti nieko, t. y. tuščios eilutės (""):
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Arba galite aiškiai informuoti naudotojus, kad rezultatų nerasta:
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Neveikia "Excel" UNIQUE funkcija
Kaip matote, atsiradus UNIQUE funkcijai, unikalių reikšmių paieška "Excel" programoje tapo neįtikėtinai paprasta. Jei staiga jūsų formulėje atsiranda klaida, greičiausiai tai bus viena iš šių priežasčių.
#NAME?
Pasitaiko, jei naudojate UNIQUE formulę "Excel" versijoje, kurioje ši funkcija nepalaikoma.
Šiuo metu funkcija UNIQUE veikia tik "Excel 365" ir 2021 m. Jei naudojate kitą versiją, tinkamą sprendimą galite rasti šioje pamokoje: Kaip gauti unikalias reikšmes "Excel 2019", "Excel 2016" ir ankstesnėse versijose.
Klaida #NAME? palaikomose versijose rodo, kad funkcijos pavadinimas parašytas neteisingai.
#SPILL klaida
Pasitaiko, jei vienas ar daugiau išsiliejimo intervalo langelių nėra visiškai tušti.
Norėdami ištaisyti klaidą, tiesiog išvalykite arba ištrinkite ne tuščius langelius. Norėdami pamatyti, kurie tiksliai langeliai trukdo, spustelėkite klaidos indikatorių, tada spustelėkite Pasirinkite trukdančias ląsteles . Daugiau informacijos rasite skyriuje #SPILL! klaida "Excel" programoje - priežastys ir pataisymai.
Štai kaip rasti unikalias vertes "Excel" programoje. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!
Atsisiųsti praktikos sąsiuvinį
"Excel" unikalių reikšmių formulių pavyzdžiai (.xlsx failas)