MS Excel 1. JEŻELI - funkcja służąca do testowania warunków logicznych Składnia: JEŻELI(warunek_logiczny; wartośd_dla_prawdy; wartośd_dla_fałszu) W warunku logicznym wykorzystywane są logiczne operatory porównania =, >, <, >=, <=, <>, za pomocą których porównywane są wartości komórek. Przykłady: Formuła =JEŻELI(A1>0; "Sukces :-)"; "Porażka :-(") spowoduje wyświetlenie ciągu znaków Sukces :-) gdy wartośd komórki A1 jest większa od zera lub Porażka:-(, gdy wartośd komórki A1 wynosi zero lub mniej niż zero. Formuła =JEŻELI(SUMA(A1:A12)<0; "Mamy straty"; "Nie mamy strat") wyświetli ciąg znaków Mamy straty, gdy suma wartości komórek A1:A12 (reprezentujących np. miesięczne zyski firmy) jest mniejsza od zera, a Nie mamy strat, gdy suma ta będzie nieujemna. Formuła =JEŻELI(SUMA(A2:F2)>85; "Uczeo zdał"; "Uczeo nie zdał") wyświetli ciąg znaków Uczeo zdał, gdy suma wartości komórek od A2 do F2 przekroczy 85 (np. granica punktów potrzebna do zdania egzaminów), zaś Uczeo nie zdał, gdy nie przekroczy tej granicy. Funkcja JEŻELI współdziała też z funkcjami LUB, ORAZ i NIE. 1
Zagnieżdżanie JEŻELI: Niektóre problemy logiczne mogą byd rozwiązane dopiero za pomocą kilkakrotnego zagnieżdżenia funkcji JEŻELI, np. w sytuacji, gdy trzeba przydzielid ocenę zależnie od wartości przedziału, w jakim znajduje się wynik (do 7 zagnieżdżeo). W poniższym przykładzie ocena słowna zmienia się zależnie od tego, czy wartośd przekracza poziom 150 lub mieści się w przedziale 131-150 lub mieści się w przedziale 111-130 lub mieści się w przedziale 91-110 lub nie przekracza 90. Mamy więc do czynienia z pięciokrotnym użyciem zagnieżdżanej sukcesywnie funkcji JEŻELI i iloczynem logicznym ORAZ, który określa przedziały. =JEŻELI(B2>150;"geniusz";JEŻELI(ORAZ(B2>130;B2<=150);"wybitnie inteligentny";jeżeli(oraz(b2>110;b2<=130);"inteligentny";jeżeli(oraz(b2>90; B2<=110);"średnio inteligentny";jeżeli(oraz(b2<=90);"mało inteligentny"))))) 2
2. ORAZ - funkcja współdziałająca przy testowaniu warunków logicznych Składnia: ORAZ(warunek_logiczny_1; warunek_logiczny_2;...;warunek_logiczny_30) Funkcja ORAZ współdziała z funkcją JEŻELI, rozszerzając jej działanie. JEŻELI, w czystej postaci, operuje jednym warunkiem logicznym, natomiast ORAZ pozwala wprowadzid do 30 warunków logicznych. Dla prawdziwości wyrażenia konieczne jest, aby każdy z warunków, argumentów ORAZ, był prawdziwy. ORAZ jest, inaczej mówiąc, iloczynem logicznym. Przykład: Formuła =JEŻELI(ORAZ(B11="Tak"; C11="Tak"; D11="Tak"); "są szanse"; "niemożliwe") wyświetli ciąg znaków są szanse, gdy każdy z warunków będzie miał wartośd TAK, zaś niemożliwe, gdy chod jeden z warunków nie jest spełniony. 3
3. LUB - funkcja współdziałająca przy testowaniu warunków logicznych Składnia: LUB(warunek_logiczny_1; warunek_logiczny_2;...;warunek_logiczny_30) Funkcja LUB współdziała z funkcją JEŻELI, rozszerzając jej działanie. JEŻELI, w czystej postaci, operuje jednym warunkiem logicznym, natomiast LUB pozwala wprowadzid do 30 warunków logicznych. Dla prawdziwości wyrażenia wystarcza, aby chod jeden z warunków, argumentów LUB, był prawdziwy. LUB jest, inaczej mówiąc, sumą logiczną. Przykłady: Formuła =JEŻELI(LUB(A1>0; B1>0); "Sukces :-)"; "Porażka :-(") spowoduje wyświetlenie ciągu znaków Sukces :-) gdy wartośd komórki A1 jest większa od zera lub wartośd komórki B1 jest większa od zera, natomiast Porażka :-(, gdy wartośd komórki A1 wynosi zero lub mniej niż zero i wartośd komórki B1 wynosi zero lub mniej niż zero. Formuła =JEŻELI(LUB(SUMA(B2:F2)>85;G2="Tak");"Uczeo zdał na prawo";"uczeo nie zdał na prawo") wyświetli ciąg znaków Uczeo zdał na prawo, gdy suma wartości komórek od B2 do F2 przekroczy 85 (np. granica punktów potrzebna do zdania egzaminów) lub gdy jest dzieckiem prawnika, zaś Uczeo nie zdał na prawo, gdy nie przekroczy tej granicy i nie jest dzieckiem prawnika. Przekładając to na potoczny język, wystarczy osiągnąd więcej niż 85 punktów lub byd dzieckiem prawnika (wartośd komórki "Tak"), aby zdad na prawo - Kowalski uzyskał tylko 82 punkty, ale jako syn prawnika dostał się na prawo. Wiśniewska nie jest córką prawnika, ale osiągnęła wystarczającą liczbę punktów. Marczak nie spełnił żadnego z warunków, więc nie dostał się na prawo. Źródło:http://helionica.pl 4
4. Funkcje z kategorii data i godzina Wybierając Formuły->Wstaw Funkcję -> kategoria Daty i czasu mamy do dyspozycji kilka funkcji, których argumentami mogą byd daty. Funkcje te najczęściej zwracają liczbę całkowitą bądź wartości logiczne - 0 (fałsz) lub 1 (prawda). Testowanie funkcji z kategorii daty i godziny wg: http://support.microsoft.com/kb/214094/pl Funkcja DZIŚ() i funkcja TERAZ() Porównaj działanie dwóch poniższych formuł: =JEŻELI(TERAZ()=DATA.WARTOŚĆ("2010-11-25");PRAWDA;FAŁSZ) =JEŻELI(DZIŚ()=DATA.WARTOŚĆ("2010-11- 25");PRAWDA;FAŁSZ) Jak znaleźd liczbę dni między datą bieżącą a przyszłą ="rrrr-mm-dd"-teraz() Jak znaleźd liczbę dni, miesięcy i lat między dwiema datami: A1: 1994-03-25 A2: 1998-05-01 5
="lat: "&ROK(A2)-ROK(A1)- JEŻELI(LUB(MIESIĄC(A2)<MIESIĄC(A1);ORAZ(MIESIĄC (A2)=MIESIĄC(A1); DZIEŃ(A2)<DZIEŃ(A1)));1;0)&"; miesięcy: "&MIESIĄC(A2)- MIESIĄC(A1)+JEŻELI(ORAZ(MIESIĄC(A2) <=MIESIĄC(A1);DZIEŃ(A2)<DZIEŃ(A1));11;JEŻELI(OR AZ(MIESIĄC(A2)<MIESIĄC(A1);DZIEŃ(A2) >=DZIEŃ(A1));12;JEŻELI(ORAZ(MIESIĄC(A2)>MIESIĄC (A1);DZIEŃ(A2)<DZIEŃ(A1));-1)))&"; dni: "&A2- DATA(ROK(A2);MIESIĄC(A2)- JEŻELI(DZIEŃ(A2)<DZIEŃ(A1);1;0);DZIEŃ(A1)) Wynik w komórce np. D1: lat: 4; miesięcy: 1; dni: 6 Dodatkowe rozbicie formuły na dni, miesiące i lata: 6
Zadanie 1: Wpisz do komórki arkusza dowolną datę w formacie rrrr-mm-dd, np. 2010-09-25 Wynikiem ma byd napis w innej komórce: Rok: 2010 Miesiąc: 09 Dzień: 25 Zadanie 2: Oblicz ile przeżyłeś dni. Wynikiem ma byd napis w innej komórce: Mam (obliczona ilość) dni Zadanie 3: Obliczanie liczby pierwiastków równania kwadratowego. W komórkach A1, B1, C1 należy podad współczynniki a, b, c równania. Program ma liczyd deltę i podawad ilośd pierwiastków rzeczywistych w postaci: Jeden, Dwa lub Brak. 7
DODATEK - Makra w MS Excel Przykład 1 wyskakujące okienko MsgBox z wartością komórki A2 Sub makro1() Dim a a= Range("A2") MsgBox (a) End Sub 1) Początek procedury (makra), nazwa makra i puste nawiasy ta procedura nie pobiera argumentów 2) Zadeklarowanie pojedynczej zmiennej a 3) Przypisanie przy pomocy funkcji Range wartości z komórki A2 do zmiennej a. 4) Wyświetlenie okienka z tekstem pobranym ze zmiennej a 5) Koniec procedury Przykład 2 Dodanie dwóch liczb i umieszczenie wyniku w innej komórce oraz w MsgBox Sub makro2() Dim a, b a = Range("A1") b = Range("A2") Range("A3") = a + b MsgBox (a + b) End Sub 8
Inne zadania: Zadanie 4: Wykreślanie funkcji oraz jej pochodnej (ilorazu różnicowego). 1. W komórkach A1-A21 umieszczamy wartości x od 10 do 10. 2 2. W komórkach B1-B21 liczymy wartości funkcji np.: f ( x) x 4x 5 (wpisz do komórki B1 odpowiednią formułę odwołując się do adresu komórki A1). Naciśnij myszką na komórkę B1. Najedź myszką na dolny prawy róg tej komórki pojawi się krzyżyk i trzymając lewy przycisk myszy przeciągnij aż do komórki B21. Otrzymasz wartości funkcji dla odpowiednich x. 3. W komórkach C1-C20 liczymy wartości ilorazu różnicowego według wzoru: f ( x2 ) f ( x1 ) f ( x), x x 2 1 czyli wpisując formułę do komórki C1 używamy po kolei różnicy wartości dwóch pierwszych, sąsiednich komórek z kolumny B w liczniku i dwóch pierwszych, sąsiednich komórek z kolumny A w mianowniku. Naciśnij myszką na komórkę C1. Najedź myszką na dolny prawy róg tej komórki pojawi się krzyżyk i trzymając lewy przycisk myszy przeciągnij aż do komórki C20. Otrzymasz kolejne wartości ilorazu różnicowego. 4. Wykreśl funkcję oraz jej pochodną na wspólnym wykresie. Zadanie 5: W kategorii dodatek (Wstaw->Funkcja->Dodatek) są funkcje pozwalające na operacje na liczbach zespolonych np.: COMPLEX, IMPRODUCT, IMPOWER, IMABS, IMARGUMENT. Utwórz dwie liczby zespolone za pomocą funkcji COMPLEX: 2+2i oraz 3-4i. Oblicz ich iloczyn (IMPRODUCT). Podnieś je do 4 potęgi (IMPOWER). Znajdź ich moduł oraz argument (IMABS, IMARGUMENT). 9