Powered by Smartsupp
Skip to main content

Prawda i fałsz – funkcje logiczne Excela

Fałsz i prawda same z siebie niewiele dają, a ich użycie ma sens, jeśli są argumentami innych formuł. Potoczne powiedzenie, że Excel to „logika i matematyka” ma w sobie sporo prawdy, gdyż już w „pierwszej” na polskim rynku wersji Excela (Excel 3.0 1990 r.) istniała grupa funkcji logicznych. I tak, z niewielkimi zmianami jest do dziś.

Podstawowe funkcje logiczne Excela to: PRAWDA() – „logiczne jeden”, FAŁSZ() –  „logiczne zero”, NIE(...) – zaprzeczenie, LUB(…;….;.) – alternatywa, ORAZ(…;….;.) – koniunkcja, JEŻELI(…;….;…) – implikacja.
Jak pamiętamy z logiki,  zaprzeczenie prawdy daje fałsz, zaprzeczenie fałszu – prawdę. Alternatywa zawsze jest prawdziwa, a fałszywa tylko wtedy, gdy wszystkie argumenty są fałszywe.
Natomiast koniunkcja zawsze jest fałszywa – prawdziwa tylko wtedy gdy wszystkie argumenty są prawdziwe. Alternatywy i koniunkcji używamy często w zaawansowanym formatowaniu warunkowym czy też np. w funkcjach Baz Danych.

Często w obliczeniach musimy ustawiać różnego rodzaju warunki, stąd najczęściej wykorzystywaną w tej grupie jest implikacja. Np. jeżeli termin płatności (komórka A1) minął, wpisz 1, inaczej 0 -> JEŻELI(DZIŚ()-A1>0;1;0). Po wypełnieniu formuły na kolejne rekordy wszystkich dłużników oznaczymy jedynkami w arkuszu. Stosując formatowanie warunkowe, mamy graficzną przejrzystość wyników. Funkcja JEŻELI sprawdza w zasadzie dwa warunki – PRAWDA; FAŁSZ. Gdy rozwiązujemy przypadki bardziej złożone, składamy (zagnieżdżamy) funkcję JEŻELI wielokrotnie.

W jeszcze bardziej złożonych przypadkach, kilkunastu-kilkudziesięciu porównań wygodniej jest wykorzystać moduł MS Visual Basic i zaprogramować własną funkcję. Przykładowo - cenę usługi warunkujemy kosztem części zamiennych. Z kodu funkcji łatwo zauważyć zależności:
Function cena_usługi(koszt_części)
If koszt_części > 1000 Then
    cena_usługi = 5
ElseIf koszt_części > 500 Then
    cena_usługi = 50
ElseIf koszt_części > 100 Then
    cena_usługi = 150
Else
    cena_usługi = 250
End If
End Function

Złożona funkcja JEŻELI miałaby w tym przykładzie postać:
=JEŻELI(A10>1000;5;JEŻELI(A10>500;50;JEŻELI(A10>100;150;250)))
W grupie funkcji logicznych są też funkcje „nielogiczne”-> JEŻELI.BŁĄD(…;…),JEŻELI.ND(…;…).
Nazwałbym je funkcjami „kosmetycznymi”, po prostu jeśli funkcja odpowiednio zwraca znak błędu, to można w jego miejsce wstawić własny komunikat czy też wartość liczbową.

Tradycyjnie zachęcam do korzystania z omawianej kategorii funkcji Excela, a także zapraszam do BDO na warsztaty i szkolenia z Excela.



Janusz Gach

wykładowca, trener z wieloletnim stażem. Prowadzi szkolenia dla BDO. Autor wielu programów szkoleniowych dotyczących wykorzystania programu Excel,  informatyki we wspomaganiu zarządzania przepływem informacji w nowoczesnym przedsiębiorstwie. Specjalizuje się m.in. w zastosowaniach arkuszy kalkulacyjnych, a także w analizach związanych z potrzebami biznesu.

 

Zapraszamy na najblizsze warsztaty:

 

wyszukiwanie po:

Newsletter BDO

Chcesz otrzymywać najnowsze informacje o najnowszych artykułach, aktualnościach i szkoleniach?