Formuła ogólna
=REPT("message",logical test)
Podsumowanie
Aby wyświetlić komunikat warunkowy, bez funkcji JEŻELI, możesz użyć logiki boolowskiej i funkcji POWTÓRZ. W przedstawionym przykładzie formuła w D5 (skopiowana w dół) to:
=REPT("low",C5<100)
Jeśli wartość w kolumnie C jest mniejsza niż 100, formuła zwraca „niski”. W przeciwnym razie formuła zwraca pusty ciąg („”), który wygląda jak pusta komórka.
Wyjaśnienie
Ta formuła używa logiki boolowskiej do wyświetlania komunikatu warunkowego. Jeśli wartość w kolumnie C jest mniejsza niż 100, formuła zwraca „niski”. Jeśli nie, formuła zwraca pusty ciąg („”).
Logika boolowska to technika obsługi wartości PRAWDA i FAŁSZ, takich jak 1 i 0. W komórce C5 formuła jest obliczana w następujący sposób:
=REPT("low",C5<100) =REPT("low",TRUE) =REPT("low",1) ="low"
Innymi słowy, jeśli C5 <100, wyjście „niskie” 1 raz. W komórce C6 formuła jest obliczana w następujący sposób:
=REPT("low",C6<100) =REPT("low",FALSE) =REPT("low",0) =""
Innymi słowy, jeśli C6 <100 jest FAŁSZ, wyprowadza „niski” zero razy.
Alternatywa funkcji JEŻELI
Takie komunikaty warunkowe są częściej obsługiwane za pomocą funkcji JEŻELI. W przypadku JEŻELI równoważna formuła to:
=IF(C5<100,"low","")
Obie formuły zwracają dokładnie ten sam wynik, ale wersja REPT jest nieco prostsza.
Rozszerzenie logiki
Logikę boolowską można rozszerzyć za pomocą prostych operacji matematycznych, aby obsługiwać bardziej złożone scenariusze. Krótko mówiąc, logikę AND można wyrazić za pomocą mnożenia (*) logikę OR można wyrazić za pomocą dodawania (+). Na przykład, aby zwrócić „niski” tylko wtedy, gdy (liczba <100) ORAZ (dzień = poniedziałek), możemy użyć logiki boolowskiej w następujący sposób:
=REPT("low",(C5<100)*(B5="Monday"))
Równoważna formuła IF to:
=IF(C5<100,IF(B5="Monday","low",""),"")
lub, upraszczając trochę za pomocą AND:
=IF(AND(C5<100,B5="Monday"),"low","")
Wymuszanie wartości TRUE i FALSE na 1 i zero
Podczas korzystania z logiki boolowskiej czasami trzeba wymusić na programie Excel wymuszenie przekształcenia wartości TRUE i FALSE na 1 i zero. Prostym sposobem na to jest użycie podwójnego ujemnego (-).