Sisällysluettelo
Ohjeessa tarkastellaan, miten hyödyntää uusia dynaamisia array-toimintoja Excelin ainutlaatuisten arvojen laskemiseen: kaava sarakkeen ainutlaatuisten merkintöjen laskemiseksi, useiden kriteerien kanssa, tyhjien merkintöjen huomiotta jättäminen ja paljon muuta.
Pari vuotta sitten keskustelimme eri tavoista laskea ainutlaatuisia ja erillisiä arvoja Excelissä. Mutta kuten mikä tahansa muu ohjelma, Microsoft Excel kehittyy jatkuvasti, ja uusia ominaisuuksia ilmestyy lähes jokaisen julkaisun yhteydessä. Tänään tarkastelemme, miten ainutlaatuisten arvojen laskeminen Excelissä voidaan tehdä hiljattain käyttöönotettujen dynaamisten array-funktioiden avulla. Jos et ole vielä käyttänyt mitään näistä funktioista, voitteon hämmästynyt nähdessään, kuinka paljon yksinkertaisemmat kaavat ovat rakentamisen ja käyttömukavuuden kannalta.
Huomautus: Kaikki tässä ohjeessa käsitellyt kaavat perustuvat UNIQUE-funktioon, joka on käytettävissä vain Excel 365:ssä ja Excel 2021:ssä. Jos käytät Excel 2019:ää, Excel 2016:ta tai aiempia versioita, katso ratkaisut tästä artikkelista.
Yksilöllisten arvojen laskeminen sarakkeessa
Helpoin tapa laskea sarakkeen yksilölliset arvot on käyttää UNIQUE-funktiota yhdessä COUNTA-funktion kanssa:
Kaava toimii tällä yksinkertaisella logiikalla: UNIQUE palauttaa ainutlaatuisten merkintöjen joukon, ja COUNTA laskee kaikki joukon elementit.
Lasketaan esimerkiksi yksilölliset nimet alueella B2:B10:
=COUNTA(UNIQUE(B2:B10))
Kaava kertoo, että voittajalistalla on 5 eri nimeä:
Vinkki: Tässä esimerkissä laskemme yksilölliset tekstiarvot, mutta voit käyttää tätä kaavaa myös muille tietotyypeille, kuten numeroille, päivämäärille, aikatiedoille jne.
Laske ainutlaatuiset arvot, jotka esiintyvät vain kerran
Edellisessä esimerkissä laskimme kaikki sarakkeen erilaiset (erilliset) merkinnät. Tällä kertaa haluamme tietää niiden erillisten tietueiden lukumäärän, joita tapahtua vain kerran Jotta se olisi tehty, rakenna kaava näin:
Jos haluat saada luettelon kertaluonteisista esiintymistä, aseta UNIQUE-kohdan kolmanneksi argumentiksi TRUE:
UNIQUE(B2:B10,,TRUE)))
Jos haluat laskea ainutkertaiset kertaluonteiset esiintymät, sisällytä UNIQUE ROW-funktioon:
ROWS(UNIQUE(B2:B10,,TRUE))
Huomaa, että COUNTA ei toimi tässä tapauksessa, koska se laskee kaikki muut kuin tyhjät solut, myös virhearvot. Jos tuloksia ei löydy, UNIQUE palauttaisi virheen ja COUNTA laskisi sen arvoksi 1, mikä on väärin!
Jos haluat käsitellä mahdollisia virheitä, kiedo IFERROR-funktio kaavan ympärille ja määritä se antamaan 0, jos jokin virhe ilmenee:
=IFERROR(ROWS(UNIQUE(B2:B10,,TRUE)), 0)
Tuloksena saat laskennan, joka perustuu tietokannan käsitteeseen uniikki:
Laske yksilölliset rivit Excelissä
Nyt kun osaat laskea sarakkeen yksilölliset solut, onko sinulla mitään ideaa, miten löytää yksilöllisten rivien määrä?
Tässä on ratkaisu:
ROWS(UNIQUE( alue ))Temppu on "syöttää" koko alue UNIQUE-funktiolle, jotta se löytää useiden sarakkeiden arvojen ainutlaatuiset yhdistelmät. Sen jälkeen kaava yksinkertaisesti liitetään ROWS-funktioon rivien lukumäärän laskemiseksi.
Jos esimerkiksi haluat laskea ainutlaatuiset rivit alueella A2:C10, käytämme tätä kaavaa:
=ROWS(UNIQUE(A2:C10))
Laske yksilölliset merkinnät huomioimatta tyhjiä soluja
Jos haluat laskea Excelissä ainutlaatuisia arvoja ilman tyhjiä soluja, käytä FILTER-toimintoa tyhjien solujen suodattamiseksi ja loimi se sitten jo tutulla COUNTA UNIQUE -kaavalla:
COUNTA(UNIQUE(FILTER( alue , alue "")))Kun lähdetiedot ovat B2:B11, kaava on seuraavanlainen:
=COUNTA(UNIQUE(FILTER(B2:B11, B2:B11""))))
Alla olevassa kuvakaappauksessa näkyy tulos:
Laske yksilölliset arvot kriteereillä
Jos haluat poimia yksilöllisiä arvoja tiettyjen kriteerien perusteella, käytät jälleen UNIQUE- ja FILTER-funktioita yhdessä, kuten tässä esimerkissä selitetään. Sen jälkeen käytät ROWS-funktiota yksilöllisten merkintöjen laskemiseen ja IFERROR-funktiota kaikenlaisten virheiden havaitsemiseen ja niiden korvaamiseen arvolla 0:
IFERROR(ROWS(UNIQUE( alue , criteria_range = kriteerit ))), 0)Jos haluat esimerkiksi selvittää, kuinka monta erilaista voittajaa tietyssä urheilulajissa on, käytä tätä kaavaa:
=IFERROR(ROWS(UNIQUE(FILTER(A2:A10,B2:B10=E1))), 0)
Jossa A2:A10 on alue, josta etsitään yksilöllisiä nimiä ( alue ), B2:B10 ovat urheilulajeja, joissa voittajat kilpailevat ( criteria_range ) ja E1 on kiinnostava urheilulaji ( kriteerit ).
Laske yksilölliset arvot useilla kriteereillä
Moniin kriteereihin perustuvien uniikkien arvojen laskentakaava on melko samanlainen kuin yllä olevassa esimerkissä, vaikka kriteerit on rakennettu hieman eri tavalla:
IFERROR(ROWS(UNIQUE( alue , ( kriteerit_alue1 = kriteerit1 ) * ( kriteerit_alue2 = kriteerit2 )))), 0)Ne, jotka ovat uteliaita tuntemaan kaavan sisäisen mekaniikan, löytävät kaavan logiikan selityksen täältä: Find unique values based on multiple criteria.
Tässä esimerkissä selvitetään, kuinka monta eri voittajaa on tietyssä F1-lajissa ( perusteet 1 ) ja alle F2-ikäiset ( kriteerit 2 ). Tätä varten käytämme seuraavaa kaavaa:
=IFERROR(ROWS(UNIQUE(FILTER(A2:A10, (B2:B10=F1) * (C2:C10
Jossa A2:B10 on nimiluettelo ( alue ), C2:C10 ovat urheilua ( kriteerit_alue 1 ) ja D2:D10 ovat iät ( kriteerit_alue 2 ).
Näin lasket ainutlaatuisia arvoja Excelissä uusien dynaamisten array-funktioiden avulla. Arvostat varmasti sitä, miten paljon yksinkertaisemmiksi kaikki ratkaisut muuttuvat. Joka tapauksessa, kiitos lukemisesta ja toivottavasti tapaamme blogissamme ensi viikolla!
Käytännön työkirja ladattavissa
Esimerkkejä laskentakaavasta (.xlsx-tiedosto)