Excel

Laske yksilölliset tekstiarvot kriteereillä

Count Unique Text Values With Criteria

Excel -kaava: Laske yksilölliset tekstiarvot kriteereilläYleinen kaava | _+_ | Yhteenveto

Voit laskea ainutlaatuisia tekstiarvoja alueella, jolla on ehtoja, käyttämällä taulukkoon perustuvaa taulukkokaavaa TAAJUUS ja OTTELU toimintoja. Esitetyssä esimerkissä G6: n kaava on:



{= SUM (--( FREQUENCY ( IF (criteria, MATCH (vals,vals,0)), ROW (vals)- ROW (vals.first)+1)>0))}

joka palauttaa 3, koska kolme eri ihmistä työskenteli projektissa Omega.

Huomaa: tämä on taulukon kaava ja on syötettävä näppäimillä control + shift + enter.





Kanssa Excel 365 , voit käyttää a paljon yksinkertaisempi kaava perustuu UNIQUE -toiminto . Selitys

Tämä on monimutkainen kaava, joka käyttää FREQUENCY -funktiota MATCH -funktiosta johdettujen numeeristen arvojen laskemiseen. Sisäpuolelta ulospäin toimivalla MATCH -toiminnolla saadaan jokaisen datassa näkyvän arvon sijainti:

 
{= SUM (--( FREQUENCY ( IF (C5:C11=G5, MATCH (B5:B11,B5:B11,0)), ROW (B5:B11)- ROW (B5)+1)>0))}

MATCHin tulos on seuraavanlainen taulukko:



 
 MATCH (B5:B11,B5:B11,0)

Koska MATCH palauttaa aina sijainnin ensimmäinen vastaavuutta, arvot, jotka näkyvät useammin kuin kerran tiedoissa, palauttavat saman sijainnin. Esimerkiksi, koska 'Jim' näkyy 4 kertaa luettelossa, hän esiintyy tässä taulukossa 4 kertaa numerona 1.

MATCH -toiminnon ulkopuolella IF -toiminto käytetään kriteerien soveltamiseen, joihin tässä tapauksessa kuuluu testata, onko projekti 'omega' (solusta G5):

 
{1131167}

IF -toiminto toimii kuin suodatin ja sallii MATCH -arvojen kulkea läpi vain, jos ne liittyvät omegaan. Tuloksena on tällainen taulukko:

 
 IF (C5:C11=G5 // filter on 'omega'

Suodatettu ryhmä toimitetaan suoraan FREQUENCY -funktiolle nimellä data_array Perustelu. Seuraavaksi, ROW -toiminto käytetään rakentamaan peräkkäinen luettelo numeroista jokaiselle datan arvolle:

 
{FALSEFALSEFALSE1167} // after filtering

Tämä luo seuraavanlaisen taulukon:

 
 ROW (B3:B12)- ROW (B3)+1

josta tulee bins_array argumentti SUODATTIMESSA. Tässä vaiheessa meillä on:

 
{12345678910}

TAAJUUS palauttaa numeroryhmän, joka ilmaisee lukumäärän jokaiselle dataryhmän arvolle, bin -järjestyksessä. Kun luku on jo laskettu, TAAJUUS palauttaa nollan. FREQUENCYn tulos on seuraavanlainen taulukko:

 
 FREQUENCY ({FALSEFALSEFALSE1167},{1234567})

Huomautus: FREQUENCY palauttaa aina taulukon, jossa on yksi kohde enemmän kuin bins_array .

kuinka saada prosenttiosuus Excelissä

Tässä vaiheessa voimme kirjoittaa kaavan uudelleen näin:

 
{20000110} // result from FREQUENCY

Tarkistamme nollaa suurempia arvoja, mikä muuntaa luvut TOSIIN tai EPÄTOSIIN:

 
= SUM (--({20000110}>0))

Käytämme sitten a kaksinkertainen negatiivinen pakottaa loogiset arvot arvoihin 1s ja 0s:

 
= SUM (--({TRUEFALSEFALSEFALSEFALSETRUETRUEFALSE}))

Lopuksi, SUM -toiminto palauttaa lopputuloksena 3.

Huomaa: tämä on taulukkokaava ja se on annettava näppäimillä Control + Vaihto + Enter.

Alueen tyhjien solujen käsittely

Jos alueen solut ovat tyhjiä, sinun on muutettava kaavaa, jotta tyhjiä soluja ei siirretä MATCH -toimintoon, mikä aiheuttaa virheen. Voit tehdä tämän lisäämällä toisen sisäkkäisen IF -toiminnon tyhjien solujen tarkistamiseksi:

 
= SUM ({10000110})

Kahdella kriteerillä

Jos sinulla on kaksi ehtoa, voit laajentaa kaavan logiikkaa lisäämällä toisen sisäkkäisen IF: n:

 
{= SUM (--( FREQUENCY ( IF (B5:B11'', IF (C5:C11=G5, MATCH (B5:B11,B5:B11,0))), ROW (B5:B11)- ROW (B5)+1)>0))}

Missä c1 = kriteerit1, c2 = kriteerit2 ja valssi = arvoalue.

Boolen logiikalla

Kanssa boolen logiikka , voit vähentää sisäkkäiset IF: t :

 
{= SUM (--( FREQUENCY ( IF (c1, IF (c2, MATCH (vals,vals,0))), ROW (vals)- ROW (vals.1st)+1)>0))}

Tämä helpottaa lisäehtojen lisäämistä ja hallintaa.

Mukautettu alkaen Mike Givinin erinomainen kirja matriisikaavoista, Control-Vaihto-Enter. Kirjailija Dave Bruns


^