Professional Documents
Culture Documents
Excnaj 5
Excnaj 5
KATALOG KSIEK
KATALOG ONLINE ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
Excel naprawd moe pracowa wydajniej! Przyspiesz proces wprowadzania danych Wykorzystaj formuy i funkcje Zautomatyzuj prac za pomoc makr Arkusz kalkulacyjny Excel to jeden z najpopularniejszych programw na wiecie. Jest codziennie uywany przez miliony ludzi, jednak wikszo z nich nie zna nawet poowy jego niesamowitych moliwoci. Jeli zajrzymy pod mask, poznamy te cechy aplikacji, dziki ktrym moemy pracowa szybciej, wygodniej i efektywniej. Samodzielne odkrywanie moliwoci programu to ciekawe zajcie, jednak pochania mnstwo czasu. Poradnik, ktry je kompleksowo prezentuje, stanowi wic nieocenion pomoc. Ksika Excel. Najlepsze sztuczki i chwyty zawiera ponad 200 wskazwek, dziki ktrym nauczysz si optymalizowa rutynowe procedury, budowa dynamiczne wykresy i przetwarza dane z wykorzystaniem formu. Dowiesz si, jak rozwizywa najczstsze problemy zwizane z konfiguracj aplikacji, tworzy wasne dodatki, ukrywa przyciski pl na wykresach przestawnych, kontrolowa automatyczne funkcje oraz rejestrowa i uruchamia makra w skoroszytach. Korzystanie ze skrtw klawiaturowych Zaznaczanie komrek Konfigurowanie interfejsu uytkownika Formatowanie danych i arkuszy Stosowanie formu Tworzenie wykresw Drukowanie arkuszy Rejestrowanie i stosowanie makr Korzystanie z VBA Zosta mistrzem Excela
CENNIK I INFORMACJE
ZAMW INFORMACJE O NOWOCIACH ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl
O autorze ......................................................................................... 9 Wstp ............................................................................................ 11 Rozdzia 1. Podstawy korzystania z programu Excel .......................................... 19
Wersje programu Excel ....................................................................................................21 Zwikszanie wydajnoci korzystania z menu programu ..................................................23 Wydajne zaznaczanie komrek ........................................................................................25 Specjalne zaznaczanie zakresw ..................................................................................29 Cofanie, ponowne wykonywanie i powtarzanie operacji .................................................31 Zmiana liczby poziomw cofania operacji ......................................................................32 Kilka przydatnych skrtw klawiaturowych ....................................................................34 Przemieszczanie si pomidzy arkuszami w ramach skoroszytu .....................................35 Zerowanie znacznika uywanego obszaru arkusza kalkulacyjnego ................................36 Rnica midzy skoroszytami i oknami ...........................................................................37 Unikanie uywania okienka zada podczas korzystania z systemu pomocy programu Excel 2003 .....................................................................................................38 Dostosowywanie domylnego skoroszytu .......................................................................40 Zmiana wygldu zakadki arkusza ...................................................................................42 Ukrywanie elementw interfejsu uytkownika ................................................................43 Ukrywanie kolumn i wierszy ...........................................................................................46 Ukrywanie zawartoci komrek .......................................................................................46 Przeprowadzanie niedokadnych wyszukiwa .................................................................47 Zmiana formatowania ......................................................................................................49 Zwikszanie liczby wierszy i kolumn ..............................................................................51 Ograniczanie uytecznej powierzchni arkusza kalkulacyjnego .......................................53 Uywanie rozwiza alternatywnych dla komentarzy do komrek .................................56 Zmiana rozmiaru tekstu w oknie systemu pomocy programu Excel ...............................57 Skuteczne ukrywanie arkusza kalkulacyjnego .................................................................57 Rozwizywanie typowych problemw z konfiguracj programu ....................................59
Excel. Najlepsze sztuczki i chwyty Odczytywanie danych za pomoc narzdzia Tekst na mow .......................................79 Kontrolowanie automatycznych hiperczy .....................................................................80 Wprowadzanie numerw kart kredytowych ....................................................................83 Uywanie formularza wprowadzania danych oferowanego przez program Excel ..........83 Dostosowywanie i udostpnianie wpisw Autokorekty ..................................................85 Ograniczanie moliwoci przemieszczania kursora jedynie do komrek wprowadzania danych ...................................................................................................86 Kontrolowanie Schowka pakietu Office ..........................................................................88 Tworzenie listy rozwijanej w komrce arkusza ...............................................................89
Spis treci
5 Edytowanie odwoa nazw .............................................................................................156 Uywanie dynamicznych nazw ......................................................................................156 Tworzenie nazw na poziomie arkusza ...........................................................................158 Obsuga dat sprzed roku 1900 ........................................................................................159 Przetwarzanie ujemnych wartoci czasu ........................................................................161
Spis treci
Rozdzia 5.
W rozdziale tym znajdziesz wiele przykadw formu. Niektre z nich bdziesz mg wykorzysta dokadnie w takiej formie, w jakiej zostay przedstawione. Inne za bdziesz musia dostosowa do swoich wasnych potrzeb.
164
Spis sposobw
Sposb 85. Sposb 86. Sposb 87. Sposb 88. Sposb 89. Sposb 90. Sposb 91. Sposb 92. Sposb 93. Sposb 94. Sposb 95. Sposb 96. Sposb 97. Sposb 98. Sposb 99. Wyznaczanie dat dni witecznych Obliczanie redniej waonej Obliczanie wieku osb Szeregowanie wartoci za pomoc formuy tablicowej Zliczanie znakw w komrce Wyraanie liczb w postaci liczebnikw porzdkowych w jzyku angielskim Wyodrbnianie sw z tekstw Rozdzielanie nazwisk Usuwanie tytuw z nazwisk Generowanie serii dat Okrelanie specyficznych dat Wywietlanie kalendarza w zakresie komrek arkusza Rne metody zaokrglania liczb Zaokrglanie wartoci czasu Pobieranie zawartoci ostatniej niepustej komrki w kolumnie lub wierszu 165 167 168 170 171 172 173 174 176 176 178 181 182 185 186 187 189 191 192 194 196 198 200 201 202 204
Sposb 100. Uywanie funkcji LICZ.JEELI Sposb 101. Zliczanie komrek speniajcych wiele kryteriw jednoczenie Sposb 102. Obliczanie liczby rnych wpisw w zakresie Sposb 103. Obliczanie sum warunkowych wykorzystujcych pojedynczy warunek Sposb 104. Obliczanie sum warunkowych wykorzystujcych wiele warunkw Sposb 105. Wyszukiwanie wartoci dokadnej Sposb 106. Przeprowadzanie wyszukiwa dwuwymiarowych Sposb 107. Przeprowadzanie wyszukiwania w dwch kolumnach Sposb 108. Przeprowadzanie wyszukiwania przy uyciu tablicy Sposb 109. Uywanie funkcji ADR.POR Sposb 110. Tworzenie megaformu
165
Inne wita s zdefiniowane jako okrelone wystpienie pewnego dnia tygodnia w konkretnym miesicu lub s wrcz uzalenione od faz ksiyca. Przykadem moe tu by wikszo obchodzonych w Polsce wit kocielnych, takich jak Boe Ciao czy Wielkanoc, bd te niektre z pastwowych wit amerykaskich, takich jak Dzie Prezydenta czy te wito Dzikczynienia. Przy tworzeniu wszystkich wymienionych poniej formu zaoono, e warto okrelajca rok znajduje si w komrce A1. Zwr uwag na fakt, e poniewa Nowy Rok, wito Wojska Polskiego, wito Niepodlegoci czy Boe Narodzenie obchodzone s zawsze tego samego dnia roku, obliczenie ich dat sprowadza si do prostego wywoania funkcji DDAD.
Nowy Rok
wito to zawsze przypada dnia 1 stycznia, wic odpowiednia dla niego formua bdzie miaa posta:
=DATA(A1;1;1)
Dzie Prezydenta
Dzie ten w Stanach Zjednoczonych jest wyznaczony na trzeci poniedziaek lutego. Dat t w roku zdefiniowanym w komrce A1 mona obliczy, korzystajc z nastpujcej formuy:
166
Wielkanoc
Wyznaczenie daty Wielkanocy jest do trudne z uwagi na sposb okrelenia dnia tego wita. Jest to bowiem pierwsza niedziela po pierwszej peni ksiyca wystpujcej po rwnonocy wiosennej, ktra przypada 21 marca. Przedstawion tu formu znalazem w internecie i szczerze mwic, nie mam pojcia, w jaki sposb dziaa:
=ZAO=Z.O.D.W(DATA(A1;(;DZIE(II(TA(A1A3A)A2+(/));7)-37
Pamitaj tu o wybraniu dla komrki ktrego z formatw daty, gdy w innym przypadku zostanie w niej wywietlona niewiele znaczca warto numeryczna. Powysza formua zwraca poprawn dat Niedzieli Wielkanocnej dla lat z przedziau od roku 1900 do 2078. Myl, e ten zakres okae si wystarczajcy dla wikszoci uytkownikw programu. Jeli w Twoim przypadku jest inaczej, bdziesz mg poszuka odpowiedniego rozwizania w sieci. Na stronach internetowych znale mona liczne kody makr VBA pozwalajcych na wyznaczenie daty Wielkanocy na wiele rnych sposobw.
Dzie Pamici
W ostatni poniedziaek maja Amerykanie obchodz Dzie Pamici. Formua pozwalajca obliczy dat tego dnia w roku podanym w komrce A1 ma posta:
=DATA(A1;/;1)+JEELI(2<DZIE.TYG(DATA(A1;/;1));7-DZIE.TYG(DATA(A1;/;1)) +2;2-DZIE.TYG(DATA(A1;/;1)))+((1-1)*7)-7
Zwr uwag, e powysza formua oblicza tak naprawd dat pierwszego poniedziaku czerwca okrelonego roku, a nastpnie odejmuje liczb 7 w celu wyznaczenia poniedziaku o tydzie wczeniejszego, czyli ostatniego w maju.
wito Pracy
wito Pracy obchodzone jest w Stanach Zjednoczonych zupenie innego dnia ni w Europie, gdy wypada ono w pierwszy poniedziaek wrzenia. Formua wyznaczajca t dat dla roku okrelonego w komrce A1 ma nastpujc posta:
167
Oczywicie, eby wyznaczy dzie wita Pracy w Polsce, zastosujesz raczej duo prostsz formu o postaci:
=DATA(A1;(;1)
wito Niepodlegoci
wito to ustalono na dzie 11 listopada:
=DATA(A1;11;11)
wito Dzikczynienia
Jedno z najwaniejszych wit w Stanach Zjednoczonych obchodzone jest w czwarty czwartek listopada. Dat wita Dzikczynienia w roku podanym w komrce A1 mona obliczy przy uyciu nastpujcej formuy:
=DATA(A1;11;1)+JEELI((<DZIE.TYG(DATA(A1;11;1));7-DZIE.TYG(DATA(A1;11;1)) +(;(-DZIE.TYG(DATA(A1;11;1)))+((7-1)*7)
Boe Narodzenie
Jak wiadomo, wito to przypada na dzie 25 grudnia:
=DATA(A1;12;2()
168
dzie, lecz mimo to nie znajdziesz funkcji Excela, ktra przeprowadzaaby podobne dziaanie. Masz jednak moliwo obliczenia redniej waonej za pomoc odpowiedniej formuy uywajcej funkcji SUMD.ILOCZYNW oraz SUMD. Na rysunku 86.1 przedstawiono prosty przykad arkusza kalkulacyjnego zawierajcego ceny paliwa gazowego odnotowane w okresie 30 dni. Na przykad przez pierwsze cztery dni miesica litr gazu kosztowa 2,48 z, jego cena spada nastpnie do poziomu 2,41 z i utrzymaa t warto przez dwa kolejne dni, by potem znw zmale na kolejne trzy dni do kwoty 2,39 z i tak dalej.
Rysunek 86.1. Formua znajdujca si w komrce B16 oblicza redni waon cen pynnego gazu
Ale, wbrew temu, co moe si wydawa, formua ta nie zwraca waciwego wyniku. Aby takowy otrzyma, poszczeglnym cenom musiayby by przypisane odpowiednie wagi zwizane z iloci dni, przez ktre obowizywaa kada z wartoci. Innymi sowy, waciwym sposobem obliczania wartoci redniej byaby tu raczej rednia waona. redni tak mona obliczy za pomoc poniszej formuy, ktra w arkuszu zostaa umieszczona w komrce B16:
=S(IA.ILOCZY.O(B7:B13;C7:C13)AS(IA(C7:C13)
169
Przedstawi tutaj trzy metody obliczania wieku osb. W wykorzystanych do tego celu formuach przyjem zaoenie, e data urodzenia znajduje si w komrce B1, za w komrce B2 umieszczona jest aktualna data, tak jak zostao to pokazane na rysunku 87.1.
Rysunek 87.1. Obliczanie wieku osb
Metoda 1
Ponisza formua odejmuje dat urodzenia od aktualnej daty i dzieli otrzymany wynik przez liczb 365,25. Funkcja ZDOZR.DO.CD.Z usuwa cz uamkow rezultatu.
=ZAO=Z.DO.CAW=((B2-B1)A3/(,2()
Formua ta nie jest dokadna w stu procentach, poniewa przeprowadza dzielenie przez redni liczb dni w roku. W niektrych przypadkach zatem zwraca niepoprawne wyniki. Przykadem moe tu by obliczanie wieku dziecka, ktre ma dokadnie rok; w sytuacji takiej powysza formua zwrci warto 0 zamiast 1.
Metoda 2
Bardziej dokadn metod obliczania wieku bdzie zastosowanie funkcji YEDRFRDC, ktra jest dostpna w ramach dodatku Analysis ToolPak.
=ZAO=Z.DO.CAW=(YEAZFZAC(B2;B1))
Metoda 3
Trzecia metoda wyznaczania wieku korzysta z funkcji DDAD.RNICD. W zalenoci od tego, ktrej wersji Excela aktualnie uywasz, moe si zdarzy, e funkcja ta nie bdzie udokumentowana w systemie pomocy programu.
=DATA.Z.ICA(B1;B2;"Y")
Jeli bardzo zaley Ci na dokadnoci, moesz zastosowa nieco zmodyfikowan wersj tej formuy:
=DATA.Z.ICA(B1;B2;"Y") & " la=, " &DATA.Z.ICA(B1;B2;"YI") & " miesicy, " &DATA.Z.ICA(B1;B2;"ID") & " dni"
170
Poniej znajduje si formua umieszczona w komrce D2; skopiowano j rwnie do komrek widocznych pod ni:
=S(IA(1*(B2<=Oar=oSprzeday))-(S(IA(1*(B2=Oar=oSprzeday))-1)A2
Formua tablicowa jest szczeglnym rodzajem formuy i dziaa w odniesieniu do danych umieszczonych w tablicy. Podczas wprowadzania takiej formuy powiniene nacisn kombinacj klawiszy Ctrl+Shift+Enter zamiast samego klawisza Enter, aby powiadomi program, e wpisana zostaa wanie formua tablicowa, nie za zwyka. Excel wywietla tego typu formuy w nawiasach klamrowych, co ma na celu przypomnienie Ci, e masz do czynienia z formu tablicow. Efektu tego nie osigniesz, wpisujc nawiasy klamrowe z klawiatury.
171
Dziaanie tej formuy opiera si na wykorzystaniu funkcji PODSADW tworzcej w pamici programu nowy cig znakw, z ktrego usunito wszystkie litery B. Kolejnym krokiem jest odjcie dugoci otrzymanego cigu od dugoci oryginalnego tekstu znajdujcego si w komrce i uzyskanie w ten sposb informacji na temat liczby wystpie w nim litery B. Jeli w komrce A1 bdzie si na przykad znajdowa tekst Biay bBbayib, formua zwrci warto 1. Przedstawiona poniej formua jest bardziej uniwersalna, gdy pozwala na obliczenie liczby wystpie litery B zarwno wielkiej, jak i maej w tekcie znajdujcym si w komrce A1:
=DW(A1)-DW(PODSTAO(LITEZY.OIEL=IE(A1);"B";""))
Jeli na przykad w komrce A1 zostanie umieszczony tekst Lbnik na Lbniku, a w B2 bdzie si znajdowa cig znakw Lbnik, powysza formua zwrci liczb 2. Wykonywane porwnanie uwzgldnia wielko zastosowanych liter, a wic umieszczenie w komrce B1 tekstu abnik spowoduje, e formua zwrci warto 0. Aby omin
172
Formua ta jest do skomplikowana, postaram si wic wytumaczy Ci jej sposb dziaania. Jest on w skrcie taki:
1. Jeli ostatnie dwie cyfry liczby to 11, 12 lub 13, uyj kocwki th. 2. Jeli zasada 1. nie znajduje zastosowania, sprawd ostatni cyfr. Jeeli ostatni cyfr liczby jest 1, uyj kocwki st. Jeeli ostatni cyfr liczby jest 2, skorzystaj z kocwki nd. Jeeli ostatni cyfr liczby jest 3, uyj kocwki rd. 3. Jeli adna z powyszych zasad nie zostaa zastosowana, uyj kocwki th.
Sposb 91. Wyodrbnianie sw z tekstw Rysunek 90.1. Korzystanie z formuy do wyraania liczb w postaci angielskich liczebnikw porzdkowych
173
Zwraca ona wszystkie znaki, ktre znajduj si w tekcie umieszczonym w komrce A1 przed wystpieniem pierwszej spacji. Pojawia si tu jednak pewien problem jeli w komrce tej nie wystpuje aden znak spacji, bo zawiera ona tylko jedno sowo, formua zwrci kod bdu. Nieco bardziej rozbudowana wersja formuy rozwizuje ten kopot dziki wykorzystaniu dodatkowych funkcji JEELI oraz CZY.B. do sprawdzenia faktu wystpienia bdu:
=JEELI(CZY.BW(ZAJD(" ";A1));A1;LEOY(A1;ZAJD(" ";A1)-1))
174
Z formu t wie si jednak ten sam problem, ktry pojawi si w przypadku pierwszej formuy przedstawionej wyej: zwraca ona kod bdu w sytuacji, gdy zadany cig znakw nie zawiera przynajmniej jednej spacji. Zmodyfikowana wersja formuy wykorzystuje funkcj JEELI do sprawdzenia, czy w tekcie umieszczonym w komrce A1 znajduj si jakiekolwiek znaki spacji. Jeli ich nie ma, zwrcona zostanie caa zawarto tej komrki. W innym przypadku do akcji wkroczy przedstawiona wczeniej formua:
=JEELI(CZY.BW(ZAJD(" ";A1));A1;PZAOY(A1;DW(A1)-ZAJD("*";PODSTAO (A1;" ";"*";DW(A1)-DW(PODSTAO(A1;" ";""))))))
Jeli komrka A1 bdzie zawieraa tekst Wstpny budbt na rk 2006, powysza formua zwrci cig znakw budbt na rk 2006. Formua ta zwrci natomiast kod bdu, gdy w komrce bdzie si znajdowa tylko jedno sowo. Problem ten rozwizano w przedstawionej niej formule, ktra w podobnej sytuacji zwrci pusty cig tekstowy:
=JEELI(CZY.BW(ZAJD(" ";A1));"";PZAOY(A1;DW(A1)-ZAJD(" ";A1;1)))
175
Opisane powyej zadanie bdzie duo bardziej skomplikowane, gdy na licie znajd si jeszcze nazwiska poprzedzone tytuami, takimi jak Pan czy dr, lub nazwiska zawierajce dodatkowe informacje, w rodzaju Jr. czy III. Przedstawione tu rozwizania nie uwzgldniaj tego typu trudnych przypadkw, mimo to wyniki ich dziaania nadal stanowi bd dobry punkt wyjcia, a z pojedynczymi bdnymi wpisami bdziesz mg sobie poradzi, rcznie edytujc odpowiednie komrki.
We wszystkich zaprezentowanych niej formuach przyjto zaoenie, e imiona i nazwisko umieszczone s w komrce A1. W prosty sposb moesz opracowa formu, ktra bdzie wyodrbniaa imi:
=LEOY(A1;ZAJD(" ";A1)-1)
Nastpujca formua wydobywa z caoci zapisu drugie imi. Przy jej tworzeniu zaoono, e pierwsze imi znajduje si w komrce B1, a wyodrbnione nazwisko umieszczone zostao w komrce D1:
=JEELI(DW(B1&D1)+2>=DW(A1);"";FZAGIET.TE=ST((A1;DW(B1)+2;DW(A1)-DW(B1&D1)-2))
Jak moesz zauway na rysunku 92.1, przedstawione tu formuy spisuj si cakiem niele. W widocznym na nim arkuszu wystpuj, co prawda, pewne problemy, zwaszcza w przypadku obcych nazwisk szlacheckich, w ktrych pojawiaj si dodatkowe sowa typu Van, ale zwyke nazwiska rozdzielane s poprawnie. Poza tym, jak ju wczeniej wspomniaem, te nieliczne bdy moesz poprawi rcznie.
Rysunek 92.1. W arkuszu tym uyto formu do wyodrbnienia pierwszego imienia, drugiego imienia lub jego inicjau oraz nazwiska z wpisw imion i nazwisk znajdujcych si na licie widocznej w kolumnie A
W wielu przypadkach bdziesz mg wyeliminowa konieczno uywania formu dziki oferowanemu Ci przez program poleceniu Dane/Tekst jako kolumny. Pozwala ono na rozdzielenie tekstu na poszczeglne elementy skadowe. Wybranie tej komendy spowoduje wywoanie okna dialogowego Kreator konwersji tekstu na kolumny, ktry w kilku krokach przeprowadzi Ci przez proces przetwarzania pojedynczej kolumny danych w zbir kolumn. W pierwszym kroku dziaania kreatora bdziesz przewanie uywa opcji Rozdzielany, a w drugim kroku jako ogranicznik tekstu wybierzesz spacj.
176
W powyszej formule sprawdzane s trzy warunki. Jeli zechcesz sprawdza wiksz ich liczb, na przykad w celu wyeliminowania kolejnych tytuw, powiniene po prostu doda odpowiednie argumenty w wywoaniu funkcji LUB.
Uywanie formu
Przewag rozwizania wykorzystujcego formuy nad uywaniem funkcji Autowypenienie do utworzenia serii dat jest moliwo zmiany pierwszej daty w serii, co pocignie za sob aktualizacj wszystkich pozostaych danych. W celu skorzystania z tego
Sposb 94. Generowanie serii dat Rysunek 94.1. Korzystanie z moliwoci Autowypenienie w celu utworzenia serii dat
177
rozwizania powiniene jedynie wpisa do pierwszej komrki waciw dat pocztkow, a nastpnie do kolejnych komrek wprowadzi formuy, ktrych zadaniem bdzie generowanie odpowiednich wartoci. Przy tworzeniu przedstawionych niej przykadw formu przyjto zaoenie, e pierwsza data serii umieszczona zostaa w komrce A1, a pierwsza formua znajduje si w komrce A2. Odpowiedni liczb kolejnych komrek naley po prostu wypeni kopi tej formuy. Aby otrzyma seri dat oddzielonych od siebie okresem siedmiu dni, uyj nastpujcej formuy:
=A1+7
W celu otrzymania serii dat odlegych od siebie dokadnie o rok zastosuj ponisz formu:
=DATA(ZO=(A1)+1;IIESIC(A1);DZIE(A1))
Aby wygenerowa seri dat skadajcych si wycznie z dni tygodnia (bez sobt i niedziel), powiniene skorzysta z zamieszczonej poniej formuy. Formua utworzona zostaa przy zaoeniu, e data znajdujca si w komrce A1 jest dniem powszednim, czyli nie jest sobot lub niedziel.
=JEELI(DZIE.TYG(A1)=/;A1+3;A1+1)
178
Kolejny numer dnia w roku okrelany jest czasem mianem daty juliaskiej. Nastpujca formua zwraca liczb dni, ktre pozostay do koca roku, liczc od podanej daty umieszczonej w komrce A1:
=DATA(ZO=(A1);12;31)-A1
Wprowadzenie ktrejkolwiek z powyszych formu spowoduje, e program Excel zastosuje formatowanie wartoci daty w przypadku przechowujcych je komrek. Bdziesz wic musia sformatowa je za pomoc ktrego z formatw numerycznych, aby mc przeglda wyniki dziaania formu w postaci liczbowej.
Dzie tygodnia dla okrelonej daty moesz rwnie wyznaczy, stosujc do przechowujcej j komrki odpowiednie formatowanie niestandardowe. Aby dzie tygodnia wywietlany by w postaci sowa stanowicego jego nazw, powiniene na przykad zastosowa nastpujcy cig formatujcy:
dddd
Pamitaj jednak, e komrka naprawd bdzie nadal przechowywaa pen dat, a nie jedynie kolejny numer dnia tygodnia, jak w przypadku rozwizania korzystajcego z formuy.
179
Funkcja DZIE.AYG umoliwia rwnie podanie drugiego, opcjonalnego argumentu, ktry okrela stosowany przez ni system numerowania dni w tygodniu. Jeli uyjesz w tym celu liczby 2, funkcja zwrci warto 1 dla poniedziaku, 2 dla wtorku i tak dalej. Zastosowanie liczby 3 jako drugiego argumentu funkcji DZIE.AYG spowoduje, e w przypadku poniedziaku zwrcona zostanie warto 0, w przypadku wtorku 1 i tak dalej.
Aby zmodyfikowa powysz formu w celu wyznaczania dat innych dni ni niedziela, powiniene zmieni wystpujc w niej liczb 1 na inn warto z przedziau od 2 (w przypadku poniedziaku) do 7 (dla soboty).
W przypadku, gdy w komrce A1 znajduje si data 1 zbryib 2006, a komrka A2 zawiera oznaczajc poniedziaek liczb 2, wynikiem dziaania formuy bdzie 5 zbryib 2006 ten dzie bowiem przypada w pierwszy poniedziaek po 1 czerwca 2006 (czwartek).
180
wystpienia dnia tygodnia okrelonego argumentem przechowywanym w komrce A3. Wykorzystanie tej formuy do okrelenia daty pierwszego pitku czerwca 2006 spowoduje otrzymanie wartoci 2 zbryib 2006.
Wariacji tej formuy moesz uy do wyznaczenia liczby dni wchodzcych w skad podanego miesica. Zaprezentowana poniej formua zwraca liczb cakowit okrelajc liczb dni miesica zdefiniowanego za pomoc daty umieszczonej w komrce A1. Upewnij si, e komrka przechowujca t formu korzysta ze zwykego formatowania liczbowego, nie za z formatowania daty.
=DZIE(DATA(ZO=(A1);IIESIC(A1)+1;0))
Dziaanie tej formuy polega na podzieleniu numeru miesica przez liczb 3, a nastpnie zaokrgleniu otrzymanego wyniku w gr.
181
Aby utworzy ten kalendarz w komrkach B2:H9, postpuj wedug nastpujcych instrukcji:
1. Zaznacz zakres komrek B2:H2 i scal komrki, klikajc przycisk Scal
Pamitaj, e jest to formua tablicowa, wic aby j wprowadzi, zamiast klawisza Enter bdziesz musia na koniec nacisn kombinacj klawiszy Ctrl+Shift+Enter.
=JEELI(IIESIC(DATA(ZO=(B2);IIESIC(B2);1))<>IIESIC(DATA(ZO=(B2); IIESIC(B2);1)-(DZIE.TYG(DATA(ZO=(B2);IIESIC(B2);1))-1)+{0\1\2\3\7\(} *7+{1;2;3;7;(;/;7}-1);"";DATA(ZO=(B2);IIESIC(B2);1)-(DZIE.TYG(DATA( ZO=(B2);IIESIC(B2);1))-1)+{0\1\2\3\7\(}*7+{1;2;3;7;(;/;7}-1)
daty w taki sposb, aby wywietlane byy tylko dni. Cig formatujcy bdzie tu mia posta: d.
6. Dostosuj odpowiednio szeroko kolumn i dobierz wszelkie inne niezbdne
formatowania komrek. Zmiana miesica i roku w dacie widocznej w grnej czci zakresu spowoduje, e kalendarz zostanie automatycznie zaktualizowany. Po utworzeniu kalendarza bdziesz mg skopiowa przechowujcy go zakres komrek i wstawi do kadego innego arkusza kalkulacyjnego i skoroszytu.
182
Opis Zaokrgla liczb w gr (czyli w kierunku od zera) do najbliszej wielokrotnoci okrelonej liczby. Zmienia cen wyraon w postaci uamkowej na warto w postaci dziesitnej. Zmienia cen wyraon w postaci dziesitnej na warto w postaci uamkowej. Zaokrgla liczby dodatnie w gr (w kierunku od zera), a liczby ujemne w d (rwnie w kierunku od zera) do najbliszej cakowitej liczby parzystej. Zaokrgla liczb w d (czyli w kierunku do zera) do najbliszej wielokrotnoci okrelonej liczby. Zaokrgla liczb w d do najbliszej jej wartoci cakowitej. Zaokrgla liczb do wielokrotnoci okrelonej liczby. Zaokrgla liczby dodatnie w gr (w kierunku od zera), a liczby ujemne w d (rwnie w kierunku od zera) do najbliszej cakowitej liczby nieparzystej. Zaokrgla liczb do podanej liczby cyfr po przecinku. Zaokrgla liczb w d (w kierunku do zera) do podanej liczby cyfr po przecinku. Zaokrgla liczb w gr (w kierunku od zera) do podanej liczby cyfr po przecinku. W swoim domylnym dziaaniu obcina liczb do wartoci cakowitej, usuwajc przy tym ewentualn cz uamkow. Opcjonalny drugi argument steruje dokadnoci obcinania.
Podane w dalszej czci niniejszego sposobu przykady formu pozwol Ci lepiej zrozumie dziaanie rnych metod zaokrglania liczb.
183
Podobny efekt mona te uzyska za pomoc standardowej funkcji Excela ZDOZR.W. GR:
=ZAO=Z.O.G.Z(133;()
Otrzymany wynik bdzie tu taki sam, jak w przypadku uycia funkcji MROUND. Jednak wywoanie wspomnianych funkcji z pierwszym argumentem rwnym 131 da odmienne wyniki. Funkcja ZDOZR.W.GR ponownie zwrci warto 135, ale MROUND zwrci 130. Dzieje si tak dlatego, e MROUND szuka najbliszej wielokrotnoci podanej liczby, zaokrglajc w gr lub w d, a ZDOZR.W.GR, jak sama nazwa wskazuje, zawsze zaokrgla w gr. Istnieje jeszcze funkcja ZDOZR.W.D., ktra powoduje zaokrglenie w d pierwszego argumentu do najbliszej wielokrotnoci liczby okrelonej drugim argumentem. Zarwno przy wartoci pierwszego argumentu rwnego 131, jak i 133 oraz wielokrotnoci rwnej 5 formua zwrci wynik 130.
Przedstawiona niej formua opracowana zostaa przy zaoeniu, e warto ceny wyraona w zotwkach i groszach umieszczona jest w komrce A1. Zadaniem formuy jest zaokrglenie tej wartoci do najbliszego grosza. Jeli zatem komrka A1 bdzie zawiera liczb 12,421 z, formua zwrci warto 12,42 z, a w przypadku wartoci 12,429 zwrci 12,43.
=ZAO=Z(A1;2)
184
Jeeli chcesz, aby wartoci byy zaokrglane w gr do najbliszego grosza, powiniene skorzysta z funkcji ZDOZR.W.GR. Znajdujca si poniej formua uywa jej do zaokrglenia w ten sposb liczby umieszczonej w komrce A1. Wstawienie do tej komrki wartoci 12,421 z spowoduje, e formua zwrci liczb 12,43 z.
=ZAO=Z.O.G.Z(A1;0,01)
Jeli Twoim zadaniem jest zaokrglanie wartoci walutowych w d, rozwizaniem bdzie uycie funkcji ZDOZR.W.D.. Na przykad zamieszczona poniej formua pozwala zaokrgli w d liczb przechowywan w komrce A1 w taki sposb, e warto 12,421 z zostanie przetworzona na 12,42 z.
=ZAO=Z.O.D.W(A1;0,01)
Aby zaokrgli w gr warto oznaczajc kwot wyraon w zotwkach do najbliszych piciu groszy, powiniene skorzysta z nastpujcej formuy:
=ZAO=Z.O.G.Z(A1;0,0()
Kolejna za zwrci liczb -15,0, poniewa warto -14,2 zostanie zaokrglona w d do najbliszej mniejszej od niej liczby cakowitej:
=ZAO=Z.DO.CAW=(-17,2)
Funkcja LICZBD.CD.Z umoliwia podanie dodatkowego (opcjonalnego) argumentu, ktry przydaje si przy przycinaniu uamkw dziesitnych. Na przykad przedstawiona niej formua zwraca liczb 54,33, czyli warto przycit do dwch miejsc po przecinku:
=LICZBA.CAW=((7,3333333;2)
185
Jeli masz do czynienia z cakowitymi liczbami dodatnimi, przedstawiona poniej formua zaatwia spraw. Zaokrgla ona liczb przechowywan w komrce A1 do dwch cyfr znaczcych. Jeeli jednak bdziesz chcia zaokrgla wartoci, uywajc innej liczby miejsc znaczcych, powiniene zastpi wystpujc w niej liczb 2 odpowiedni wartoci.
=ZAO=Z.D.W(A1;2-DW(A1))
W przypadku liczb ujemnych i wartoci niebdcych liczbami cakowitymi rozwizanie jest nieco bardziej skomplikowane. Zamieszczona niej formua stanowi bardziej uniwersalny sposb zaokrglania wartoci znajdujcej si w komrce A1 do liczby cyfr znaczcych zapisanej w komrce A2. Formua ta przetwarza poprawnie zarwno cakowite, jak i niecakowite liczby dodatnie i ujemne.
=ZAO=Z(A1;A2-1-ZAO=Z.DO.CAW=(LOG10(IOD(W.LICZBY(A1))))
Na przykad, jeli w komrce A1 bdzie znajdowa si liczba 1,27845, a w komrce A2 warto 3, formua zwrci liczb 1,28000, czyli warto zaokrglon do trzech cyfr znaczcych.
Dziaanie formuy polega na przemnoeniu wartoci czasu przez liczb 1440 w celu otrzymania cakowitej liczby minut w jednej dobie, a nastpnie zaokrgleniu jej za pomoc funkcji ZDOZR i podzieleniu uzyskanego wyniku przez warto 1440. Na przykad wpisanie do komrki A1 czasu 11:52:34 spowoduje, e formua zwrci warto 11:53:00. Kolejna formua przypomina powysz, z wyjtkiem tego, e zaokrgla warto czasu przechowywan w komrce A1 do najbliszej penej godziny:
=ZAO=Z(A1*27;0)A27
Jeli komrka A1 bdzie zawiera warto 5:21:31, wynikiem dziaania formuy bdzie czas 5:00:00.
186
Zamieszczona poniej formua powoduje z kolei zaokrglenie wartoci znajdujcej si w komrce A1 do najbliszych 15 minut, czyli kwadransa:
=ZAO=Z(A1*27A0,2(;0)*(0,2(A27)
W formule tej liczba 0,25 reprezentuje uamek godziny. Aby zaokrgli warto czasu do najbliszych 30 minut, naley zastpi liczb 0,25 wartoci 0,5, tak jak zrobiono to w poniszej formule:
=ZAO=Z(A1*27A0,(;0)*(0,(A27)
Sposb 99. Pobieranie zawartoci ostatniej niepustej komrki w kolumnie lub wierszu
Zamy, e masz pewien arkusz kalkulacyjny, ktry czsto aktualizujesz, dodajc nowe dane do jego kolumn. Moe Ci si przyda w takiej sytuacji jaka metoda odwoywania si do ostatniej wartoci umieszczonej w okrelonej kolumnie czyli, innymi sowy, do ostatnio wprowadzonej danej. Na rysunku 99.1 przedstawiono przykad. Nowe dane s wpisywane codziennie, a Twoim zadaniem bdzie tu opracowanie formuy, ktra zwraca ostatni warto znajdujc si w kolumnie C.
Rysunek 99.1. Do pobierania zawartoci ostatniej niepustej komrki w kolumnie C moesz uy formuy
Formua ta korzysta z funkcji ILE.NIEPUSAYCN do obliczenia liczby niepustych komrek nalecych do kolumny C. Informacja ta, po odjciu 1, jest nastpnie uywana
187
w charakterze argumentu dla funkcji PRZESUNICIE. Jeli zatem na przykad ostatnia warto jest umieszczona w wierszu 100, funkcja ILE.NIEPUSAYCN zwrci liczb 100, za funkcja PRZESUNICIE poda warto umieszczon w komrce znajdujcej si 99 wierszy pod komrk C1 w tej samej kolumnie. Jeeli w kolumnie D znajduje si pewna liczba pustych komrek rozsianych w jej rnych miejscach, co zdarza si bardzo czsto, zaprezentowana powyej formua nie bdzie spenia swojego zadania w odniesieniu do tej kolumny, poniewa funkcja ILE. NIEPUSAYCN nie liczy komrek pustych. Zadaniu temu jest w stanie sprosta przedstawiona niej formua tablicowa, ktra zwraca zawarto ostatniej niepustej komrki z pierwszych piciuset wierszy kolumny D:
=IDE=S(D1:D(00;IAX(OIEZSZ(D1:D(00)*(D1:D(00<>"")))
Aby wprowadzi formu tablicow, powiniene nacisn kombinacj klawiszy Ctrl+ Shift+Enter zamiast samego klawisza Enter.
Moesz, oczywicie, w taki sposb zmodyfikowa podan wyej formu, aby jej dziaanie dotyczyo innej kolumny ni D. Aby to zrobi, powiniene odpowiednio zmieni wszystkie sze odwoa do niej widocznych w treci formuy. Jeli ostatnia niepusta komrka moe si pojawi poniej wiersza 500, powiniene, rzecz jasna, zmieni dwa wystpienia liczby 500 na jak wiksz warto. Pamitaj jednak, e im mniejsza bdzie liczba wierszy, do ktrych odwouje si formua, tym wiksza bdzie szybko jej dziaania. Zamieszczona niej formua tablicowa jest podobna do zaprezentowanej powyej, ale zwraca zawarto ostatniej niepustej komrki podanego wiersza (w tym konkretnym przykadzie jest to wiersz 1):
=IDE=S(1:1;IAX(Z.=OL(IY(1:1)*(1:1<>"")))
Aby wykorzysta t formu do przeszukiwania innego wiersza, powiniene zmieni odwoanie 1:1 na odwoanie odpowiadajce numerowi Twojego wiersza.
188
e argument okrelajcy warunek uwzgldnienia komrki w zliczaniu moe by definiowany bardzo swobodnie. Moesz tu bowiem skorzysta ze staych, wyrae, funkcji, odwoa do komrek, a nawet znakw globalnych (* i ?).
Tabela 100.1. Przykady formu wykorzystujcych funkcj LICZ.JEELI Formua
=LICZ.JEELI(Dane;12) =LICZ.JEELI(Dane;"<0") =LICZ.JEELI(Dane;"<>0") =LICZ.JEELI(Dane;">(") =LICZ.JEELI(Dane;A1) =LICZ.JEELI(Dane;">"&A1) =LICZ.JEELI(Dane;"*") =LICZ.JEELI(Dane;"???") =LICZ.JEELI(Dane;"bude=")
Dziaanie Zwraca liczb komrek zawierajcych warto 12. Zwraca liczb komrek zawierajcych wartoci ujemne. Zwraca liczb komrek zawierajcych wartoci rne od 0, przy czym komrki puste nie oznaczaj wartoci 0. Zwraca liczb komrek zawierajcych wartoci wiksze od liczby (. Zwraca liczb komrek zawierajcych wartoci rwne danej umieszczonej w komrce A1. Zwraca liczb komrek zawierajcych wartoci wiksze od danej przechowywanej w komrce A1. Zwraca liczb komrek zawierajcych wartoci tekstowe. Zwraca liczb komrek tekstowych zawierajcych dokadnie trzy znaki. Zwraca liczb komrek zawierajcych wycznie pojedyncze sowo bude=, przy czym przy sprawdzaniu nie jest uwzgldniana wielko znakw. Zwraca liczb komrek zawierajcych sowo bude= w dowolnym miejscu. Zwraca liczb komrek zawierajcych tekst zaczynajcy si liter A, przy czym przy sprawdzaniu nie jest uwzgldniana wielko znakw. Zwraca liczb komrek zawierajcych aktualn dat. Zwraca liczb komrek zawierajcych wartoci wiksze ni rednia zbioru. Zwraca liczb komrek zawierajcych dane wiksze od sumy redniej i trzykrotnej wartoci odchylenia standardowego. Zwraca liczb komrek zawierajcych wartoci 3 lub -3. Zwraca liczb komrek zawierajcych logiczne wartoci PZAODA. Zwraca liczb komrek zawierajcych wartoci logiczne (zarwno PZAODA, jak i FAWSZ). Zwraca liczb komrek zawierajcych wartoci bdu #ADZ.
=LICZ.JEELI(Dane;"*bude=*") =LICZ.JEELI(Dane;"A*")
=LICZ.JEELI(Dane;DZI()) =LICZ.JEELI(Dane;">"&ZEDIA(Dane)) =LICZ.JEELI(Dane;">"&ZEDIA(Dane)+ ODC=.STADAZDOOE(Dane)*3) =LICZ.JEELI(Dane;3)+ LICZ.JEELI(Dane;-3) =LICZ.JEELI(Dane;PZAODA) =LICZ.JEELI(Dane;PZAODA)+ LICZ.JEELI(Dane;FAWSZ) =LICZ.JEELI(Dane;"=ADZ")
189
Formua ta oblicza liczb wartoci wikszych od zera znajdujcych si w okrelonym zakresie, a nastpnie odejmuje od niej liczb danych wikszych od 12. Wynikiem jest liczba komrek, w ktrych znajduj si dane wiksze od 0 i mniejsze lub rwne 12. Tworzenie takich formu moe by nieco kopotliwe, gdy jak wida w przytoczonym tu przykadzie moe w nich wystpi warunek w rodzaju ">12", mimo e celem jest policzenie wartoci mniejszych od liczby 12 lub jej rwnych. Alternatyw moe by zastosowanie formuy tablicowej podobnej do zaprezentowanej poniej. Opracowanie tego typu formu moe Ci si wydawa atwiejsze:
=S(IA((Dane>0)*(Dane<=12))
Pamitaj, e aby wprowadzi formu tablicow, powiniene nacisn kombinacj klawiszy Ctrl+Shift+Enter zamiast samego klawisza Enter.
Na rysunku 101.1 przedstawiony zosta prosty arkusz kalkulacyjny, ktry moe zosta zastosowany do prezentacji dziaania zamieszczonych niej przykadw formu. W arkuszu tym zebrano dane dotyczce sprzeday uoone wedug kolejnych miesicy, dane poszczeglnych przedstawicieli handlowych i dane typw klientw. W arkuszu zdefiniowane zostay nazwy odpowiadajce nagwkom kolumn umieszczonym w pierwszym wierszu.
190 Rysunek 101.1. Arkusz ten stanowi dobry przykad zbioru danych, na ktrym mona przeprowadza operacje zliczania wartoci z wykorzystaniem rnych technik i w oparciu o wiele kryteriw jednoczenie
Czasami kryterium zliczania moe by utworzone w oparciu o komrki inne ni te, ktre podlegaj zliczaniu. Moesz na przykad chcie, aby obliczona zostaa liczba sprzeday speniajcych nastpujce warunki:
t Miesic to Styzb i t Handlowiec to Byk i t Kwota jest wiksza od 1000.
Przedstawiona poniej formua tablicowa zwrci liczb elementw, ktre speniaj wszystkie trzy podane kryteria:
=S(IA((Iiesic="S=ycze5")*(=andlo"iec="Boyk")*(="o=a>1000))
Funkcji LICZ.JEELI moesz take uy do utworzenia formuy tablicowej pozwalajcej osign taki sam rezultat:
=S(IA(LICZ.JEELI(Dane;{1;3;(}))
191
Jeli jednak sprbujesz skorzysta z alternatywy kryteriw innych ni oparte na wartociach komrek zliczanych, funkcja LICZ.JEELI przestanie spenia swoje zadanie. Powiedzmy, e w zbiorze danych widocznym w arkuszu, ktry zosta przedstawiony na rysunku 101.1, bdziesz chcia obliczy liczb transakcji speniajcych nastpujce kryteria:
t Miesic to Styzb lub t Handlowiec to Byk lub t Kwota jest wiksza od 1000.
Prawidowy wynik dla takich warunkw zwrci przedstawiona niej formua tablicowa:
=S(IA(JEELI((Iiesic="S=ycze5")+(=andlo"iec="Boyk")+(="o=a>1000);1))
W tym przykadzie dwa warunki dotyczce nazwisk handlowcw umieszczone s w jednej linii, aby zaznaczy, e wszystkie zliczane transakcje musz by ze stycznia, a ponadto kada musi by wykonana przez jednego z wymienionych handlowcw. Nastpujca formua tablicowa zwrci liczb sprzeday speniajcych zadane kryteria:
=S(IA((Iiesic="S=ycze5")*JEELI((=andlo"iec="Boyk")+(=andlo"iec="Cza=a");1))
Aby wprowadzi formu tablicow, powiniene nacisn kombinacj klawiszy Ctrl+ Shift+Enter zamiast samego klawisza Enter.
192
Na rysunku 102.1 przedstawiono wynik zastosowania formuy tablicowej do obliczenia liczby wystpie rnych danych w zakresie komrek A1:C12. Formua tablicowa umieszczona w komrce D3 ma nastpujc posta:
=S(IA(1ALICZ.JEELI(A1:C12;A1:C12))
Zwraca ona warto 3, poniewa w zakresie A1:C12 wystpuj tylko trzy rne wpisy.
Rysunek 102.1. Umieszczona w komrce D3 formua tablicowa zlicza wystpienia rnych wpisw w zakresie komrek
Sposb 103. Obliczanie sum warunkowych wykorzystujcych pojedynczy warunek Rysunek 103.1. Ujemne wartoci w kolumnie F oznaczaj przekroczenia terminw patnoci faktur
193
Funkcja SUMD.JEELI moe przyj trzy argumenty. Poniewa nie okrelasz tu trzeciego argumentu, drugi parametr ("<0") zostanie zastosowany w odniesieniu do zakresu o nazwie Rnica.
Formua ta korzysta z wartoci znajdujcych si w zakresie Rnica do okrelenia, ktre z danych nalecych do zakresu Kwota powinny zosta zsumowane.
Uycie drugiego znaku rwnoci jest opcjonalne. Nastpujca formua zwrci dokadnie ten sam wynik:
=S(IA.JEELI(Biuro;"lskie";="o=a)
194
Jeli bdziesz chcia zsumowa kwoty faktur wystawionych przez wszystkie biura przedsibiorstwa oprcz biura lskiego, powiniene skorzysta z formuy:
=S(IA.JEELI(Biuro;"<>lskie";="o=a)
Zwr uwag na fakt, e drugim argumentem funkcji SUMD.JEELI jest wyraenie. Wyraenie to korzysta z funkcji DDAD, ktra zwraca dat, ta za jest poczona z operatorem porwnania (umieszczonym w cudzysowach) za pomoc operatora konkatenacji (&). Podana poniej formua zwraca sum kwot faktur, ktre maj przysz dat patnoci, wczajc w to dzie dzisiejszy:
=S(IA.JEELI(Termin_pa=noci;">="&DZI();="o=a)
Sposb 104. Obliczanie sum warunkowych wykorzystujcych wiele warunkw Rysunek 104.1. Na przykadzie przedstawionych tu danych zostanie pokazane dziaanie sumowania warunkowego korzystajcego z wielu kryteriw
195
Znak dodawania (+) czy obydwa warunki i jeli chcesz uwzgldni wicej kryteriw, powiniene po prostu doda kolejne warunki za jego pomoc.
196
Rozdzia 5. Przydatne przykady formu t odpowiadajca im liczba z zakresu Rnica ma warto ujemn, t odpowiadajcy im tekst z zakresu Biuro ma posta aBskib lub Lubuskib.
Zauwa, e drugie z kryteriw skada si tak naprawd z dwch warunkw poczonych spjnikiem lub. Rozwizaniem bdzie tu nastpujca formua tablicowa:
=S(IA((Znica<0)*JEELI((Biuro="lskie")+( Biuro="Lubuskie");1)*="o=a)
Rysunek 105.1. Korzystanie z funkcji WYSZUKAJ. PIONOWO do odnalezienia odpowiedniej stopy podatkowej
Przytoczony tu przykad pokazuje, e funkcje WYSZUZDJ.PIONOWO i WYSZUZDJ.POZIOMO nie wymagaj znalezienia dokadnej wartoci wrd danych przeszukiwanego zbioru. Jeli funkcje nie znajd dokadnej wartoci, zwrc dane zwizane z najwiksz wartoci, ale mniejsz od poszukiwanej (dane w kolumnie D powinny by posortowane w porzdku rosncym). W niektrych przypadkach to Ty bdziesz wymaga odnalezienia wartoci speniajcej dokadnie zadane kryterium wyszukiwania. Bdzie tak na przykad w sytuacji, gdy bdziesz szuka okrelonego numeru pracownika. Aby odnale dane dokadnie speniajce podane kryterium, skorzystaj z dodatkowego czwartego argumentu wywoania funkcji WYSZUZDJ.PIONOWO lub WYSZUZDJ.POZIOMO. Jest to argument opcjonalny i powinien mie wwczas warto FD.SZ.
197
Na rysunku 105.2 przedstawiony zosta arkusz zawierajcy tabel, w ktrej umieszczone s numery pracownikw (w kolumnie C) i ich nazwiska (w kolumnie D). Tabela ta nosi nazw ListaPracownikw. Formua, ktra znajduje si w komrce B2, przeszukuje tabel w celu znalezienia numeru pracownika podanego w komrce B1 i zwraca odpowiednie dla niego nazwisko. Ma ona posta:
=OYSZ=(AJ.PIOOOO(B1;Lis=aPraco"nik";2;FAWSZ)
Rysunek 105.2. Wyszukiwanie w przedstawionej tabeli wymaga zastosowania dokadnych porwna danych
Z uwagi na to, e ostatni argument funkcji WYSZUZDJ.PIONOWO ma logiczn warto FD.SZ, zwraca ona nazwisko pracownika tylko wtedy, gdy znajdzie jego numer w peni odpowiadajcy wartoci podanej jako kryterium. W innym przypadku formua zwraca kod bdu #N/DN. Jest to, oczywicie, dziaanie jak najbardziej podane, poniewa otrzymanie wyniku przyblionego przy wyszukiwaniu okrelonego numeru pracownika zupenie mija si z celem. Zwr rwnie uwag na fakt, e numery pracownikw znajdujce si w kolumnie C nie s uoone w kolejnoci rosncej. Jeeli ostatni argument funkcji WYSZUZDJ.PIONOWO ma warto FD.SZ, przeszukiwane wartoci nie musz by uoone w porzdku rosncym. Jeli w sytuacji, gdy nie zostanie znaleziony poszukiwany numer pracownika, w komrce wyniku wolisz oglda co innego ni kod bdu #N/DN, powiniene skorzysta z funkcji CZY.BRDZ w celu sprawdzenia, czy rezultatem dziaania funkcji WYSZUZDJ. PIONOWO nie jest ten wanie bd, a nastpnie uy funkcji JEELI do zastpienia go jakim innym tekstem. Zamieszczona poniej formua wykonuje to zadanie, zastpujc kod bdu #N/DN informacj Nib znaabzin:
=JEELI(CZY.BZA=(OYSZ(=AJ.PIOOOO(B1;Lis=aPraco"nik";2;FAWSZ)); "ie znaleziono";OYSZ(=AJ.PIOOOO(B1;Lis=aPraco"nik";2;FAWSZ))
198
Uycie formuy
Na rysunku 106.1 przedstawiono arkusz kalkulacyjny, w ktrym znajduje si tabela zawierajca wartoci sprzeday osignite w poszczeglnych miesicach dla rnych kategorii produktw. Aby pozna dane dotyczce sprzeday okrelonego towaru w wybranym miesicu, uytkownik powinien wpisa nazw miesica do komrki B1, a nazw produktu do komrki B2.
Rysunek 106.1. Tabela przedstawiajca zasad dziaania wyszukiwania dwuwymiarowego
Podana niej formua (umieszczona w arkuszu w komrce B4) korzysta z funkcji PODDJ.POZYCJ do pobrania pozycji miesica w zakresie ListaMiesicy. Jeli wic na przykad szukanym miesicem bdzie Styzb, formua zwrci liczb 2, gdy Styzb jest drugim elementem wchodzcym w skad zakresu ListaMiesicy. Jego pierwszym elementem jest bowiem pusta komrka D1.
=PODAJ.POZYCJ(Iiesic;Lis=aIiesicy;0)
199
Formua znajdujca si w komrce B5 dziaa w podobny sposb, rnica polega tu tylko na tym, e przeszukuje ona zakres ListaProduktw w celu sprawdzenia pozycji okrelonej kategorii towaru.
=PODAJ.POZYCJ(Produk=;Lis=aProduk=";0)
Ostateczna formua umieszczona w komrce B6 zwraca odpowiedni warto sprzeday. Wykorzystuje w tym celu funkcj INDEZS, podajc zawarto komrek B4 i B5 w charakterze jej argumentw.
=IDE=S(Tabela;B7;B()
Moesz, oczywicie, poczy wszystkie trzy wymienione wyej formuy w jedn, otrzymujc nastpujc formu, ktra zwrci, rzecz jasna, ten sam wynik:
=IDE=S(Tabela;PODAJ.POZYCJ(Iiesic;Lis=aIiesicy;0);PODAJ.POZYCJ(Produk=; Lis=aProduk=";0))
Formuy tego typu moesz rwnie tworzy za pomoc przedstawionego na rysunku 106.2 narzdzia Kreator odnonikw, bdcego jednym ze standardowych i rozpowszechnianych wraz z aplikacj dodatkw do programu Excel. Aby zainstalowa ten dodatek, powiniene wybra z menu polecenie Narzdzia/Dodatki. Po zainstalowaniu narzdzia bdziesz mg uruchomi je, wybierajc z menu polecenie Narzdzia/Kreator/Odnonikw. Rysunek 106.2. Dodatek Kreator odnonikw umoliwia utworzenie formuy sucej do przeprowadzania wyszukiwania dwuwymiarowego
200
=Przy=ulanki Lipiec
Formua ta uywa operatora przecicia zakresw, ktrym jest spacja. Jej wpisanie spowoduje w tym przypadku zwrcenie osignitej w lipcu wartoci sprzeday artykuw nalecych do kategorii Przytuaanki.
Widoczna w arkuszu tabela zawiera kolumny, z ktrych jedna przechowuje informacje o producentach samochodw, druga o modelach pojazdw, w trzeciej za umieszczono odpowiednie dla nich kody. Opisana tu technika pozwoli Ci wyszuka wartoci kodw w oparciu zarwno o mark, jak i model samochodu. W arkuszu zdefiniowano nastpujce zakresy nazwane:
Nazwa Marka Model Kod Zakres1 Zakres2 Odnosi si do B1 B2 F2:F12 D2:D12 E2:E12
Znajdujca si poniej formua tablicowa pozwala na znalezienie kodu odpowiadajcego podanej marce i modelowi samochodu:
=IDE=S(=od;PODAJ.POZYCJ(Iarka&Iodel;Zakres1&Zakres2;0))
201
Pamitaj, e aby wprowadzi formu tablicow, powiniene nacisn kombinacj klawiszy Ctrl+Shift+Enter zamiast samego klawisza Enter.
Dziaanie tej formuy opiera si na poczeniu zawartoci komrek Marka i Model i wyszukiwaniu otrzymanego w ten sposb tekstu w tablicy tekstw utworzonych z poczonych w podobny sposb danych pochodzcych z zakresw Zakres1 i Zakres2.
W komrkach kolumny C umieszczono formuy korzystajce z funkcji WYSZUZDJ.PIONOWO i tabeli wyszukiwania, za pomoc ktrej wynikom znajdujcym si w kolumnie B przypisywane s waciwe oceny. Formua przechowywana w komrce C2 ma na przykad posta:
=OYSZ(=AJ.PIOOOO(B2;Lis=aOcen;2)
202
Uycie tablicy
W sytuacjach, gdy tabela wyszukiwania jest niewielka (tak jak w niniejszym przykadzie), zamiast z niej moesz skorzysta z tablicy dosownej. Pozwoli to usun nadmiar informacji z Twojego arkusza, a korzystajca z tego rozwizania formua zwrci wynik bez odwoywania si do tabeli wyszukiwania. Zamiast tego tabela ta bdzie niejako zakodowana na stae w ciele formuy w postaci tablicy staych wartoci. Zwr uwag na format zapisu tablicy oraz znaki uywane w jej definicji. Tablica oznaczana jest nawiasami klamrowymi ({ i }), poszczeglne elementy wierszy oddzielane s za pomoc rednikw (;), za kolejne wiersze oddziela znak odwrconego ukonika (\).
=OYSZ(=AJ.PIOOOO(B2;{0;"F"\70;"D"\70;"C"\A0;"B"\90;"A"};2)
Nieco inn metod poradzenia sobie z tym zadaniem jest wykorzystanie bardziej czytelnej formuy, w ktrej uyta zostaa funkcja WYSZUZDJ oraz dwa argumenty tablicowe:
=OYSZ(=AJ(B2;{0;70;70;A0;90};{"F";"D";"C";"B";"A"})
Rysunek 109.1. Uycie funkcji ADR.POR do zsumowania wartoci pochodzcych z wierszy podanych przez uytkownika
203
Zwr uwag na fakt, e w argumencie funkcji DDR.POR skorzystano z operatora konkatenacji w celu utworzenia odwoania do zakresu komrek za pomoc wartoci umieszczonych w komrkach E2 i E3. Jeli zatem do pierwszej z nich wprowadzisz liczb 2, za do drugiej warto 4, argument ten przyjmie posta nastpujcego acucha tekstowego:
"B2:B7"
Funkcja konwertujca zmieni ten cig znakw na zwyke odwoanie do zakresu komrek, ktre zostanie nastpnie przekazane do funkcji SUMD w charakterze argumentu. Formua zwrci zatem tak sam warto, jak formua:
=S(IA(B2:B7)
Wprowadzenie jakichkolwiek zmian do komrek E2 i E3 spowoduje aktualizacj odwoania i zmian formuy, ktra oblicza bdzie zawsze sum wartoci z okrelonych przez te komrki wierszy kolumny B. Na rysunku 109.2 przedstawiono kolejny przykad, w ktrym zastosowano pene odwoanie wraz z czci okrelajc arkusz.
Rysunek 109.2. Wykorzystanie funkcji ADR.POR do tworzenia odwoa do zakresw znajdujcych si w innych arkuszach skoroszytu
W kolumnie A arkusza Podsumowanie znajduj si wartoci tekstowe odpowiadajce pozostaym arkuszom wchodzcym w skad biecego skoroszytu. W komrkach kolumny B z kolei umieszczone zostay formuy, ktre odwouj si do tych pozycji. Formua w komrce B2 ma na przykad posta:
=S(IA(ADZ.POZ(A2&"ZF1:F10"))
Argument funkcji DDR.POR powstaje w wyniku poczenia tekstu umieszczonego w komrce A2 z odwoaniem do zakresu podanym w cudzysowie. Jest on nastpnie zamieniany przez t funkcj na odwoanie do zakresu komrek, ktry wykorzystywany jest z kolei jako argument funkcji SUMD. Formua jest w tym momencie rwnoznaczna z nastpujc:
=S(IA(PnocZF1:F10)
Formua ta zostaa skopiowana do kolejnych komrek kolumny arkusza. Kada z widocznych formu zwraca sum wartoci umieszczonych w zakresie F1:F10 odpowiednich arkuszy kalkulacyjnych.
204
Rysunek 110.1. Proces usuwania drugich imion lub ich inicjaw wymaga zastosowania szeciu formu porednich
Wykonywane dziaanie Usuwa nadmiarowe znaki odstpu. Znajduje pierwszy znak spacji. Znajduje drugi znak spacji, jeli taki wystpuje. Uywa pierwszej spacji, jeli druga nie istnieje. Wyodrbnia imi. Wyodrbnia nazwisko. czy imi i nazwisko.
Powicajc nieco pracy, moesz wyeliminowa wszystkie te porednie formuy i zastpi je jedn megaformu. Cel ten osigniesz, tworzc najpierw formuy porednie, a nastpnie edytujc kocow formu (w tym przypadku znajdujc si w kolumnie H), w ktrej kade odwoanie do komrek formu powiniene zamieni na bezporednie wywoanie odpowiedniej formuy. Na szczcie masz moliwo skorzystania ze schowka do kopiowania i wklejania formu, w innym razie musiaby bowiem wszystkie przepisa rcznie. Powtarzaj t operacj do momentu, a w komrce H1 nie znaj-
205
dzie si adne odwoanie oprcz odwoa do komrki A1 przechowujcej dan wejciow. W wyniku tego dziaania powiniene otrzyma nastpujc megaformu:
=LEOY((S(.ZBDE.ODSTPY(A1);ZAJD(" ";(S(.ZBDE.ODSTPY(A1);1)-1)& " "&PZAOY((S(.ZBDE.ODSTPY(A1);DW((S(.ZBDE.ODSTPY(A1))JEELI(CZY.BWD(ZAJD(" ";(S(.ZBDE.ODSTPY(A1);ZAJD( " ";(S(.ZBDE.ODSTPY(A1);1)+1));ZAJD(" ";(S(.ZBDE.ODSTPY(A1);1);ZAJD( " ";(S(.ZBDE.ODSTPY(A1);ZAJD(" ";(S(.ZBDE.ODSTPY(A1);1)+1)))
Gdy bdziesz ju zadowolony z efektu dziaania tej megaformuy, bdziesz mg swobodnie usun wszystkie kolumny przechowujce formuy porednie, poniewa nie bd wicej do niczego potrzebne. Jeli wci nie jeste pewien, czy dobrze zrozumiae przedstawion tu procedur, przeczytaj uwanie kolejne kroki, ktre trzeba wykona, aby otrzyma megaformu:
1. Spjrz na zawarto komrki H1. Znajduj si w niej dwa odwoania
do komrek F1 i G1:
=F1&" "&G1
formu skopiowan przed chwil do schowka. W komrce H1 powinna w tym momencie znajdowa si nastpujca formua:
=F1&" "&PZAOY(B1;DW(B1)-E1)
F1 formu skopiowan przed chwil do schowka. W komrce H1 powinna w tym momencie znajdowa si nastpujca formua:
=LEOY(B1;C1-1)&" "&PZAOY(B1;DW(B1)-E1)
arkusza, a mianowicie do komrek B1, C1 i E1. Odwoania te powiniene zastpi, uywajc formu znajdujcych si w odpowiednich komrkach.
7. Zastp odwoanie do komrki E1 przechowywan w niej formu. Wynik
dwa odwoania do komrki D1. Skopiuj formu umieszczon w tej komrce i zastp ni obydwa odwoania. Formua przyjmie po tym nastpujc posta:
=LEOY(B1;C1-1)&" "&PZAOY(B1;DW(B1)-JEELI(CZY.BWD(ZAJD( " ";B1;C1+1));C1;ZAJD(" ";B1;C1+1)))
206
komrki B1 za pomoc przechowywanej w niej formuy. W wyniku tego dziaania powiniene otrzyma szukan megaformu:
=LEOY((S(.ZBDE.ODSTPY(A1);ZAJD(" ";(S(.ZBDE.ODSTPY(A1);1)-1)& " "&PZAOY((S(.ZBDE.ODSTPY(A1);DW((S(.ZBDE.ODSTPY(A1))JEELI(CZY.BWD(ZAJD(" ";(S(.ZBDE.ODSTPY(A1);ZAJD( " ";(S(.ZBDE.ODSTPY(A1);1)+1));ZAJD( " ";(S(.ZBDE.ODSTPY(A1);1);ZAJD(" ";(S(.ZBDE.ODSTPY(A1);ZAJD( " ";(S(.ZBDE.ODSTPY(A1);1)+1)))
Zauwa, e ostateczna wersja formuy umieszczona w komrce H1 zawiera odwoania tylko i wycznie do komrki A1. Tworzenie megaformuy zostao zatem ukoczone, a jej dziaanie bdzie dokadnie odpowiadao zestawowi czynnoci wykonywanych przez formuy porednie, ktre moesz teraz spokojnie usun z arkusza. Technik t moesz, oczywicie, zastosowa w przypadku opracowywania swoich wasnych skomplikowanych i dugich formu. Dodatkow zalet uywania megaformu jest fakt, e dziaaj one zwykle szybciej ni serie formu, z ktrych si skadaj.