Excel formula: IF s logičkom logikom -

Sadržaj

Generička formula

= IF(criteria1*criteria2*criteria3,result)

Sažetak

U prikazanom primjeru formula u F8 je:

(=SUM(IF((color="red")*(region="East")*(quantity>7),quantity)))

Napomena: ovo je formula niza i mora se unijeti sa control + shift + enter.

Obrazloženje

Napomena: Ovaj primjer pokazuje kako zamijeniti ugniježđenu formulu IF s jednim IF u formuli polja pomoću logičke logike. Ova se tehnika može koristiti za smanjenje složenosti složenih formula. Međutim, primjer je samo za ilustraciju. Ovaj se problem lako može riješiti pomoću SUMIFS-a ili SUMPRODUCT-a.

Formule u F7 i F8 daju isti rezultat, ali imaju različite pristupe. U ćeliji F7 imamo sljedeću formulu, koristeći ugniježđeni IF pristup:

(=SUM(IF(color="red",IF(region="east",IF(quantity>7,quantity)))))

Evo kako Excel procjenjuje IF u SUM-u:

=IF((TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE), IF((TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE), IF((FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE),quantity)))

U osnovi, svaki IF "filtrira" vrijednosti u sljedeći IF, a samo one količine koje sva tri logička testa vraćaju TRUE "preživljavaju" operaciju. Ostale količine postaju LAŽNE i SUM ih procjenjuje kao nulu. Konačni rezultat unutar SUM-a niz je vrijednosti poput ove:

=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))

Vrijednosti FALSE procjenjuju se na nulu, a funkcija SUM daje konačni rezultat od 18.

U F8 imamo ovu formulu koja koristi jedan IF i logičku logiku:

=SUM(IF((color="red")*(region="East")*(quantity>7),quantity))

Svaki logički izraz vraća niz vrijednosti TRUE i FALSE. Kada se ti nizovi pomnože, matematička operacija prisiljava vrijednosti na jedinice i nule u jednom nizu poput ovog:

IF((0;0;0;0;0;0;1;0;1),quantity)

Niz 1 i 0 filtrira nebitne podatke i isti rezultat isporučen je u SUM:

=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))

Kao i prije, SUM daje konačni rezultat od 18.

Zanimljivi članci...