Turinys
Tai paskutinė "Excel" unikalių verčių serijos dalis, kurioje parodoma, kaip, naudojant formulę, stulpelyje gauti išskirtinių / unikalių verčių sąrašą ir kaip šią formulę pritaikyti skirtingiems duomenų rinkiniams. Taip pat sužinosite, kaip greitai gauti išskirtinių verčių sąrašą naudojant "Excel" išplėstinį filtrą ir kaip išskirti unikalias eilutes naudojant "Duplicate Remover".
Keliuose neseniai pasirodžiusiuose straipsniuose aptarėme įvairius unikalių verčių skaičiavimo ir radimo "Excel" programoje būdus. Jei turėjote galimybę perskaityti tuos vadovėlius, jau žinote, kaip gauti unikalų arba išskirtinį sąrašą nustatant, filtruojant ir kopijuojant. Tačiau tai šiek tiek ilgas ir toli gražu ne vienintelis būdas išgauti unikalias vertes "Excel" programoje. Tai galite padaryti daug greičiau, naudodami specialią formulę, o po akimirkosParodysiu jums šį ir keletą kitų būdų.
Patarimas. Norėdami greitai gauti unikalias reikšmes naujausioje "Excel 365" versijoje, palaikančioje dinaminius masyvus, naudokite funkciją UNIQUE, kaip paaiškinta pirmiau pateiktoje pamokoje.
Kaip gauti unikalias vertes "Excel" programoje
Kad išvengtume painiavos, pirmiausia susitarkime, ką "Excel" programoje vadiname unikaliomis reikšmėmis. Unikalios vertės tai reikšmės, kurios sąraše yra tik vieną kartą. Pavyzdžiui:
Norėdami "Excel" programoje išvesti unikalių reikšmių sąrašą, naudokite vieną iš šių formulių.
Masyvas unikalių reikšmių formulė (užbaigiama paspaudus Ctrl + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1,$A$2:$A$10) + (COUNTIF($A$2:$A$10, $A$2:$A$10)1), 0)), "")
Įprasta unikalių verčių formulę (baigiama paspaudžiant Enter):
=IFERROR(INDEX($A$2:$A$10, MATCH(0,INDEX(COUNTIF($B$1:B1, $A$2:$A$10)+(COUNTIF($A$2:$A$10, $A$2:$A$10)1),0,0), 0)), "")
Pirmiau pateiktose formulėse naudojamos šios nuorodos:
- A2:A10 - šaltinių sąrašas.
- B1 - unikalaus sąrašo viršutinė ląstelė, atėmus 1. Šiame pavyzdyje unikalų sąrašą pradedame B2 ląstelėje, todėl į formulę įrašome B1 (B2-1=B1). Jei jūsų unikalus sąrašas prasideda, tarkime, C3 ląstelėje, tada pakeiskite $B$1:B1 į $C$2:C2.
Pastaba. Kadangi formulėje pateikiama nuoroda į ląstelę, esančią virš pirmosios unikalaus sąrašo ląstelės, kuri paprastai yra stulpelio antraštė (šiame pavyzdyje - B1), įsitikinkite, kad jūsų antraštė turi unikalų pavadinimą, kurio nėra niekur kitur stulpelyje.
Šiame pavyzdyje iš A stulpelio (tiksliau, iš diapazono A2:A20) išgauname unikalius vardus, o toliau pateiktoje ekrano nuotraukoje demonstruojama veikianti masyvo formulė:
Išsamus formulės logikos paaiškinimas pateikiamas atskirame skyriuje, o čia rasite, kaip naudoti formulę unikalioms reikšmėms "Excel" darbalapiuose išgauti:
- Pakeiskite vieną iš formulių pagal savo duomenų rinkinį.
- Į pirmąjį unikalaus sąrašo langelį (šiame pavyzdyje - B2) įrašykite formulę.
- Jei naudojate masyvo formulę, spauskite Ctrl + Shift + Enter . Jei pasirinkote įprastą formulę, kaip įprasta, spauskite klavišą Enter.
- Nukopijuokite formulę žemyn tiek, kiek reikia, vilkdami užpildymo rankenėlę. Kadangi abi unikalių reikšmių formulės yra įvilktos į funkciją IFERROR, galite nukopijuoti formulę iki pat lentelės pabaigos ir ji neužterš duomenų jokiomis klaidomis, nesvarbu, kiek mažai unikalių reikšmių buvo išskirta.
Kaip "Excel" programoje gauti skirtingas vertes (unikalus + 1. pasikartojantys atvejai)
Kaip jau supratote iš šio skyriaus antraštės, skirtingos vertės Excel programoje yra visos skirtingos sąrašo reikšmės, t. y. unikalios reikšmės ir pirmieji pasikartojančių reikšmių atvejai. pvz:
Norėdami gauti atskirą sąrašą "Excel" programoje, naudokite šias formules.
Masyvas atskira formulė (reikia paspausti Ctrl + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Įprasta skirtinga formulė:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, INDEX(COUNTIF($B$1:B1, $A$2:$A$10), 0, 0), 0)), "")
Kur:
- A2:A10 yra šaltinių sąrašas.
- B1 yra langelis, esantis virš pirmojo atskiro sąrašo langelio. Šiame pavyzdyje atskiras sąrašas prasideda langeliu B2 (tai pirmas langelis, kuriame įvedate formulę), todėl pateikiate nuorodą į B1.
Skirtingų stulpelio reikšmių išskyrimas ignoruojant tuščius langelius
Jei jūsų šaltinio sąraše yra tuščių langelių, ką tik aptarta išskirtinė formulė kiekvienai tuščiai eilutei grąžintų nulį, o tai gali būti problema. Norėdami tai ištaisyti, dar šiek tiek patobulinkite formulę:
Masyvo formulė išgauti skirtingos vertės, išskyrus tuščias vietas :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF($A$2:$A$10="",1,0), 0)), "")
Gauti skirtingų teksto reikšmių sąrašą, neatsižvelgiant į skaičius ir tuščias vietas
Panašiai galite gauti skirtingų reikšmių sąrašą išskyrus tuščius langelius ir langelius su skaičiais. :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF(ISTEXT($A$2:$A$10)=FALSE,1,0), 0)), "")
Trumpai priminsime, kad pirmiau pateiktose formulėse A2:A10 yra šaltinio sąrašas, o B1 yra ląstelė tiesiai virš pirmosios atskiro sąrašo ląstelės.
Toliau pateiktoje ekrano nuotraukoje matomas abiejų formulių rezultatas:
Kaip "Excel" programoje išgauti skirtingas reikšmes, kurių reikšmės priklauso nuo mažųjų ir didžiųjų raidžių
Dirbant su didžiosioms raidėms jautriais duomenimis, pavyzdžiui, slaptažodžiais, naudotojų vardais ar failų pavadinimais, gali prireikti gauti didžiosioms raidėms jautrių skirtingų reikšmių sąrašą. Tam naudokite šią masyvo formulę, kurioje A2:A10 yra šaltinio sąrašas, o B1 yra ląstelė, esanti virš pirmosios skirtingo sąrašo ląstelės:
Masyvo formulė skirtingoms reikšmėms, kurių raidės yra jautrios (reikia paspausti Ctrl + Shift + Enter )
=IFERROR(INDEX($A$2:$A$10, MATCH(0, FREQUENCY(IF(EXACT($A$2:$A$10,TRANSPOSE($B$1:B1)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10))), 0))), "")
Kaip veikia unikalumo / išskirtinumo formulė
Šis skyrius specialiai skirtas tiems smalsiems ir rūpestingiems "Excel" naudotojams, kurie nori ne tik sužinoti formulę, bet ir visiškai suprasti jos veržles.
Savaime suprantama, kad formulės unikalioms ir skirtingoms reikšmėms išgauti "Excel" programoje nėra nei trivialios, nei paprastos. Tačiau atidžiau įsižiūrėję galite pastebėti, kad visos formulės pagrįstos tuo pačiu metodu - naudojant INDEX/MATCH kartu su COUNTIF arba COUNTIF + IF funkcijomis.
Išsamiai analizei naudokime masyvo formulę, kuria išvedamas skirtingų reikšmių sąrašas, nes visos kitos šiame vadovėlyje aptartos formulės yra šios pagrindinės formulės patobulinimai arba variantai:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Pradžiai atmeskime akivaizdžią funkciją IFERROR, kuri naudojama vieninteliu tikslu - pašalinti #N/A klaidas, kai ląstelių, į kurias nukopijavote formulę, skaičius viršija skirtingų reikšmių skaičių pradiniame sąraše.
O dabar suskirstykime pagrindinę mūsų išskirtinės formulės dalį:
- COUNTIF(diapazonas, kriterijai) grąžina ląstelių skaičių diapazone, atitinkančiame nurodytą sąlygą.
Šiame pavyzdyje COUNTIF($B$1:B1, $A$2:$A$10) grąžina 1 ir 0 reikšmių masyvą pagal tai, ar kuri nors šaltinio sąrašo ($A$2:$A$10) reikšmė yra kur nors atskirajame sąraše ($B$1:B1). Jei reikšmė randama, formulė grąžina 1, priešingu atveju - 0.
Visų pirma ląstelėje B2 COUNTIF($B$1:B1, $A$2:$A$10) tampa:
COUNTIF("Distinct", {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"})
ir grįžta:
{0;0;0;0;0;0;0;0;0}
nes nė vienas iš šaltinio sąrašo elementų ( kriterijai ) atsiranda diapazonas kai funkcija ieško atitikmens. Šiuo atveju, diapazonas ($B$1:B1) sudaro vienas elementas - "Distinct".
MATCH(lookup_value, lookup_array, [match_type])
grąžina santykinę paieškos vertės padėtį masyve.
Šiame pavyzdyje lookup_value yra 0, todėl:
MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)
virsta:
MATCH(0, { 0 ;0;0;0;0;0;0;0;0},0)
ir grąžina
nes mūsų MATCH funkcija gauna pirmąją reikšmę, kuri yra lygiai lygi paieškos reikšmei (kaip pamenate, paieškos reikšmė yra 0).
Šiame pavyzdyje INDEX($A$2:$A$10, 1)
tampa:
INDEX({"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}, 1)
ir grąžina "Ronnie".
Kai formulė nukopijuojama į stulpelį, atskiras sąrašas ($B$1:B1) išsiplečia, nes antrosios ląstelės nuoroda (B1) yra santykinė nuoroda, kuri keičiasi priklausomai nuo ląstelės, į kurią perkeliama formulė, santykinės padėties.
Taigi, nukopijavus į langelį B3, COUNTIF($B$1: B1 , $A$2:$A$10) keičiasi į COUNTIF($B$1: B2 , $A$2:$A$10) ir tampa:
COUNTIF({"Distinct"; "Ronnie"}, {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"})), 0)), "")
ir grįžta:
{1;0;0;0;0;0;0;0;0}
nes diapazone $B$1:B2 rastas vienas "Ronnie".
Tada MATCH(0,{1; 0 ;0;0;0;0;0;0;0;0;0;0},0) grąžina 2, nes 2 yra pirmojo 0 santykinė padėtis masyve.
Ir galiausiai, INDEX($A$2:$A$10, 2)
grąžina 2-osios eilutės reikšmę, kuri yra "David".
Patarimas. Kad geriau suprastumėte formulės logiką, formulės juostoje galite pasirinkti skirtingas formulės dalis ir paspausti F9, kad pamatytumėte, ką įvertina pasirinkta dalis:
Jei vis dar kyla sunkumų išsiaiškinti formulę, galite peržiūrėti toliau pateiktą vadovėlį, kuriame išsamiai paaiškinta, kaip veikia INDEX/MATCH sąsaja: INDEX & MATCH as a better alternative to Excel VLOOKUP.
Kaip jau minėta, kitos šiame vadovėlyje aptariamos formulės yra pagrįstos ta pačia logika, tik su keliais pakeitimais:
Unikalių reikšmių formulė - joje yra dar viena COUNTIF funkcija, pagal kurią į unikalų sąrašą neįtraukiami visi elementai, kurie šaltinio sąraše yra daugiau nei vieną kartą: COUNTIF($A$2:$A$10, $A$2:$A$10)1
.
Formulė "Skirtingos reikšmės", kurioje nepaisoma tuščių langelių - čia pridedama funkcija IF, neleidžianti įtraukti tuščių langelių į atskirų reikšmių sąrašą: IF($A$2:$A$13="",1,0)
.
Atskirų teksto reikšmių formulė, nekreipiant dėmesio į skaičius - funkcija ISTEXT tikrinama, ar reikšmė yra tekstas, o funkcija IF atmetami visi kiti reikšmių tipai, įskaitant tuščius langelius: IF(ISTEXT($A$2:$A$13)=FALSE,1,0)
.
Išskirkite skirtingas stulpelio reikšmes naudodami "Excel" išplėstinį filtrą
Jei nenorite gaišti laiko aiškindamiesi sudėtingas išskirtinių reikšmių formulių vingrybes, galite greitai gauti išskirtinių reikšmių sąrašą naudodami išplėstinį filtrą. Toliau pateikiami išsamūs veiksmai.
- Pasirinkite duomenų stulpelį, iš kurio norite išskirti skirtingas reikšmes.
- Pereikite prie Duomenys skirtukas> Rūšiuoti ir filtruoti grupę ir spustelėkite Išplėstinė mygtuką:
- Patikrinkite Kopijuoti į kitą vietą radijo mygtuką.
- Į Sąrašo diapazonas langelyje patikrinkite, ar šaltinio diapazonas rodomas teisingai.
- Į Kopijuoti į langelį , įveskite viršutinę paskirties intervalo ląstelę. Atminkite, kad filtruotus duomenis galite kopijuoti tik į aktyvus lapas .
- Pasirinkite Tik unikalūs įrašai
Atkreipkite dėmesį, kad nors išplėstinio filtro parinktis pavadinta " Tik unikalūs įrašai ", jis ištraukia skirtingos vertės t. y. unikalias reikšmes ir 1-ą kartą pasikartojančias reikšmes.
Išskirkite unikalias ir skirtingas eilutes naudodami "Duplicate Remover
Paskutinėje šios mokomosios programos dalyje parodysiu savo sprendimą, kaip "Excel" lapuose rasti ir išgauti išskirtines ir unikalias reikšmes. Šis sprendimas sujungia "Excel" formulių universalumą ir išplėstinio filtro paprastumą. Be to, jis suteikia keletą unikalių funkcijų, pvz:
- Rasti ir išgauti unikalios / atskiros eilutės pagal vieno ar daugiau stulpelių reikšmes.
- Rasti , paryškinti , ir kopijuoti unikalias reikšmes į bet kurią kitą vietą tame pačiame ar kitame sąsiuvinyje.
O dabar pažiūrėkime, kaip veikia "Duplicate Remover" įrankis.
Tarkime, turite suvestinę lentelę, sukurtą sujungus kelių kitų lentelių duomenis. Akivaizdu, kad toje suvestinėje lentelėje yra daug pasikartojančių eilučių, todėl jūsų užduotis - išskirti unikalias eilutes, kurios lentelėje yra tik vieną kartą, arba atskiras eilutes, įskaitant unikalius ir 1 pasikartojančius atvejus. Bet kuriuo atveju su "Duplicate Remover" priedu darbą atliksite per 5 greitus veiksmus.
- Pasirinkite bet kurią pradinės lentelės ląstelę ir spustelėkite Dublikatų šalintuvas mygtukas ant Ablebitų duomenys skirtuke Dedupe grupė.
Bus paleistas Dublikatų šalinimo vedlys ir pasirinkta visa lentelė. Kitas pereiti prie kito veiksmo.
- Unikalus
- Unikalūs +1-as kartas (skirtingi)
Šiame pavyzdyje siekiame išgauti unikalios eilutės kurie šaltinio lentelėje rodomi tik vieną kartą, todėl pasirenkame Unikalus galimybė:
Patarimas. Kaip matote pirmiau pateiktoje ekrano nuotraukoje, taip pat yra 2 parinktys dubliuojančios vertės , tiesiog turėkite tai omenyje, jei reikės išskaičiuoti kokią nors kitą darbalapį.
Šiame pavyzdyje norime rasti unikalias eilutes pagal visų 3 stulpelių reikšmes ( Užsakymo numeris , Vardas ir pavardė ir Pavardė ), todėl pasirenkame visus.
- Išskirkite unikalias vertes
- Pasirinkite unikalias vertes
- Nustatyti būsenos stulpelyje
- Kopijuoti į kitą vietą
Kadangi išgauname unikalias eilutes, pasirinkite Kopijuoti į kitą vietą , tada nurodykite, kur tiksliai norite juos kopijuoti - aktyviajame lape (pasirinkite Pasirinktinė vieta parinktį ir nurodykite viršutinę paskirties intervalo ląstelę), naują darbalapį arba naują darbo knygą.
Šiame pavyzdyje pasirinkime naująjį lapą:
Patiko šis greitas ir paprastas būdas gauti unikalių verčių ar eilučių sąrašą "Excel" programoje? Jei taip, raginu atsisiųsti toliau pateiktą įvertinimo versiją ir išbandyti ją. "Duplicate Remover", taip pat visi kiti mūsų turimi laiko taupymo įrankiai yra įtraukti į "Ultimate Suite for Excel".
Galimi atsisiuntimai
Unikalių verčių paieška "Excel" programoje - pavyzdinė darbo knyga (.xlsx failas)
"Ultimate Suite" - bandomoji versija (.exe failas)