Obsah
Toto je záverečná časť seriálu o jedinečných hodnotách v programe Excel, ktorá ukazuje, ako získať zoznam odlišných/jedinečných hodnôt v stĺpci pomocou vzorca a ako tento vzorec upraviť pre rôzne súbory údajov. Dozviete sa tiež, ako rýchlo získať zoznam odlišných hodnôt pomocou pokročilého filtra programu Excel a ako extrahovať jedinečné riadky pomocou programu na odstraňovanie duplikátov.
V niekoľkých nedávnych článkoch sme sa venovali rôznym metódam počítania a hľadania jedinečných hodnôt v programe Excel. Ak ste mali možnosť prečítať si tieto návody, už viete, ako získať jedinečný alebo odlišný zoznam identifikáciou, filtrovaním a kopírovaním. To je však trochu dlhý a zďaleka nie jediný spôsob, ako získať jedinečné hodnoty v programe Excel. Môžete to urobiť oveľa rýchlejšie pomocou špeciálneho vzorca a za chvíľuUkážem vám túto a niekoľko ďalších techník.
Tip: Ak chcete rýchlo získať jedinečné hodnoty v najnovšej verzii aplikácie Excel 365, ktorá podporuje dynamické polia, použite funkciu UNIQUE, ako je vysvetlené vo vyššie uvedenom prepojenom návode.
Ako získať jedinečné hodnoty v programe Excel
Aby sme predišli akýmkoľvek nejasnostiam, najprv sa dohodnime na tom, čo v programe Excel nazývame jedinečnými hodnotami. Jedinečné hodnoty sú hodnoty, ktoré sa v zozname vyskytujú len raz. Napríklad:
Ak chcete v programe Excel získať zoznam jedinečných hodnôt, použite jeden z nasledujúcich vzorcov.
Pole vzorec pre jedinečné hodnoty (dokončí sa stlačením klávesovej skratky 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)), "")
Pravidelné vzorec pre jedinečné hodnoty (dokončí sa stlačením klávesy 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)), "")
Vo vyššie uvedených vzorcoch sa používajú tieto odkazy:
- A2:A10 - zoznam zdrojov.
- B1 - horná bunka jedinečného zoznamu mínus 1. V tomto príklade začíname jedinečný zoznam v bunke B2, a preto do vzorca dosadíme B1 (B2-1=B1). Ak váš jedinečný zoznam začína napríklad v bunke C3, potom zmeňte $B$1:B1 na $C$2:C2.
Poznámka: Keďže vzorec odkazuje na bunku nad prvou bunkou jedinečného zoznamu, ktorou je zvyčajne hlavička stĺpca (v tomto príklade B1), uistite sa, že vaša hlavička má jedinečný názov, ktorý sa nevyskytuje nikde inde v stĺpci.
V tomto príklade extrahujeme jedinečné názvy zo stĺpca A (presnejšie z rozsahu A2:A20) a nasledujúci obrázok demonštruje vzorec poľa v akcii:
Podrobné vysvetlenie logiky vzorca je uvedené v samostatnej časti a tu sa dozviete, ako vzorec použiť na získanie jedinečných hodnôt v hárkoch programu Excel:
- Upravte jeden zo vzorcov podľa svojho súboru údajov.
- Zadajte vzorec do prvej bunky jedinečného zoznamu (v tomto príklade B2).
- Ak používate vzorec poľa, stlačte klávesovú skratku Ctrl + Shift + Enter . Ak ste sa rozhodli pre bežný vzorec, stlačte kláves Enter ako zvyčajne.
- Vzorec skopírujte smerom nadol tak ďaleko, ako je potrebné, potiahnutím úchytu vyplnenia. Keďže oba vzorce pre jedinečné hodnoty sú zapuzdrené vo funkcii IFERROR, vzorec môžete skopírovať až na koniec tabuľky a nebude zahlcovať údaje žiadnymi chybami bez ohľadu na to, ako málo jedinečných hodnôt bolo extrahovaných.
Ako získať odlišné hodnoty v programe Excel (jedinečné + 1. duplicitný výskyt)
Ako ste už možno uhádli z nadpisu tejto časti, odlišné hodnoty v programe Excel sú všetky rôzne hodnoty v zozname, t. j. jedinečné hodnoty a prvé prípady duplicitných hodnôt. Napríklad
Ak chcete získať odlišný zoznam v programe Excel, použite nasledujúce vzorce.
Pole výrazný vzorec (vyžaduje stlačenie klávesovej skratky Ctrl + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Pravidelné odlišný vzorec:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, INDEX(COUNTIF($B$1:B1, $A$2:$A$10), 0, 0), 0)), "")
Kde:
- A2:A10 je zoznam zdrojov.
- B1 je bunka nad prvou bunkou odlišného zoznamu. V tomto príklade sa odlišný zoznam začína v bunke B2 (je to prvá bunka, do ktorej zadávate vzorec), takže sa odkazujete na B1.
Výpis rôznych hodnôt v stĺpci bez ohľadu na prázdne bunky
Ak váš zdrojový zoznam obsahuje prázdne bunky, výrazný vzorec, o ktorom sme práve hovorili, by vrátil nulu pre každý prázdny riadok, čo by mohlo predstavovať problém. Ak to chcete napraviť, vzorec ešte trochu vylepšite:
Vzorec poľa na extrakciu odlišné hodnoty bez prázdnych miest :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF($A$2:$A$10="",1,0), 0)), "")
Získanie zoznamu rôznych textových hodnôt bez čísel a prázdnych miest
Podobným spôsobom môžete získať zoznam rôznych hodnôt okrem prázdnych buniek a buniek s číslami :
=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)), "")
Na krátku pripomienku, vo vyššie uvedených vzorcoch je A2:A10 zdrojový zoznam a B1 je bunka hneď nad prvou bunkou odlišného zoznamu.
Nasledujúci obrázok zobrazuje výsledok oboch vzorcov:
Ako extrahovať odlišné hodnoty v programe Excel s rozlišovaním veľkých a malých písmen
Pri práci s údajmi citlivými na veľkosť písmen, ako sú heslá, mená používateľov alebo názvy súborov, môžete potrebovať získať zoznam odlišných hodnôt citlivých na veľkosť písmen. Na tento účel použite nasledujúci vzorec poľa, kde A2:A10 je zdrojový zoznam a B1 je bunka nad prvou bunkou odlišného zoznamu:
Vzorec poľa na získanie odlišných hodnôt s rozlišovaním veľkých a malých písmen (vyžaduje stlačenie klávesovej skratky 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)), "")
Ako funguje vzorec unique / distinct
Táto časť je napísaná najmä pre tých zvedavých a premýšľavých používateľov programu Excel, ktorí chcú nielen poznať vzorec, ale aj úplne pochopiť jeho zákutia.
Je samozrejmé, že vzorce na získanie jedinečných a odlišných hodnôt v programe Excel nie sú triviálne ani jednoduché. Pri podrobnejšom pohľade si však môžete všimnúť, že všetky vzorce sú založené na rovnakom prístupe - používajú INDEX/MATCH v kombinácii s funkciami COUNTIF alebo COUNTIF + IF.
Na našu podrobnú analýzu použijeme vzorec pre pole, ktorý vyťahuje zoznam rôznych hodnôt, pretože všetky ostatné vzorce, o ktorých sa v tomto návode hovorí, sú vylepšeniami alebo obmenami tohto základného vzorca:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Na začiatok vynechajme zrejmú funkciu IFERROR, ktorá sa používa s jediným cieľom - odstrániť chyby #N/A, keď počet buniek, do ktorých ste skopírovali vzorec, presahuje počet rôznych hodnôt v zdrojovom zozname.
A teraz si rozoberieme hlavnú časť nášho odlišného vzorca:
- COUNTIF(rozsah, kritériá) vráti počet buniek v rozsahu, ktoré spĺňajú zadanú podmienku.
V tomto príklade COUNTIF($B$1:B1, $A$2:$A$10) vráti pole 1 a 0 podľa toho, či sa niektorá z hodnôt zdrojového zoznamu ($A$2:$A$10) vyskytuje niekde v odlišnom zozname ($B$1:B1). Ak sa hodnota nájde, vzorec vráti 1, inak - 0.
Konkrétne v bunke B2 sa COUNTIF($B$1:B1, $A$2:$A$10) stáva:
COUNTIF("Distinct", {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"})
a návraty:
{0;0;0;0;0;0;0;0;0}
pretože žiadna z položiek zdrojového zoznamu ( kritériá ) sa objavuje v rozsah kde funkcia hľadá zhodu. V tomto prípade, rozsah ($B$1:B1) pozostáva z jedinej položky - "Distinct".
MATCH(lookup_value, lookup_array, [match_type])
vráti relatívnu pozíciu vyhľadávacej hodnoty v poli.
V tomto príklade je hodnota lookup_value 0, a preto:
MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)
sa mení na:
MATCH(0, { 0 ;0;0;0;0;0;0;0;0},0)
a vráti
pretože naša funkcia MATCH získa prvú hodnotu, ktorá sa presne rovná hľadanej hodnote (ako si pamätáte, hľadaná hodnota je 0).
V tomto príklade INDEX($A$2:$A$10, 1)
sa stáva:
INDEX({"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}, 1)
a vráti "Ronnie".
Pri kopírovaní vzorca do stĺpca sa rozširuje odlišný zoznam ($B$1:B1), pretože odkaz na druhú bunku (B1) je relatívny odkaz, ktorý sa mení podľa relatívnej polohy bunky, v ktorej sa vzorec pohybuje.
Takže po skopírovaní do bunky B3 sa COUNTIF($B$1: B1 , $A$2:$A$10) sa zmení na COUNTIF($B$1: B2 , $A$2:$A$10) a stáva sa:
COUNTIF({"Distinct"; "Ronnie"}, {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}), 0)), "")
a výnosy:
{1;0;0;0;0;0;0;0;0}
pretože v rozsahu $B$1:B2 sa nachádza jeden "Ronnie".
A potom MATCH(0,{1; 0 ;0;0;0;0;0;0;0;0},0) vráti 2, pretože 2 je relatívna pozícia prvej 0 v poli.
A nakoniec, INDEX($A$2:$A$10, 2)
vráti hodnotu z 2. riadku, ktorá je "David".
Tip: Pre lepšie pochopenie logiky vzorca môžete na paneli vzorcov vybrať rôzne časti vzorca a stlačením klávesu F9 zobraziť, čo vybraná časť vyhodnocuje:
Ak máte stále problémy s pochopením vzorca, môžete si pozrieť nasledujúci návod, v ktorom je podrobne vysvetlené, ako funguje spojenie INDEX/MATCH: INDEX & MATCH ako lepšia alternatíva k Excel VLOOKUP.
Ako už bolo spomenuté, ostatné vzorce uvedené v tomto návode sú založené na rovnakej logike, len s niekoľkými úpravami:
Vzorec pre jedinečné hodnoty - obsahuje ešte jednu funkciu COUNTIF, ktorá z jedinečného zoznamu vylúči všetky položky, ktoré sa v zdrojovom zozname vyskytujú viac ako raz: COUNTIF($A$2:$A$10, $A$2:$A$10)1
.
Vzorec pre odlišné hodnoty ignorujúci prázdne bunky - tu pridáte funkciu IF, ktorá zabráni pridaniu prázdnych buniek do zoznamu odlišných hodnôt: IF($A$2:$A$13="",1,0)
.
Vzorec na rozlišovanie textových hodnôt ignoruje čísla - pomocou funkcie ISTEXT skontrolujete, či je hodnota textová, a pomocou funkcie IF zamietnete všetky ostatné typy hodnôt vrátane prázdnych buniek: IF(ISTEXT($A$2:$A$13)=FALSE,1,0)
.
Výber odlišných hodnôt zo stĺpca pomocou pokročilého filtra aplikácie Excel
Ak nechcete strácať čas zisťovaním záhadných zákutí vzorcov pre odlišné hodnoty, môžete rýchlo získať zoznam odlišných hodnôt pomocou rozšíreného filtra. Podrobný postup je uvedený nižšie.
- Vyberte stĺpec údajov, z ktorého chcete extrahovať odlišné hodnoty.
- Prepnite na Údaje karta> Triedenie & amp; Filter a kliknite na Pokročilé tlačidlo:
- Skontrolujte stránku . Kopírovanie na iné miesto prepínač.
- V Rozsah zoznamu overte, či sa rozsah zdrojov zobrazuje správne.
- V Kopírovať do poľa , zadajte najvyššiu bunku cieľového rozsahu. Nezabudnite, že filtrované údaje môžete kopírovať len do aktívny list .
- Vyberte Len jedinečné záznamy
Upozorňujeme, že hoci je možnosť rozšíreného filtra pomenovaná " Len jedinečné záznamy ", extrahuje odlišné hodnoty , t. j. jedinečné hodnoty a 1. výskyt duplicitných hodnôt.
Extrahujte jedinečné a odlišné riadky pomocou programu Duplicate Remover
V záverečnej časti tohto návodu vám ukážem naše vlastné riešenie na vyhľadávanie a extrahovanie odlišných a jedinečných hodnôt v hárkoch programu Excel. Toto riešenie kombinuje všestrannosť vzorcov programu Excel a jednoduchosť pokročilého filtra. Okrem toho poskytuje niekoľko jedinečných funkcií, ako napr:
- Vyhľadajte a extrahujte jedinečné/odlišné riadky na základe hodnôt v jednom alebo viacerých stĺpcoch.
- Nájsť , zvýraznenie a kopírovať jedinečných hodnôt do akéhokoľvek iného umiestnenia v tom istom alebo inom zošite.
A teraz sa pozrime na nástroj Duplicate Remover v akcii.
Predpokladajme, že máte súhrnnú tabuľku vytvorenú konsolidáciou údajov z niekoľkých iných tabuliek. Je zrejmé, že táto súhrnná tabuľka obsahuje veľa duplicitných riadkov a vašou úlohou je extrahovať jedinečné riadky, ktoré sa v tabuľke vyskytujú iba raz, alebo odlišné riadky vrátane jedinečných a 1. duplicitných výskytov. Tak či onak, s doplnkom Duplicate Remover je táto úloha hotová v 5 rýchlych krokoch.
- Vyberte ľubovoľnú bunku v zdrojovej tabuľke a kliknite na tlačidlo Odstránenie duplikátov tlačidlo na Údaje Ablebits na karte Dedupe skupina.
Sprievodca odstránením duplikátov sa spustí a vyberie celú tabuľku. Ďalšie prejsť na ďalší krok.
- Jedinečné
- Jedinečné +1výskyt (odlišné)
V tomto príklade sa snažíme získať jedinečné riadky ktoré sa v zdrojovej tabuľke objavia len raz, takže vyberieme Jedinečné možnosť:
Tip. Ako vidíte na vyššie uvedenej snímke obrazovky, k dispozícii sú aj 2 možnosti pre duplicitné hodnoty , majte ho na pamäti, ak potrebujete odčítať nejaký iný pracovný hárok.
V tomto príklade chceme nájsť jedinečné riadky na základe hodnôt vo všetkých 3 stĺpcoch ( Objednávacie číslo , Krstné meno a Priezvisko ), preto vyberieme všetky.
- Zvýraznenie jedinečných hodnôt
- Výber jedinečných hodnôt
- Identifikácia v stĺpci stavu
- Kopírovanie na iné miesto
Keďže extrahujeme jedinečné riadky, vyberte Kopírovanie na iné miesto a potom určte, kam presne ich chcete skopírovať - aktívny hárok (vyberte Vlastné umiestnenie a zadajte hornú bunku cieľového rozsahu), nový pracovný hárok alebo nový zošit.
V tomto príklade si vyberieme nový hárok:
Páči sa vám tento rýchly a jednoduchý spôsob, ako získať zoznam jedinečných hodnôt alebo riadkov v programe Excel? Ak áno, odporúčam vám stiahnuť si nižšie uvedenú hodnotiacu verziu a vyskúšať ju. Duplicate Remover, ako aj všetky ostatné nástroje na úsporu času, ktoré máme, sú súčasťou balíka Ultimate Suite for Excel.
Dostupné súbory na stiahnutie
Vyhľadávanie jedinečných hodnôt v programe Excel - vzorový zošit (.xlsx súbor)
Ultimate Suite - skúšobná verzia (.exe súbor)