Обща формула
=REPT("message",logical test)
Обобщение
За показване на условно съобщение, без функцията IF, можете да използвате логическа логика и функцията REPT. В показания пример формулата в D5 (копирана надолу) е:
=REPT("low",C5<100)
Ако стойността в колона С е по-малка от 100, формулата връща "ниско". В противен случай формулата връща празен низ (""), който прилича на празна клетка.
Обяснение
Тази формула използва логическа логика за извеждане на условно съобщение. Ако стойността в колона С е по-малка от 100, формулата връща "ниско". Ако не, формулата връща празен низ ("").
Булевата логика е техника за обработка на TRUE и FALSE стойности като 1 и 0. В клетка C5 формулата се оценява по следния начин:
=REPT("low",C5<100) =REPT("low",TRUE) =REPT("low",1) ="low"
С други думи, ако C5 <100, изведете "low" 1 път. В клетка C6 формулата се оценява по следния начин:
=REPT("low",C6<100) =REPT("low",FALSE) =REPT("low",0) =""
С други думи, ако C6 <100 е FALSE, изведете "ниско" нула пъти.
IF функция алтернатива
Условни съобщения като това се обработват по-често с функцията IF. При IF еквивалентната формула е:
=IF(C5<100,"low","")
И двете формули връщат абсолютно един и същ резултат, но версията REPT е малко по-проста.
Разширяване на логиката
Булевата логика може да бъде разширена с прости математически операции за обработка на по-сложни сценарии. Накратко, логиката И може да бъде изразена с умножение (*) ИЛИ логиката може да бъде изразена с добавяне (+). Например, за да върнем "ниско" само когато (count <100) И (ден = понеделник) можем да използваме логическа логика по следния начин:
=REPT("low",(C5<100)*(B5="Monday"))
Формулата за еквивалентен IF е:
=IF(C5<100,IF(B5="Monday","low",""),"")
или, опростявайки малко с И:
=IF(AND(C5<100,B5="Monday"),"low","")
Принуждаване TRUE и FALSE до 1 и нула
Когато използвате логическа логика, понякога ще трябва да принудите Excel да принуди TRUE и FALSE до 1 и нула. Един прост начин да направите това е да използвате двойно отрицателно (-).