„Excel“ formulė: JEI su logine logika -

Turinys

Bendroji formulė

= IF(criteria1*criteria2*criteria3,result)

Santrauka

Parodytame pavyzdyje formulė F8 yra:

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

Pastaba: tai yra masyvo formulė, kurią reikia įvesti su „Control“ + „Shift“ + „Enter“.

Paaiškinimas

Pastaba: Šis pavyzdys parodo, kaip įdėtą IF formulę pakeisti viena IF masyvo formulėje, naudojant loginę logiką. Ši technika gali būti naudojama siekiant sumažinti sudėtingų formulių sudėtingumą. Tačiau pavyzdys yra tik iliustracinis. Šią problemą galima lengvai išspręsti naudojant SUMIFS arba SUMPRODUCT.

F7 ir F8 formulės pateikia tą patį rezultatą, tačiau jų požiūriai skiriasi. F7 langelyje turime šią formulę, naudodami įdėtą IF metodą:

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

Štai kaip „Excel“ vertina IF SUM viduje:

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

Iš esmės kiekvienas IF „filtruoja“ reikšmes į kitą IF ir operacijoje „išgyvena“ tik tie dydžiai, kur visi trys loginiai testai grąžina TIKRĄ. Kiti dydžiai tampa NETIESA ir SUM vertinami kaip nulis. Galutinis rezultatas SUM yra tokių reikšmių masyvas:

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

FALSE reikšmės įvertinamos iki nulio, o funkcija SUM pateikia galutinį rezultatą 18.

F8 turime šią formulę, kurioje naudojama viena IF ir loginė logika:

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

Kiekviena loginė išraiška pateikia TRUE ir FALSE reikšmių masyvą. Kai šie masyvai padauginami kartu, matematikos operacija priverčia reikšmes vienetams ir nuliams viename masyve taip:

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

1s ir 0s masyvas filtruoja nesusijusius duomenis ir tas pats rezultatas pateikiamas SUM:

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

Kaip ir anksčiau, SUM pateikia 18 galutinį rezultatą.

Įdomios straipsniai...