Obsah
Tento kurz sa zaoberá tým, ako získať jedinečné hodnoty v programe Excel pomocou funkcie UNIQUE a dynamických polí. Naučíte sa jednoduchý vzorec na vyhľadávanie jedinečných hodnôt v stĺpci alebo riadku, vo viacerých stĺpcoch, na základe podmienok a mnoho ďalšieho.
V predchádzajúcich verziách programu Excel bolo extrahovanie zoznamu jedinečných hodnôt náročnou úlohou. Máme pre vás špeciálny článok, ktorý ukazuje, ako nájsť jedinečné hodnoty, ktoré sa vyskytujú práve raz, extrahovať všetky odlišné položky v zozname, ignorovať prázdne miesta a podobne. Každá úloha si vyžadovala kombinované použitie niekoľkých funkcií a viacriadkového vzorca poľa, ktorému plne rozumejú len guruovia programu Excel.
Zavedenie funkcie UNIQUE v programe Excel 365 všetko zmenilo! To, čo bolo predtým raketovou vedou, sa stáva jednoduchým ako ABC. Teraz nemusíte byť expertom na vzorce, aby ste získali jedinečné hodnoty z rozsahu na základe jedného alebo viacerých kritérií a usporiadali výsledky v abecednom poradí. Všetko sa vykonáva pomocou jednoduchých vzorcov, ktoré si každý môže prečítať a upraviť podľa vlastných potrieb.
Funkcia Excel UNIQUE
Funkcia UNIQUE v programe Excel vráti zoznam jedinečných hodnôt z rozsahu alebo poľa. Funguje s akýmkoľvek typom údajov: text, čísla, dátumy, časy atď.
Funkcia je zaradená do kategórie funkcií Dynamické polia. Výsledkom je dynamické pole, ktoré sa automaticky rozlieva do susedných buniek vertikálne alebo horizontálne.
Syntax funkcie UNIQUE aplikácie Excel je nasledujúca:
UNIQUE(pole, [by_col], [exactly_once])Kde:
Pole (povinné) - rozsah alebo pole, z ktorého sa majú vrátiť jedinečné hodnoty.
By_col (nepovinné) - logická hodnota určujúca spôsob porovnania údajov:
- TRUE - porovnáva údaje v stĺpcoch.
- FALSE alebo vynechať (predvolené) - porovnáva údaje v riadkoch.
Exactly_once (nepovinné) - logická hodnota, ktorá definuje, ktoré hodnoty sa považujú za jedinečné:
- TRUE - vráti hodnoty, ktoré sa vyskytujú iba raz, čo je databázový pojem unikátnosti.
- FALSE alebo vynechané (predvolené) - vráti všetky odlišné (rôzne) hodnoty v rozsahu alebo poli.
Poznámka: V súčasnosti je funkcia UNIQUE k dispozícii len v aplikácii Excel pre Microsoft 365 a Excel 2021. Excel 2019, 2016 a staršie verzie nepodporujú vzorce dynamických polí, takže funkcia UNIQUE nie je v týchto verziách k dispozícii.
Základný vzorec UNIQUE v programe Excel
Nižšie je uvedený vzorec pre jedinečné hodnoty programu Excel v najjednoduchšej podobe.
Cieľom je získať zoznam jedinečných mien z rozsahu B2:B10. Na tento účel zadáme do D2 nasledujúci vzorec:
=UNIQUE(B2:B10)
Všimnite si, že 2. a 3. argument sú vynechané, pretože predvolené hodnoty fungujú v našom prípade dokonale - porovnávame riadky medzi sebou a chceme vrátiť všetky rôzne názvy v rozsahu.
Keď stlačíte kláves Enter na dokončenie vzorca, Excel vypíše prvý nájdený názov v D2 a ostatné názvy vysype do buniek pod ním. Výsledkom je, že máte všetky jedinečné hodnoty v stĺpci:
V prípade, že sa vaše údaje nachádzajú v stĺpcoch od B2 po I2, nastavte druhý argument na TRUE, aby ste mohli stĺpce navzájom porovnať:
=UNIQUE(B2:I2,TRUE)
Zadajte vyššie uvedený vzorec do bunky B4, stlačte kláves Enter , a výsledky sa horizontálne rozsypú do buniek napravo. Získate tak jedinečné hodnoty v jednom riadku:
Tip. Ak chcete nájsť jedinečné hodnoty vo viacslúpcových poliach a vrátiť ich v jednom stĺpci alebo riadku, použite funkciu UNIQUE spolu s funkciou TOCOL alebo TOROW, ako je uvedené v nasledujúcich príkladoch:
- Výpis jedinečných hodnôt z rozsahu viacerých stĺpcov do stĺpca
- Vytiahnutie jedinečných hodnôt z rozsahu viacerých stĺpcov do riadku
Funkcia Excel UNIQUE - tipy a poznámky
UNIQUE je nová funkcia a podobne ako ostatné funkcie dynamického poľa má niekoľko špecifík, ktoré by ste mali poznať:
- Ak je pole vrátené funkciou UNIQUE konečným výsledkom (t. j. nie je odovzdané inej funkcii), program Excel dynamicky vytvorí primerane veľký rozsah a naplní ho výsledkami. Vzorec je potrebné zadať len do jedna bunka . Je dôležité, aby ste mali dostatok prázdnych buniek dole a/alebo napravo od bunky, do ktorej zadávate vzorec, inak dôjde k chybe #SPILL.
- Výsledky automaticky aktualizovať pri zmene zdrojových údajov. Nové položky, ktoré sú pridané mimo odkazovaného poľa, však nie sú zahrnuté do vzorca, pokiaľ nezmeníte pole odkaz. Ak chcete pole automaticky reagovať na zmenu veľkosti zdrojového rozsahu, potom previesť rozsah na tabuľku programu Excel a použiť štruktúrované odkazy alebo vytvoriť dynamický pomenovaný rozsah.
- Dynamické polia medzi rôznymi súbormi programu Excel fungujú len vtedy, keď oba zošity sú otvorené Ak je zdrojový zošit zatvorený, prepojený vzorec UNIQUE vráti chybu #REF!.
- Podobne ako ostatné funkcie dynamického poľa, aj funkciu UNIQUE možno použiť len v rámci normálneho rozsah Pri vložení do tabuliek Excelu vráti chybu #SPILL!.
Ako nájsť jedinečné hodnoty v programe Excel - príklady vzorcov
Nižšie uvedené príklady ukazujú niekoľko praktických použití funkcie UNIQUE v programe Excel. Hlavnou myšlienkou je získať jedinečné hodnoty alebo odstrániť duplikáty, v závislosti od vášho pohľadu, čo najjednoduchším spôsobom.
Výber jedinečných hodnôt, ktoré sa vyskytujú iba raz
Ak chcete získať zoznam hodnôt, ktoré sa v zadanom rozsahu vyskytujú presne raz, nastavte tretí argument UNIQUE na TRUE.
Ak chcete napríklad jednorazovo vytiahnuť mená, ktoré sú na zozname víťazov, použite tento vzorec:
=UNIQUE(B2:B10,,TRUE)
Kde B2:B10 je zdrojový rozsah a 2. argument ( by_col ) je FALSE alebo sa vynecháva, pretože naše údaje sú usporiadané v riadkoch.
Nájsť odlišné hodnoty, ktoré sa vyskytujú viac ako raz
Ak sledujete opačný cieľ, t. j. chcete získať zoznam hodnôt, ktoré sa v danom rozsahu vyskytujú viac ako jedenkrát, potom použite funkciu UNIQUE spolu s funkciami FILTER a COUNTIF:
UNIQUE(FILTER( rozsah , COUNTIF( rozsah , rozsah )>1))Ak chcete napríklad extrahovať rôzne názvy, ktoré sa v B2:B10 vyskytujú viac ako raz, môžete použiť tento vzorec:
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
Ako tento vzorec funguje:
Jadrom vzorca je funkcia FILTER, ktorá filtruje duplicitné záznamy na základe počtu výskytov vráteného funkciou COUNTIF. V našom prípade je výsledkom funkcie COUNTIF toto pole počtov:
{4;1;3;4;4;1;3;4;3}
Operácia porovnania (>1) zmení uvedené pole na hodnoty TRUE a FALSE, pričom TRUE predstavuje položky, ktoré sa objavia viac ako raz:
{PRAVDA;NEPRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;NEPRAVDA;PRAVDA;PRAVDA;PRAVDA}
Toto pole sa odovzdá filtru FILTER ako zahŕňajú . argument, ktorý funkcii určuje, ktoré hodnoty má zahrnúť do výsledného poľa:
{"Andrew"; "David"; "Andrew"; "Andrew"; "David"; "Andrew"; "David"}
Ako si môžete všimnúť, zachovali sa len hodnoty zodpovedajúce hodnote TRUE.
Vyššie uvedené pole prechádza do pole argument UNIQUE a po odstránení duplikátov vypíše konečný výsledok:
{"Andrew"; "David"}
Tip. Podobným spôsobom môžete filtrovať jedinečné hodnoty, ktoré sa vyskytujú viac ako dvakrát (>2), viac ako trikrát (>3) atď. Na tento účel stačí zmeniť číslo v logickom porovnaní.
Vyhľadávanie jedinečných hodnôt vo viacerých stĺpcoch (jedinečných riadkoch)
V situácii, keď chcete porovnať dva alebo viac stĺpcov a vrátiť jedinečné hodnoty medzi nimi, zahrňte všetky cieľové stĺpce do pole argument.
Ak chceme napríklad vrátiť jedinečné meno (stĺpec A) a priezvisko (stĺpec B) výhercov, zadáme tento vzorec do E2:
=UNIQUE(A2:B10)
Po stlačení klávesu Enter sa zobrazia nasledujúce výsledky:
Ak chcete získať jedinečné riadky t. j. záznamy s jedinečnou kombináciou hodnôt v stĺpcoch A, B a C, je potrebné použiť tento vzorec:
=UNIQUE(A2:C10)
Úžasne jednoduché, však? :)
Získanie zoznamu jedinečných hodnôt zoradených v abecednom poradí
Ako zvyčajne zoraďujete abecedu v programe Excel? Správne, pomocou zabudovanej funkcie Zoradiť alebo Filtrovať. Problémom je, že pri každej zmene zdrojových údajov musíte znovu zoradiť, pretože na rozdiel od vzorcov programu Excel, ktoré sa automaticky prepočítajú pri každej zmene v pracovnom hárku, funkcie sa musia znovu použiť ručne.
So zavedením dynamických funkcií polí tento problém odpadol! Stačí, ak funkciu SORT jednoducho prekrútite okolo bežného vzorca UNIQUE, napríklad takto:
SORT(UNIQUE(pole))Ak chcete napríklad získať jedinečné hodnoty v stĺpcoch A až C a usporiadať výsledky od A po Z, použite tento vzorec:
=SORT(UNIQUE(A2:C10))
V porovnaní s vyššie uvedeným príkladom je výstup oveľa jednoduchší na vnímanie a prácu. Napríklad jasne vidíme, že Andrew a David boli víťazmi v dvoch rôznych športoch.
Tip. V tomto príklade sme zoradili hodnoty v 1. stĺpci od A po Z. Ide o predvolené nastavenia funkcie SORT, preto sa voliteľné sort_index a sort_order Ak chcete výsledky zoradiť podľa iného stĺpca alebo v inom poradí (od Z po A alebo od najväčšieho po najmenší), nastavte 2. a 3. argument, ako je vysvetlené v návode na funkciu SORT.
Vyhľadanie jedinečných hodnôt vo viacerých stĺpcoch a ich spojenie do jednej bunky
Pri vyhľadávaní vo viacerých stĺpcoch funkcia Excel UNIQUE v predvolenom nastavení vypíše každú hodnotu do samostatnej bunky. Možno sa vám bude zdať pohodlnejšie mať výsledky v jednej bunke?
Ak to chcete dosiahnuť, namiesto odkazu na celý rozsah použite ampersand (&) na spojenie stĺpcov a medzi ne vložte požadovaný oddeľovač.
Ako príklad uvádzame spojenie krstných mien v A2:A10 a priezvisk v B2:B10, pričom hodnoty oddelíme znakom medzery (" "):
=UNIQUE(A2:A10&" "&B2:B10)
Výsledkom je zoznam celých mien v jednom stĺpci:
Získanie zoznamu jedinečných hodnôt na základe kritérií
Ak chcete získať jedinečné hodnoty s podmienkou, použite spoločne funkcie UNIQUE a FILTER aplikácie Excel:
- Funkcia FILTER obmedzuje údaje len na hodnoty, ktoré spĺňajú podmienku.
- Funkcia UNIQUE odstráni z filtrovaného zoznamu duplikáty.
Tu je všeobecná verzia vzorca pre filtrované jedinečné hodnoty:
UNIQUE(FILTER(array, criteria_range = kritériá ))V tomto príklade získame zoznam víťazov v konkrétnom športe. Na začiatok zadáme šport, ktorý nás zaujíma, do niektorej bunky, napríklad F1. A potom pomocou nižšie uvedeného vzorca získame jedinečné mená:
=UNIQUE(FILTER(A2:B10, C2:C10=F1))
Kde A2:B10 je rozsah na hľadanie jedinečných hodnôt a C2:C10 je rozsah na kontrolu kritérií.
Filtrovanie jedinečných hodnôt na základe viacerých kritérií
Ak chcete filtrovať jedinečné hodnoty s dvoma alebo viacerými podmienkami, použite na zostavenie požadovaných kritérií pre funkciu FILTER výrazy, ako je uvedené nižšie:
UNIQUE(FILTER(pole, ( kritérium_rozsah1 = kritériá1 ) * ( kritérium_rozsah2 = kritériá2 )))Výsledkom vzorca je zoznam jedinečných položiek, pre ktoré sú všetky zadané podmienky TRUE. Z hľadiska programu Excel sa to nazýva logika AND.
Ak chcete vidieť vzorec v akcii, získajte zoznam jedinečných víťazov v športe G1 (kritérium 1) a pod vekom v G2 (kritérium 2).
Pri zdrojovom rozsahu v A2:B10, športoch v C2:C10 (kritérium_rozsah 1) a veku v D2:D10 (kritérium_rozsah 2) má vzorec tento tvar:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
A vráti presne tie výsledky, ktoré hľadáme:
Ako tento vzorec funguje:
Tu je vysvetlenie logiky vzorca na vysokej úrovni:
V zahŕňajú . argument funkcie FILTER, zadáte dve alebo viac dvojíc rozsah/kritérium. Výsledkom každého logického výrazu je pole hodnôt TRUE a FALSE. Násobením polí sa logické hodnoty premenia na čísla a vznikne pole 1 a 0. Keďže násobením nulou sa vždy získa nula, vo výslednom poli sú len položky, ktoré spĺňajú všetky podmienky, a to 1. Funkcia FILTERfunkcia odfiltruje položky zodpovedajúce 0 a výsledky odovzdá funkcii UNIQUE.
Viac informácií nájdete v časti FILTROVANIE s viacerými kritériami pomocou logiky AND.
Filtrovanie jedinečných hodnôt pomocou viacerých kritérií OR
Ak chcete získať zoznam jedinečných hodnôt na základe viacerých kritérií OR, t. j. keď je toto kritérium TRUE, namiesto násobenia logických výrazov ich sčítajte:
UNIQUE(FILTER(pole, ( kritérium_rozsah1 = kritériá1 ) + ( kritérium_rozsah2 = kritériá2 )))Napríklad, ak chcete zobraziť víťazov v Futbal alebo Hokej , môžete použiť tento vzorec:
=UNIQUE(FILTER(A2:B10, (C2:C10="Futbal") + (C2:C10="Hokej"))
V prípade potreby môžete samozrejme zadať kritériá do samostatných buniek a odkazovať na ne, ako je znázornené nižšie:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) + (C2:C10=G2))
Ako tento vzorec funguje:
Podobne ako pri testovaní viacerých kritérií AND, aj tu umiestnite niekoľko logických výrazov do zahŕňajú . argument funkcie FILTER, z ktorých každá vracia pole hodnôt TRUE a FALSE. Keď sa tieto polia sčítajú, položky, pre ktoré je jedno alebo viac kritérií TRUE, budú mať hodnotu 1 a položky, pre ktoré sú všetky kritériá FALSE, budú mať hodnotu 0. Výsledkom je, že každá položka, ktorá spĺňa ktorúkoľvek podmienku, sa dostane do poľa, ktoré sa odovzdá funkcii UNIQUE.
Viac informácií nájdete v časti FILTROVANIE s viacerými kritériami pomocou logiky OR.
Získanie jedinečných hodnôt v programe Excel s ignorovaním prázdnych miest
Ak pracujete so súborom údajov, ktorý obsahuje medzery, je pravdepodobné, že zoznam unikátov získaný pomocou bežného vzorca bude obsahovať prázdnu bunku a/alebo nulovú hodnotu. Stáva sa to preto, lebo funkcia UNIQUE aplikácie Excel je navrhnutá tak, aby vrátila všetky odlišné hodnoty v rozsahu vrátane prázdnych. Ak teda váš zdrojový rozsah obsahuje nuly aj prázdne bunky, zoznam unikátov bude obsahovať 2 nuly, z ktorých jedna predstavuje prázdnu bunku.Okrem toho, ak zdrojové údaje obsahujú prázdne reťazce vrátené niektorým vzorcom, zoznam uique bude obsahovať aj prázdny reťazec (""), ktorý vizuálne vyzerá ako prázdna bunka:
Ak chcete získať zoznam jedinečných hodnôt bez prázdnych miest, musíte urobiť toto:
- Filtrovanie prázdnych buniek a prázdnych reťazcov pomocou funkcie FILTER.
- Na obmedzenie výsledkov len na jedinečné hodnoty použite funkciu UNIQUE.
Vo všeobecnej podobe vyzerá vzorec takto:
UNIQUE(FILTER( rozsah , rozsah ""))V tomto príklade je vzorec v D2:
=UNIQUE(FILTER(B2:B12, B2:B12"")
Výsledkom je, že Excel vráti zoznam jedinečných názvov bez prázdnych buniek:
Poznámka: V prípade, že pôvodné údaje obsahujú nuly , do jedinečného zoznamu sa zahrnie jedna nulová hodnota.
Vyhľadávanie jedinečných hodnôt v konkrétnych stĺpcoch
Niekedy môžete chcieť získať jedinečné hodnoty z dvoch alebo viacerých stĺpcov, ktoré spolu nesusedia. Niekedy môžete tiež chcieť zmeniť poradie stĺpcov vo výslednom zozname. Obe úlohy môžete splniť pomocou funkcie CHOOSE.
UNIQUE(CHOOSE({1,2,...}, rozsah1 , rozsah2 ))Predpokladajme, že z našej vzorovej tabuľky chcete získať zoznam víťazov na základe hodnôt v stĺpcoch A a C a usporiadať výsledky v tomto poradí: najprv šport (stĺpec C) a potom meno športovca (stĺpec A). Aby sme to mohli urobiť, zostrojíme tento vzorec:
=UNIQUE(CHOOSE({1,2}, C2:C10, A2:A10))
A dostanete nasledujúci výsledok:
Ako tento vzorec funguje:
Funkcia CHOOSE vracia dvojrozmerné pole hodnôt zo zadaných stĺpcov. V našom prípade tiež zamieňa poradie stĺpcov.
{"Basketbal", "Andrew"; "Basketbal", "Betty"; "Volejbal", "David"; "Basketbal", "Andrew"; "Hokej", "Andrew"; "Futbal", "Robert"; "Volejbal", "David"; "Hokej", "Andrew"; "Basketbal", "David"}
Z uvedeného poľa funkcia UNIQUE vráti zoznam jedinečných záznamov.
Vyhľadávanie jedinečných hodnôt a spracovanie chýb
Vzorce UNIQUE, o ktorých sme hovorili v tomto návode, fungujú perfektne... za predpokladu, že existuje aspoň jedna hodnota, ktorá spĺňa zadané kritériá. Ak vzorec nič nenájde, vyskytne sa chyba #CALC!
Ak tomu chcete zabrániť, jednoducho zabaľte vzorec do funkcie IFERROR.
Ak sa napríklad nenájdu žiadne jedinečné hodnoty spĺňajúce kritériá, môžete nezobraziť nič, t. j. prázdny reťazec (""):
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Alebo môžete používateľov jasne informovať, že sa nenašli žiadne výsledky:
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Nefunguje funkcia UNIQUE aplikácie Excel
Ako ste videli, vznik funkcie UNIQUE neuveriteľne zjednodušil hľadanie jedinečných hodnôt v programe Excel. Ak zrazu váš vzorec vedie k chybe, s najväčšou pravdepodobnosťou ide o jednu z nasledujúcich príčin.
#NAME? chyba
Nastane, ak použijete vzorec UNIQUE vo verzii programu Excel, v ktorej táto funkcia nie je podporovaná.
V súčasnosti je funkcia UNIQUE k dispozícii len v aplikácii Excel 365 a 2021. Ak máte inú verziu, vhodné riešenie môžete nájsť v tomto návode: Ako získať jedinečné hodnoty v aplikáciách Excel 2019, Excel 2016 a starších.
Chyba #NAME? v podporovaných verziách znamená, že názov funkcie je nesprávne napísaný.
Chyba #SPILL
Vyskytne sa, ak jedna alebo viac buniek v rozsahu vyliatia nie je úplne prázdna.
Ak chcete chybu opraviť, stačí vymazať alebo odstrániť neprázdne bunky. Ak chcete presne zistiť, ktoré bunky prekážajú, kliknite na indikátor chyby a potom kliknite na Vyberte prekážajúce bunky . Ďalšie informácie nájdete v časti Chyba #SPILL! v programe Excel - príčiny a opravy.
Takto sa dajú nájsť jedinečné hodnoty v programe Excel. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!
Cvičebnica na stiahnutie
Príklady vzorcov pre jedinečné hodnoty programu Excel (.xlsx súbor)