Excel formula: IF z logično logiko -

Kazalo

Splošna formula

= IF(criteria1*criteria2*criteria3,result)

Povzetek

V prikazanem primeru je formula v F8:

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

Opomba: to je matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Pojasnilo

Opomba: Ta primer prikazuje, kako vstavljeno formulo IF zamenjati z enim IF v matrični formuli z uporabo logične logike. To tehniko lahko uporabimo za zmanjšanje zapletenosti zapletenih formul. Vendar je primer samo za ponazoritev. To težavo bi lahko enostavno rešili s programom SUMIFS ali SUMPRODUCT.

Formuli v F7 in F8 vrneta enak rezultat, vendar imata različne pristope. V celici F7 imamo naslednjo formulo z uporabo vgnezdenega pristopa IF:

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

Excel tako ocenjuje IF v SUM:

=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)))

V bistvu vsak IF "filtrira" vrednosti v naslednjega IF in samo količine, pri katerih vsi trije logični testi vrnejo TRUE, "preživijo" operacijo. Druge količine postanejo LAŽNE in jih SUM oceni kot nič. Končni rezultat znotraj SUM je vrsta vrednosti, kot je ta:

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

Vrednosti FALSE so ocenjene na nič, funkcija SUM pa vrne končni rezultat 18.

V F8 imamo to formulo, ki uporablja en sam IF in logično logiko:

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

Vsak logični izraz vrne polje TRUE in FALSE vrednosti. Ko se ti nizi pomnožijo skupaj, matematična operacija prisili vrednosti na enote in ničle v enem samem polju, kot je ta:

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

Polje 1s in 0s filtrira nepomembne podatke in enak rezultat je bil dostavljen v SUM:

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

Kot prej je SUM vrnil končni rezultat 18.

Zanimive Članki...