Excel-kaava: Laske yksilölliset numeeriset arvot ehtojen kanssa

Yleinen kaava

(=SUM(--(FREQUENCY(IF(criteria,values),values)>0)))

Yhteenveto

Voit laskea alueen yksilölliset numeeriset arvot käyttämällä FREQUENCY-, SUM- ja IF-funktioihin perustuvaa kaavaa. Esitetyssä esimerkissä työntekijöiden numerot näkyvät alueella B5: B14. G6: n kaava on:

=SUM(--(FREQUENCY(IF(C5:C14="A",B5:B14),B5:B14)>0))

joka palauttaa 2, koska A-rakennuksessa on 2 yksilöllistä työntekijätunnusta.

Huomaa: tämä on matriisikaava, ja se on syötettävä näppäimillä + + Vaihto + Enter, ellet käytä Excel 365: tä.

Selitys

Huomautus: Ennen Excel 365: tä Excelillä ei ollut erillistä toimintoa yksilöllisten arvojen laskemiseen. Tämä kaava näyttää yhden tavan laskea yksilölliset arvot, kunhan ne ovat numeerisia. Jos sinulla on teksti-arvoja tai sekoitus tekstiä ja numeroita, sinun on käytettävä monimutkaisempaa kaavaa.

Excel FREQUENCY -funktio palauttaa taajuusjakauman, joka on yhteenvetotaulukko, joka sisältää numeeristen arvojen taajuuden järjestettynä "lokeroihin". Käytämme sitä tässä liikenneympyränä tapana laskea yksilölliset numeeriset arvot. Ehtojen soveltamiseksi käytämme IF-funktiota.

Työskentelemällä sisältä ulospäin suodatamme ensin arvot IF-toiminnolla:

IF(C5:C14="A",B5:B14) // filter on building A

Tämän operaation tulos on tällainen taulukko:

(905;905;905;905;773;773;FALSE;FALSE;FALSE;FALSE)

Huomaa, että kaikki rakennuksen B tunnukset ovat nyt EPÄTOSI. Tämä taulukko toimitetaan suoraan FREQUENCY-funktiolle data_array-muodossa . Sillä bins_array toimitamme IDS itse:

FREQUENCY((905;905;905;905;773;773;FALSE;FALSE;FALSE;FALSE),(905;905;905;905;773;773;801;963;963;963))

Tällä kokoonpanolla FREQUENCY palauttaa alla olevan taulukon:

(4;0;0;0;2;0;0;0;0;0;0)

Tulos on hieman salaperäinen, mutta merkitys on 905 näkyy neljä kertaa ja 773 kaksi kertaa. FALSE-arvot ohitetaan automaattisesti.

FREQUENCY-ominaisuudella on erityisominaisuus, joka palauttaa automaattisesti nollan kaikille datalevyssä jo esiintyneille numeroille, minkä vuoksi arvot ovat nolla, kun luku on kohdattu. Tämä on ominaisuus, joka sallii tämän lähestymistavan toimivan.

Seuraavaksi jokainen näistä arvoista testataan suuremmiksi kuin nolla:

(4;0;0;0;2;0;0;0;0;0;0)>0

Tuloksena on tällainen taulukko:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

Jokainen luettelon TOSI-arvo edustaa yksilöllistä numeroa luettelossa, ja meidän on vain lisättävä TOSI-arvot SUM-arvolla. SUM ei kuitenkaan lisää yhteen loogisia arvoja taulukossa, joten meidän on ensin pakotettava arvot arvoon 1 tai nolla. Tämä tehdään kaksois-negatiivisella (-). Tuloksena on vain 1: n tai 0: n taulukko:

(1;0;0;0;1;0;0;0;0;0;0)

Lopuksi SUM lisää nämä arvot ylös ja palauttaa kokonaissumman, joka tässä tapauksessa on 2.

Useita kriteerejä

Voit laajentaa kaavaa käsittelemään useita tällaisia ​​ehtoja:

(=SUM(--(FREQUENCY(IF((criteria1)*(criteria2),values),values)>0)))

Hyvät linkit

Mike Girvinin kirja Control-Shift-Enter

Mielenkiintoisia artikkeleita...