Екцел

АКО са логичком логиком

If With Boolean Logic

Екцел формула: АКО са логичком логикомГенеричка формула
=  IF (criteria1*criteria2*criteria3,result)
Резиме

У приказаном примеру, формула у Ф8 је:

 
{= SUM ( IF ((color='red')*(region='East')*(quantity>7),quantity))}

Напомена: ово је формула низа , и мора се унети са цонтрол + схифт + ентер.



Објашњење

Напомена: Овај пример показује како заменити а угнежђена формула ИФ са једним ИФ у формули низа користећи логичку логику. Ова техника се може користити за смањење сложености сложених формула. Међутим, пример је само за илустрацију. Овај одређени проблем могао би се лако решити СУМИФИРА или СУМПРОДУЦТ .

Формуле у Ф7 и Ф8 дају исти резултат, али имају различите приступе. У ћелији Ф7 имамо следећу формулу, користећи угнежђени ИФ приступ:

како направити квадратни корен на екцелу
 
{= SUM ( IF (color='red', IF (region='east', IF (quantity>7,quantity))))}

Ево како Екцел процењује ИФ у СУМ-у:



 
= IF ({TRUEFALSEFALSETRUEFALSEFALSETRUEFALSETRUE},  IF ({TRUEFALSETRUEFALSETRUEFALSETRUEFALSETRUE},  IF ({FALSETRUETRUETRUETRUETRUETRUETRUETRUE},quantity)))

У суштини, сваки ИФ 'филтрира' вредности у следећи ИФ, а само оне величине где сва три логичка теста враћају ИСТИНУ 'преживе' операцију. Остале количине постају ЛАЖНЕ и СУМ их процењује као нулу. Коначни резултат унутар СУМ-а је низ вредности попут ове:

 
= SUM ({FALSEFALSEFALSEFALSEFALSEFALSE8FALSE10})

Вредности ФАЛСЕ процењују се на нулу, а функција СУМ даје коначни резултат од 18.

У Ф8 имамо ову формулу која користи један ИФ и логичку логику:



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

Сваки логички израз враћа низ вредности ТРУЕ и ФАЛСЕ. Када се ови низови помноже, математичка операција присиљава вредности на јединице и нуле у једном низу попут овог:

 
 IF ({000000101},quantity)

Низ од 1 и 0 филтрира небитне податке и исти резултат је достављен СУМ-у:

 
= SUM ({FALSEFALSEFALSEFALSEFALSEFALSE8FALSE10})

Као и раније, СУМ даје коначни резултат од 18.

Аутор Даве Брунс


^