Você está na página 1de 392

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.

com
Wszelkie prawa zastrzeone. Nieautoryzowane rozpowszechnianie caoci
lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione.
Wykonywanie kopii metod kserograficzn, fotograficzn, a take kopiowanie
ksiki na noniku filmowym, magnetycznym lub innym powoduje naruszenie
praw autorskich niniejszej publikacji.

Wszystkie znaki wystpujce w tekcie s zastrzeonymi znakami firmowymi


bd towarowymi ich wacicieli.

Autor oraz Wydawnictwo HELION dooyli wszelkich stara, by zawarte


w tej ksice informacje byy kompletne i rzetelne. Nie bior jednak adnej
odpowiedzialnoci ani za ich wykorzystanie, ani za zwizane z tym ewentualne
naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION
nie ponosz rwnie adnej odpowiedzialnoci za ewentualne szkody wynike
z wykorzystania informacji zawartych w ksice.

Redaktor prowadzcy: Micha Mrowiec

Projekt okadki: Katarzyna Maciejewska

Fotografia na okadce zostaa wykorzystana za zgod iStockPhoto Inc.

Wydawnictwo HELION
ul. Kociuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (ksigarnia internetowa, katalog ksiek)

Drogi Czytelniku!
Jeeli chcesz oceni t ksik, zajrzyj pod adres
http://helion.pl/user/opinie?exwob2_p
Moesz tam wpisa swoje uwagi, spostrzeenia, recenzj.

ISBN: 978-83-246-3743-0
Numer katalogowy: 7054

Copyright Helion 2011

Printed in Poland.

Pole ksik na Facebook.com Ksigarnia internetowa


Kup w wersji papierowej Lubi to! Nasza spoeczno
Oce ksik

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Spis treci
Rozdzia 1. Wstp ............................................................................................. 7
Do kogo adresowana jest ta ksika? .............................................................................. 7
Co jest, a czego nie ma w tej ksice? ............................................................................. 9
Konwencje przyjte w tekcie ....................................................................................... 10
Rozwj arkusza kalkulacyjnego .................................................................................... 11
Rozdzia 2. Podstawowe operacje w arkuszu ................................................... 13
Typy danych wystpujcych w arkuszu i ich identyfikacja ........................................... 13
Konstrukcja formu (wyrae) w Excelu ....................................................................... 16
Edycja, kopiowanie i przesuwanie zawartoci komrek ............................................... 26
Zasady interpretacji nazw i adresw w wyraeniach w arkuszu i w formuach nazwanych ..... 29
Funkcje uatwiajce odczytywanie i wyliczanie adresw .............................................. 33
Rozdzia 3. Operacje i funkcje tablicowe .......................................................... 37
Podstawowe pojcia dotyczce tablic i macierzy .......................................................... 37
Operacje tablicowe zaimplementowane w Excelu ........................................................ 38
Wprowadzanie i edycja formu tablicowych ................................................................. 41
Kopiowanie formu tablicowych ................................................................................... 43
Odwoania do elementw lub fragmentw tablic .......................................................... 44
Uycie funkcji INDEKS ......................................................................................... 44
Uycie funkcji PRZESUNICIE ............................................................................ 47
Bez uycia funkcji ................................................................................................... 48
czenie tablic i tworzenie tablic mieszanych .............................................................. 48
Dynamiczne generowanie tablic o zadanym rozmiarze ................................................. 50
Uywanie tablic generowanych dynamicznie ................................................................ 54
Zasady interpretacji nazw i adresw w wyraeniach tablicowych
w arkuszu i w formuach nazwanych .......................................................................... 55
Odwoania strukturalne w tabelach ............................................................................... 57
Reguy skadni odwoa strukturalnych .................................................................. 58
Elementy skadowe tabeli ....................................................................................... 58
Predefiniowane specyfikatory wierszy .................................................................... 59
Operatory odwoania ............................................................................................... 59
Odwoania strukturalne kwalifikowane i niekwalifikowane ................................... 59
Przykady uycia odwoa strukturalnych ............................................................... 60
Praca z odwoaniami strukturalnymi ....................................................................... 61
Rozdzia 4. Tablicowanie funkcji jednej i dwu zmiennych .................................. 65
Funkcje jednej zmiennej ................................................................................................ 65
Funkcja jednej zmiennej okrelona w sposb niejawny (uwikany) .............................. 68
Funkcje dwu zmiennych ................................................................................................ 69

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


4 Excel w obliczeniach naukowych i inynierskich

Rozdzia 5. Graficzna prezentacja danych ........................................................ 75


Rodzaje wykresw dostpnych w Excelu ...................................................................... 75
Przygotowanie danych do wykresu punktowego ........................................................... 76
Wykonanie wykresu punktowego ................................................................................. 77
Dodawanie linii trendu (regresji) do wykresu ............................................................... 78
Wykresy radarowe ......................................................................................................... 80
Wykresy powierzchniowe ............................................................................................. 83
Wykresy dynamiczne .................................................................................................... 85
Mae wykresy dostpne w Excelu 2010 ........................................................................ 86
Rozdzia 6. Rniczkowanie numeryczne .......................................................... 89
Pojcie pochodnej ......................................................................................................... 89
Numeryczne obliczanie pochodnej funkcji danej wzorem ............................................ 91
Numeryczne rniczkowanie danych pomiarowych ..................................................... 92
Bezporednie oszacowanie wartoci pochodnych na podstawie danych pomiarowych .... 92
Obliczenie pochodnej za porednictwem funkcji aproksymujcej .......................... 93
Rozdzia 7. Obliczanie caek oznaczonych
z wykorzystaniem ich interpretacji geometrycznej .......................... 97
Pojcie caki oznaczonej ............................................................................................... 97
Sposoby obliczania caek metod kwadratur ................................................................. 97
Obliczenia caek w Excelu ............................................................................................ 99
Wykorzystanie operacji tablicowych do skrcenia zapisu oblicze ............................ 102
Wykorzystanie iteracji i odwoa cyklicznych do obliczania caek ............................ 108
Rozdzia 8. Obliczanie caek niewaciwych ................................................... 111
Pojcie caki niewaciwej ........................................................................................... 111
Przykad obliczenia caki metod ekstrapolacji ........................................................... 112
Rozdzia 9. Obliczanie grnej granicy cakowania ........................................... 115
Funkcja podcakowa opisana wzorem ......................................................................... 116
Funkcja podcakowa w postaci zbioru punktw pomiarowych ................................... 117
Rozdzia 10. Obliczanie caek oznaczonych
z wykorzystaniem szeregw potgowych ...................................... 121
Podstawowe pojcia dotyczce cigw i szeregw ..................................................... 121
Obliczenia sum szeregw w Excelu ............................................................................ 123
Rozdzia 11. Ukady rwna liniowych ............................................................. 131
Zapis ukadu rwna i jego rozwizania w formie macierzowej ................................. 131
Przebieg rozwizania w Excelu ................................................................................... 132
Wykorzystanie Solvera do rozwizywania ukadu rwna liniowych ........................ 133
Rozdzia 12. Rozwizywanie rwna nieliniowych ............................................. 135
Rwnanie kwadratowe ................................................................................................ 135
Graficzne oszacowanie pierwiastkw ......................................................................... 139
Metoda iteracji prostej ................................................................................................. 140
Metoda siecznych (regula falsi) ............................................................................... 143
Przyspieszenie zbienoci metody siecznych .............................................................. 144
Metoda stycznych (Newtona) ...................................................................................... 145
Zmodyfikowana metoda stycznych ............................................................................. 146
Inny wariant metody siecznych ................................................................................... 147
Zamierzone uycie odwoa cyklicznych przy rozwizywaniu rwna ...................... 148
Wykorzystanie narzdzi Szukaj wyniku i Solver ........................................................ 149
Rozdzia 13. Ukady rwna nieliniowych ......................................................... 153
Ukady zoone z dwch rwna ................................................................................ 153
Ukady zoone z trzech i wicej rwna .................................................................... 159

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Spis treci 5

Rozdzia 14. Wyszukiwanie danych w tablicach i interpolacja ........................... 163


Przeszukiwanie tablic funkcji jednej zmiennej ............................................................ 163
Interpolacja liniowa ..................................................................................................... 166
Trend liniowy .............................................................................................................. 169
Interpolacja kubiczna (wielomianem 3. stopnia) ......................................................... 170
Interpolacja liniowa w przypadku funkcji dwu zmiennych ......................................... 171
Interpolacja kubiczna w przypadku funkcji dwu zmiennych ....................................... 174
Rozdzia 15. Regresja liniowa .......................................................................... 177
Zakres zastosowania regresji liniowej ......................................................................... 177
Ocena statystyczna jakoci dopasowania rwnania regresji ........................................ 179
Regresja liniowa w Excelu .......................................................................................... 181
Regresja liniowa w przypadku funkcji dwu zmiennych .............................................. 188
Rozdzia 16. Regresja nieliniowa ..................................................................... 193
Zakres zastosowania regresji nieliniowej .................................................................... 193
Ocena statystyczna jakoci dopasowania rwnania regresji ........................................ 195
Regresja nieliniowa w Excelu z wykorzystaniem Solvera .......................................... 196
Korelacja liniowa i nieliniowa w Excelu ..................................................................... 200
Korelacja liniowa .................................................................................................. 201
Korelacja nieliniowa w Excelu z wykorzystaniem Solvera ................................... 203
Rozdzia 17. Rwnania rniczkowe zwyczajne ................................................. 207
Pojcie rwnania rniczkowego ................................................................................ 207
Rozwizywanie zagadnienia pocztkowego metod Eulera ........................................ 208
Modyfikacje metody Eulera ........................................................................................ 213
Metoda Rungego-Kutty ............................................................................................... 217
Porwnanie dokadnoci metod cakowania rwna rniczkowych .......................... 219
Zagadnienie brzegowe rwnania rniczkowego zwyczajnego .................................. 220
Metoda strzaw .......................................................................................................... 221
Metoda rnic skoczonych ........................................................................................ 224
Rozdzia 18. Rwnania rniczkowe czstkowe ................................................ 227
Przykady rwna rniczkowych czstkowych ......................................................... 227
Rwnania eliptyczne ................................................................................................... 228
Rwnania paraboliczne ............................................................................................... 234
Rozdzia 19. Konwersja liczb i jednostek ......................................................... 243
Konwersja liczb w rnych systemach pozycyjnych ................................................... 243
Konwersja jednostek miar ........................................................................................... 245
Konwersja jednostek zoonych ............................................................................ 247
Rozdzia 20. Liczby i funkcje zespolone ........................................................... 249
Podstawowe wzory i definicje ..................................................................................... 250
Interpretacja geometryczna liczby zespolonej i jej posta trygonometryczna ............. 251
Wzr Eulera i wykadnicza posta liczby zespolonej .................................................. 252
Rwno liczb zespolonych ........................................................................................ 252
Dziaania arytmetyczne na liczbach zespolonych ........................................................ 252
Potgowanie i pierwiastkowanie ................................................................................. 253
Funkcje elementarne z argumentem zespolonym ........................................................ 255
Format wywietlania liczb zespolonych ...................................................................... 256
Zastosowanie liczb zespolonych w elektrotechnice .................................................... 257
Rozdzia 21. Proste bazy danych ..................................................................... 261
Sortowanie i filtrowanie .............................................................................................. 262
Zakres kryteriw ......................................................................................................... 266
Uycie filtra zaawansowanego .................................................................................... 269

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


6 Excel w obliczeniach naukowych i inynierskich

Uycie funkcji do odzyskiwania danych z tabeli lub listy ........................................... 270


Funkcje podsumowa .................................................................................................. 274
Uycie funkcji z grupy bazy danych ........................................................................... 278
Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) .................... 281
Podstawowe informacje o jzyku programowania VBA ............................................. 281
Struktura podprogramw w VBA ................................................................................ 284
Makropolecenie utworzone w wyniku rejestracji ........................................................ 284
Skoroszyt makr osobistych i folder AddIns ................................................................. 286
Uruchamianie makropolece ....................................................................................... 286
Wprowadzanie kodu VBA w edytorze ........................................................................ 287
Prosta funkcja w VBA ................................................................................................. 288
Zmienne typy i deklaracje ...................................................................................... 289
Wyraenia ................................................................................................................... 291
Obiekty, waciwoci i metody .................................................................................... 295
Wymiana informacji midzy arkuszem a kodem VBA ............................................... 298
Uycie tablic w Visual Basicu ..................................................................................... 300
Wicej o funkcjach definiowanych przez uytkownika .............................................. 302
Sterowanie wykonaniem kodu .................................................................................... 305
Instrukcje warunkowe i instrukcja wyboru ........................................................... 305
Instrukcje ptli ...................................................................................................... 308
Stosowanie komentarzy ............................................................................................... 310
Uruchamianie i testowanie makroinstrukcji i funkcji .................................................. 310
Przykady funkcji i makroinstrukcji w VBA ............................................................... 312
Obliczanie wartoci wielomianu ........................................................................... 312
Obliczanie pierwiastkw rwnania kwadratowego ............................................... 313
Wykorzystanie funkcji VBA w Excelu ................................................................. 314
Cakowanie numeryczne ....................................................................................... 316
Rozwizywanie rwna nieliniowych z wykorzystaniem metody GoalSeek ........ 318
Przeksztacenie tablicy dwuwymiarowej w jednowymiarow .............................. 320
Rozwizanie rwnania rniczkowego metod Rungego-Kutty ........................... 322
Funkcje uytkownika podobne do funkcji standardowych .................................... 323
Operacje na komrkach sformatowanych w okrelony sposb ............................. 326
Wywietlanie tekstw formu w arkuszu .............................................................. 327
Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) ....... 329
Rodzaje graficznych elementw sterujcych i ich przeznaczenie ............................... 329
Dodawanie kontrolek (formantw) do arkusza ........................................................... 330
Formanty formularza ............................................................................................. 333
Formanty ActiveX ................................................................................................. 336
Nieudokumentowane formanty pola tekstowego .................................................. 341
Makroinstrukcje przypisywane do formantw w arkuszu ........................................... 343
Przykad wykorzystania formantw w arkuszu ........................................................... 344
Rozdzia 24. Wybrane funkcje wbudowane w Excelu ......................................... 347
Dodatek A Literatura cytowana i uzupeniajca ............................................. 375
Skorowidz ................................................................................... 377

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 1.
Wstp
Do kogo adresowana jest ta ksika?
Obliczenia byy zawsze domen nauk cisych i technicznych, jednake narzdzia do tych
oblicze ulegay cigej ewolucji. Kiedy musiaa wystarczy kartka papieru i proste
liczydo. Mj Tato (inynier mechanik) przez cae swoje ycie zawodowe nie rozstawa
si z suwakiem logarytmicznym. Ja jeszcze w szkole uczyem si o suwaku, ale ju go nie
uywaem. Zanim pojawiy si kalkulatory elektroniczne, do dokadniejszych obli-
cze wykorzystywano tablice logarytmiczne. Czasy mojej modoci to ju era kalku-
latorw, ktre dokonay nawet te najprostsze prawdziwej rewolucji w dziedzinie
oblicze. Potem przyszed czas na komputery osobiste, a wkrtce opracowano do nich
arkusze kalkulacyjne: standardem w okresie DOS-owym by Lotus-123, a w czasach
panowania systemw okienkowych najwiksz popularnoci cieszy si MS Excel.
Chocia arkusze kalkulacyjne byy wprowadzane z myl o uytkownikach bizneso-
wych, ich szeroka dostpno spowodowaa, e krg uytkownikw rozszerzy si o przed-
stawicieli nauki i techniki oraz studentw. Okazao si, e po stosunkowo niewielkich
uzupenieniach narzdzie wspomagajce pocztkowo gwnie obliczenia ekonomiczno-
-finansowe moe w znacznym stopniu spenia wymagania rodowisk naukowych i in-
ynierskich. Istotny tu jest aspekt ekonomiczny dziki duej liczbie uytkownikw
aplikacja MS Excel jest stosunkowo tania i stale rozwijana. Aplikacje pisane specjalnie
na potrzeby rodowiska naukowego to jednak programy niszowe, a przez to bez porw-
nania drosze i z tego powodu mniej popularne.

Excel nie zaspokaja oczywicie wszystkich potrzeb obliczeniowych naukowca, ale spe-
nia prawie wszystkie oczekiwania inyniera. Zasadniczym niedostatkiem z punktu wi-
dzenia potrzeb naukowych jest brak moliwoci oblicze symbolicznych. W naukach
stosowanych i w praktyce inynierskiej odgrywaj one jednak rol drugoplanow. Gdy
wchodzi w gr opracowanie i weryfikacja danych pomiarowych lub prace projektowe
wynik musi mie posta numeryczn, czyli tak, jak mona uzyska w arkuszu kal-
kulacyjnym. Chocia nie jest to jego gwne zadanie, arkusz wspomaga take w znacz-
nym stopniu graficzn prezentacj wynikw, pozwala tworzy rne rodzaje wykresw
i diagramw, dostosowanych gwnie do potrzeb grafiki biznesowej, ale i inynier znajdzie
tu dla siebie uyteczne narzdzia. W ostatnim okresie rozwoju arkusza kalkulacyjnego
rozbudowano rwnie w znacznym stopniu jego funkcje statystyczne. To umoliwia

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


8 Excel w obliczeniach naukowych i inynierskich

prowadzenie nawet do zaawansowanych analiz statystycznych, ale wymaga dobrej


znajomoci podstaw teoretycznych uytkownik musi bowiem zdecydowa, jakich na-
rzdzi statystycznych uyje i w jaki sposb je wykorzysta.

Arkusz kalkulacyjny na pewno stanowi now jako w stosunku do nawet najbardziej


zaawansowanego kalkulatora. Przede wszystkim umoliwia zautomatyzowanie powta-
rzalnych oblicze, tworzenie cigw formu, w ktrych wyniki jednej formuy s wyko-
rzystywane jako dane nastpnej, umoliwia obliczenia iteracyjne, w ktrych dane s
przetwarzane wielokrotnie przez t sam formu. Wan waciwoci arkusza jest
automatyczne przeliczanie wszystkich formu po wprowadzeniu jakiejkolwiek zmiany
danych. Uatwia to ledzenie wpywu moliwych zmian wartoci parametrw na wyniki
oblicze, modelowanie zjawisk.

Arkusz kalkulacyjny udostpnia bardzo szeroki zestaw predefiniowanych funkcji, umo-


liwiajcych wykonywanie oblicze specjalistycznych w rnych dziedzinach, istnieje
te moliwo poszerzenia katalogu dostpnych funkcji o wasne funkcje uytkownika
trzeba je jednak napisa w specjalnym jzyku programowania, zwanym VBA (ang.
Visual Basic for Applications), ktry niestety nie jest zbyt dobrze zintegrowany
z arkuszem.

Pewn alternatyw dla procedur i funkcji pisanych w VBA stanowi moe stosunkowo
mao znana i niedoceniana moliwo oferowana przez arkusz MS Excel, jak s operacje
tablicowe czyli operacje wykonywane rwnolegle na wielu danych. Operacje takie
w poczeniu ze stosowaniem nazw odpowiednio dobranych formu umoliwiaj bardzo
zwizy zapis nawet stosunkowo zoonych operacji, takich jak na przykad cakowanie
numeryczne. Niestety, przekazywanie parametrw do takich quasi-funkcji jest moliwe
tylko przez komrki lub predefiniowane nazwy. Zagadnieniu operacji tablicowych po-
wicam w tej ksice stosunkowo duo uwagi, gdy pomimo bogatej literatury dotycz-
cej Excela s one traktowane do pobienie.

Kolejn cenn, a zarazem stosunkowo mao spopularyzowan waciwoci arkusza


Excel jest moliwo wielokrotnego wykonywania operacji na danych w tych samych
komrkach (tzw. zamierzone odwoania cykliczne). Pozwala to zapisywa bardzo zwile
nawet do zoone procedury obliczeniowe, ktre na przykad w VBA i innych jzykach
programowania organizuje si za pomoc ptli programowych. Wraz z operacjami tabli-
cowymi i moliwoci definiowania zmiennych i staych jako tzw. formu nazwanych daje
to ogromne moliwoci obliczeniowe, ktre trzeba tylko umie twrczo wykorzysta.

Ksika jest zatem adresowana do wszystkich, ktrzy wykonuj lub planuj wykony-
wanie oblicze numerycznych w dziedzinie nauk cisych i technicznych, a wic pra-
cownikw nauki, inynierw, doktorantw i studentw, a take ambitnych uczniw szk
rednich. Poniewa jestem chemikiem, przykady zawarte w ksice dotycz gwnie
zagadnie chemicznych, ale staraem si je formuowa tak, aby byy zrozumiae take
dla przedstawicieli innych dyscyplin. Od Czytelnika oczekuj znajomoci podstaw ob-
sugi arkusza kalkulacyjnego umiejtnoci wprowadzania i edycji danych, organizacji
danych w arkuszu i skoroszycie (wstawianie i usuwanie wierszy i kolumn, formatowanie
komrek, wierszy i kolumn, kopiowanie i przesuwanie komrek, definiowanie wykresu),
zapisu i odczytu plikw Excela, wykonywania kopii ekranu i okien arkusza, drukowania
plikw itp., a ponadto znajomoci matematyki na poziomie szkoy redniej.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 1. Wstp 9

Mam nadziej, e lektura tej ksiki pozwoli spojrze na arkusz kalkulacyjny jak na po-
tne i elastyczne narzdzie obliczeniowe, za pomoc ktrego przy odrobinie wysiku
intelektualnego i stosunkowo niewielkim nakadzie czasu i rodkw mona zrealizo-
wa wiele bardzo rnorodnych zada obliczeniowych, a dokadno uzyskanych wynikw
powinna wystarczy do wikszoci zastosowa.

Co jest, a czego nie ma w tej ksice?


Na rynku ksigarskim nie brakuje ksiek poruszajcych rne aspekty obsugi i zasto-
sowa arkusza kalkulacyjnego MS Excel. S to opracowania o rnym poziomie szcze-
gowoci, skierowane do rnych odbiorcw. Excel wraz z jzykiem Visual Basic sta-
nowi bardzo obszerny pakiet programistyczny i jego pene omwienie w jednej ksice
nie jest ani moliwe, ani celowe. W tym opracowaniu skoncentrowaem si na imple-
mentacji rnych numerycznych metod obliczeniowych w Excelu. S to typowe proble-
my obliczeniowe, z jakimi styka si kady student kierunkw cisych i technicznych,
a take wielu inynierw. Do tych zagadnie zaliczyem tworzenie tabel i wykresw
wartoci funkcji, rozwizywanie rwna i ukadw rwna, rniczkowanie i cakowanie
numeryczne, odczyt i interpolacj danych tablicowych, opracowanie danych dowiadczal-
nych metod regresji, rozwizywanie wybranych rwna rniczkowych. Uwzgldniem
take specyficzne w zastosowaniach naukowych zagadnienia szczegowe, jak na przy-
kad przeliczanie jednostek rnych wielkoci fizycznych.

Kade z wymienionych zagadnie mona rozwiza rodkami dostpnymi bezporednio


w arkuszu kalkulacyjnym wraz z dodatkami, takimi jak Solver, ale mona te posuy
si wasnymi funkcjami czy procedurami napisanymi w VBA. W tej ksice staraem si
wykorzystywa gwnie funkcje i inne moliwoci samego arkusza, a przy tym ograni-
czy omwienie VBA do minimum. Moim zamiarem byo zaprezentowanie jedynie tych
wiadomoci, ktre pozwalaj napisa proste funkcje i procedury, uzupeniajce i rozsze-
rzajce moliwoci dostpne bezporednio w arkuszu. VBA jest rozbudowanym obiekto-
wym jzykiem programowania i pene wykorzystanie jego moliwoci wymaga do
gbokiej znajomoci technik programowania obiektowego. Istniej podrczniki szcze-
gowo traktujce te zagadnienia, na przykad [14], lecz dla przecitnego uytkownika
arkusza nie s to sprawy najistotniejsze. Takie problemy interesuj raczej profesjonal-
nych informatykw, piszcych zamknite aplikacje oparte na Excelu, przeznaczone do
wskich zastosowa w rnych dziedzinach.

Obserwujc studentw, dla ktrych informatyka to tylko przedmiot dodatkowy, stwier-


dzam, e Visual Basic jest dla nich do trudny do zrozumienia. Postanowiem zatem nie
rozwija w tym opracowaniu wszystkich typowych technik programowania, a ograniczy
si do kilku do szczegowo omwionych przykadw. Zamiast Visual Basica staraem
si stosowa, gdy byo to moliwe i celowe, operacje tablicowe i zamierzone odwoania
cykliczne i w ten sposb upraszcza obliczenia oraz ogranicza liczb wynikw porednich.

Jak ju pisaem, Excel by pierwotnie przeznaczony gwnie do zastosowa ekonomiczno-


-biznesowych, std s w nim zaimplementowane liczne funkcje suce do typowych
operacji zwizanych z obliczaniem rat kredytw, oprocentowania, amortyzacji itp., jak

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


10 Excel w obliczeniach naukowych i inynierskich

rwnie wykresy suce gwnie do prezentacji danych biznesowych. Te aspekty zasto-


sowa Excela wykraczaj poza zakres tego opracowania. Podobnie nie omawiam za-
gadnienia tabel i wykresw przestawnych, ktre zajmuj czsto sporo miejsca w tekstach
na temat Excela. Pominem wiele funkcji przeznaczonych do przelicze zegarowo-
-kalendarzowych, jakkolwiek niektre z nich mog mie rwnie zastosowanie naukowe.
Nie omawiam te funkcji sucych do przetwarzania danych tekstowych. W zastosowa-
niach naukowych teksty su najczciej do opisu danych liczbowych, jako tzw. etykiety,
i nie podlegaj przetwarzaniu. Jeden z rozdziaw powiciem wykorzystaniu Excela do
obsugi prostych baz danych, przy okazji omwiem krtko funkcje bazodanowe. Po-
minem natomiast grup funkcji tzw. moduowych, wprowadzonych w wersji Excela
2007, przeznaczonych do wsppracy z zewntrznymi bazami danych.

No i na koniec zagadnienie by moe najbardziej kontrowersyjne, czyli statystyka


matematyczna. Excel udostpnia bardzo bogat bibliotek funkcji i testw statystycznych.
Jest to tematyka naleca jak najbardziej do zakresu naukowych zastosowa Excela.
Mimo to postanowiem znacznie ograniczy zakres tej problematyki w mojej ksice i na-
pisa jedynie o tych aspektach statystyki, ktre wi si bezporednio z regresj danych
dowiadczalnych. Zaoyem, e ta ksika powinna by zrozumiaa dla osb z przy-
gotowaniem matematycznym na poziomie szkoy redniej. Gdybym chcia omawia
wszystkie dostpne w arkuszu funkcje statystyczne, musiaby temu towarzyszy do ob-
szerny wykad teoretyczny (statystyka nie jest omawiana na poziomie szkoy redniej).
Spowodowaoby to silne przesunicie proporcji omawianych zagadnie w kierunku sta-
tystyki, co nie wydaje mi si korzystne. Osoby zainteresowane t tematyk odsyam
do wyspecjalizowanych podrcznikw statystyki matematycznej i do pliku pomocy
Excela [15].

Konwencje przyjte w tekcie


Chcc uczyni ten tekst moliwie przystpnym dla Czytelnika, przyjem nastpujce
zasady uywania wyrnie w tekcie. Nazwy pozycji menu oraz oznaczenia klawiszy
s wyrnione, na przykad Wstaw/Funkcja albo Ctrl+Shift+Enter. Czcionk pogrubion
zostay zaznaczone wane pojcia, ktrych okrelenia padaj w tekcie. Symbole wielko-
ci fizycznych i zmiennych prostych oraz oglne symbole funkcji, nieuywane jako na-
zwy w arkuszu, s pisane czcionk pochy niepogrubion, na przykad stopie dysocja-
cji , funkcja f(x), natomiast symbole tablic i innych zmiennych zoonych czcionk
pochy pogrubion.

Granice przedziaw domknitych oznaczone s nawiasem kwadratowym, a przedziaw


otwartych nawiasem okrgym, na przykad stwierdzenie, e liczba x naley do prze-
dziau [0, 2), oznacza, e 0 x < 2.

W formuach (wyraeniach) stosowanych w arkuszu kalkulacyjnym nazwy funkcji pre-


definiowanych pisane s WERSALIKAMI czcionk prost niepogrubion, a nazwy obowiz-
kowych argumentw funkcji czcionk pogrubion pochy, na przykad SIN(kt).
Argumenty opcjonalne (ktre mona pomin) zostay zapisane czcionk pochy
niepogrubion, na przykad REGLINP(znane_y; znane_x; czy_staa; czy_stat). Jeeli

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 1. Wstp 11

formua nie mieci si w wierszu na stronie, ale w arkuszu nie moe by podzielona na
wiersze, w treci umieszczaem znak . Znak ten nie jest czci formuy i nie naley
go wpisywa. Adresy komrek, na przykad C5, nazwy staych logicznych PRAWDA, FASZ
oraz znaczniki bdw, na przykad #ARG!, s pisane WERSALIKAMI.

Znak wielokropka (...) uywany w opisie niektrych funkcji oznacza, e poprzedzajcy


go parametr moe by powtarzany. Tego znaku oczywicie nie naley wpisywa do-
sownie. Przykadowo zapis SUMA(arg1; arg2; ...) oznacza, e funkcja SUMA musi mie
co najmniej jeden argument, ale moe mie ich rwnie dwa, trzy lub wicej.

Nazwy zmiennych i formu definiowane przez uytkownika s pisane czcionk pogrubion


pochy, podobnie jak obowizkowe argumenty funkcji, natomiast stae liczbowe i tek-
stowe oraz operatory dziaa czcionk prost.

Formuy (wyraenia) w Excelu zapisuje si z reguy bez spacji. Jednake dopuszczalne


jest uycie spacji pomidzy poszczeglnymi elementami wyraenia (nie wolno tylko
wstawia spacji wewntrz liczby, wewntrz adresu lub nazwy, wewntrz operatorw
zoonych z dwu znakw, np. <>, oraz midzy nazw funkcji a nawiasem otwierajcym).
Ze wzgldu na przejrzysto i czytelno zapisu w tej ksice stosuj znaki spacji po
znaku rwnoci, od ktrego rozpoczyna si wyraenie, oraz po rednikach rozdzielaj-
cych argumenty funkcji. Tych spacji nie trzeba wpisywa do arkusza.

Wyraenia definiujce nazwy (formuy nazwane) s prezentowane w tej ksice z reguy


w konwencji:
nazwa : = wyraenie_definiujce

Nazw naley wpisa w polu: Nazwy w skoroszycie, a wyraenie definiujce, poczwszy


od znaku rwnoci, w polu: Odwouje si do. Dwukropek suy tylko do poprawy przejrzy-
stoci zapisu i nie powinien by nigdzie wpisywany. Procedura definiowania formu jest
opisana w rozdziale 2. Podstawowe operacje w arkuszu i zilustrowana na rysunku 2.2.

W rozdziale 22., zawierajcym omwienie zagadnie programowania w Visual Basicu,


stosowane s nieco inne konwencje zapisu wyrae. Zostay one opisane na pocztku
rozdziau, ktrego dotycz.

Rozwj arkusza kalkulacyjnego


Od ukazania si pierwszego wydania tej ksiki min ju przeszo rok i w tym czasie
pojawia si nowa wersja pakietu Microsoft Office z dat 2010. Zmiany wprowadzone
w tej wersji zostay uwzgldnione w biecym wydaniu ksiki. W tym czasie zwikszya
si liczba uytkownikw pakietu w wersji 2007, lecz wiele osb posuguje si wci
wczeniejszymi wersjami. Staraem si wic, w miar moliwoci, uwzgldni potrzeby
wszystkich uytkownikw Excela.

Zamieszczone w treci przykady oblicze byy najczciej wykonywane w wersji Excela


z roku 2007, nieliczne w celu porwnania wykonano rwnie w wersji 2000. W wer-
sji 2007 cakowicie zmieniono interfejs uytkownika i dostp do poszczeglnych polece

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


12 Excel w obliczeniach naukowych i inynierskich

wymaga innej sekwencji wyborw ni we wczeniejszych wersjach, ale lista funkcji


i waciwoci samego arkusza pozostay praktycznie bez zmian. Do istotnym rozsze-
rzeniem funkcjonalnoci, ktre pojawio si w wersji 2003, a potem zostao rozwinite
w wersji 2007, jest wprowadzenie tabel (zwanych w wersji 2003 listami) i zwizanych
z nimi odwoa strukturalnych. Zmiany, ktre wprowadzono w ostatniej wersji arkusza
(z roku 2010) w stosunku do wersji 2007, s niezbyt due, zmienia si kolorystyka
interfejsu uytkownika, wprowadzono drobne uzupenienia, ale bez wikszego znaczenia
z punktu widzenia oblicze naukowych. Wprowadzono midzy innymi nowy rodzaj wy-
kresw, ktry omwiem dokadniej w rozdziale 5. Graficzna prezentacja danych.
Chyba najbardziej znaczc zmian wprowadzon w polskiej wersji Excela z roku 2010
jest spolszczenie nazw funkcji z grupy inynierskich, w tym gwnie funkcji konwersji
systemw liczbowych i jednostek oraz funkcji operujcych na liczbach zespolonych.
Ponadto w wersji 2010 zmieniono nazwy kilku funkcji oraz zmodyfikowano dziaanie
niektrych funkcji. Zmiany te dotycz gwnie grupy funkcji statystycznych. S one
niezbyt czytelne i ich wprowadzenie spowoduje, moim zdaniem, wicej baaganu ni
oczekiwanej przejrzystoci. Na szczcie dotychczasowe nazwy mog by nadal uywane
w celu zachowania kompatybilnoci z wczeniejszymi wersjami. Stworzono dla nich no-
w grup Funkcji zgodnoci. Tam, gdzie wprowadzone w wersjach 2007 i 2010 zmiany
s istotne z punktu widzenia wykonywanych oblicze (na przykad zmienia si nazwa lub
skadnia funkcji albo sposb dostpu do pozycji menu), staraem si poda wszystkie wer-
sje. Zatem rwnie uytkownicy wczeniejszych wersji Excela (od wersji 97) mog z po-
wodzeniem wykona wikszo przykadw omawianych w tej ksice.

Autor

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2.
Podstawowe operacje
w arkuszu
Typy danych wystpujcych
w arkuszu i ich identyfikacja
Arkusz kalkulacyjny ma form tablicy podzielonej na wiersze i kolumny. Kady wiersz
i kada kolumna ma swj identyfikator (w postaci liczby lub 1 3 liter) widoczny po le-
wej stronie i u gry arkusza. W miejscu przecicia kadej kolumny i wiersza znajduj si
komrki to gwne miejsce, w ktrym przechowuje si dane i wykonuje obliczenia
w arkuszu. Podstawowym identyfikatorem komrki jest jej adres zoony z identyfi-
katorw kolumny i wiersza. Kady arkusz ma rwnie swoj nazw (identyfikator) wi-
doczn jako nazwa zakadki w dolnej czci okna po lewej stronie. Po otwarciu aplikacji
standardowo tworzone s trzy arkusze noszce nazwy Arkusz1, Arkusz2 i Arkusz3. Na-
zwy te mona zmieni, klikajc zakadk prawym klawiszem myszy i wybierajc od-
powiedni opcj. Zestaw arkuszy stanowi skoroszyt, ktry jest zapisywany w jednym
pliku. Identyfikatorem skoroszytu jest nazwa pliku.

Do komrek arkusza wprowadza mona w zasadzie cztery typy danych:


stae liczbowe,
stae logiczne,
stae tekstowe, zwane te literaami,
wyraenia, zwane te formuami.

Excel identyfikuje poszczeglne rodzaje danych na podstawie pierwszego i ewentualnie


nastpnych wprowadzonych znakw. Jeeli pierwszy wprowadzony znak to = (znak
rwnoci), cay zapis jest traktowany jako formua (wyraenie). Jeeli pierwszy znak to
' (apostrof), cay zapis jest traktowany jako tekst (pierwszy apostrof nie wchodzi w skad

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


14 Excel w obliczeniach naukowych i inynierskich

tego tekstu jest tylko znakiem formatujcym). Stae logiczne s tylko dwie w pol-
skiej wersji jzykowej maj posta sw PRAWDA lub FASZ (mog by wprowadzane
maymi lub duymi literami, Excel zamienia je zawsze na due litery) i dokadnie tak
musz wyglda.

Stae liczbowe mog przyjmowa rn posta w zalenoci od przyjtego sposobu for-


matowania. Omwienie wszystkich formatw liczbowych zajoby tu zbyt wiele miejsca,
a praktycznie tylko kilka jest wykorzystywanych do oblicze naukowych ogranicz
si wic do tych najczciej uywanych. W zwykym zapisie dziesitnym liczba skada
si z cyfr dziesitnych od 0 do 9 i ewentualnie separatora dziesitnego (w polskiej wersji
jest to przecinek). Liczba dziesitna moe by poprzedzona znakiem + lub i nie moe
wewntrz zawiera spacji. Liczby mona wprowadza z dowoln iloci cyfr znaczcych.
Jeli wybrano format Oglny, liczba wywietlana jest w arkuszu z tak dokadnoci, na
jak pozwala szeroko komrki. Jeli wybrano format Liczbowy, liczba cyfr po przecinku
jest staa, taka, jak okrelono przy wyborze formatu.

Liczby mona wprowadza take w postaci uamkw zwykych z ukonikiem / w cha-


rakterze kreski uamkowej. Cz cakowit od uamkowej oddziela si jedn spacj. Jeli
uamek nie ma czci cakowitej, naley wpisa 0. Przykady poprawnych liczb w tej kon-
wencji to: 2 1/4, 1 2/5, 0 1/9 itp. Znak , jeli wystpuje, odnosi si do obu czci licz-
by. Jeli liczba ma by wywietlana w taki sposb, naley wybra format Uamkowy.

Do zastosowa obliczeniowych czsto uywa si zapisu tzw. naukowego, zwanego te


plogarytmicznym. Suy on do wprowadzania bardzo maych i bardzo duych liczb.
W tekcie drukowanym ma on na przykad posta 5,37106, w Excelu odpowiada mu
zapis 5,37E6, przy czym litera E zastpuje 10 i nie uywa si znaku mnoenia. Cz
liczby przed liter E nosi nazw mantysy, a cz za liter E cechy. Zarwno cecha,
jak i mantysa mog by poprzedzone znakiem + lub , mantysa moe by dowoln liczb
dziesitn, natomiast cecha musi by liczb cakowit. Litera E moe by wprowadzana
jako maa lub dua, Excel zamienia j zawsze na du. Jeeli cecha jest jednoznakowa,
Excel dopisuje do niej 0 i ewentualnie znak +. Podobnie jak w zwykym zapisie, w obr-
bie liczby nie moe by spacji. Jeli wybierzemy format Naukowy, liczby bd wywie-
tlane w taki sposb.

Po liczbie (w dowolnej notacji) mona dopisa jeden znak % (procent) bezporednio


lub po spacji spowoduje to podzielenie liczby przez 100 i jeli liczba bya zapisana
w zwyky sposb, format komrki zostanie zmieniony na Procentowy, a jeli w notacji
naukowej formatowanie pozostanie naukowe. Przykadowo po wprowadzeniu liczby
55% Excel zapamita warto 0,55, a wywietli 55%. Po wprowadzeniu 2e4% Excel za-
pamita warto 200, a wywietli 2,00E+02. Po wprowadzeniu liczby w dowolny sposb
mona zmieni format komrki na Procentowy, powodujc wywietlenie liczby jako
procentu. Format ten, podobnie jak format Liczbowy, wymaga okrelenia staej liczby
miejsc po przecinku.

Wicej szczegw dotyczcych dostpnych rodzajw formatowania komrek mona


znale w pliku pomocy [15].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 15

Liczba bez znaku (rwnie w notacji naukowej) moe by ujta w nawiasy okrge, taka
liczba jest traktowana jako ujemna (jest to amerykaski zwyczaj ksigowy) zasada ta
dotyczy tylko staych liczbowych, a nie wyrae, na przykad staa (100) ma warto
100, ale wyraenie = (100) ma warto 100.

Wszystko, co nie moe by zakwalifikowane jako wyraenie, staa logiczna lub liczbo-
wa, jest traktowane jako tekst. W praktyce atwo rozpozna, z jakim rodzajem danych
mamy do czynienia, na podstawie ich wyrwnania w komrce. Standardowo liczby s
dosuwane do prawej krawdzi komrki, wartoci logiczne s centrowane, a teksty do-
suwane do lewej krawdzi komrki. Dotyczy to zarwno staych, jak i wynikw obli-
czenia wyrae.

Moemy to wykorzysta do szybkiej weryfikacji, czy dane liczbowe zostay waciwie


zinterpretowane. Czsto zdarza si, e kto przyzwyczajony do notacji anglosaskiej uyje
kropki dziesitnej zamiast przecinka (albo omykowo nacinie niewaciwy klawisz
s obok na klawiaturze). Wtedy jeli w arkuszu zobaczymy na przykad zapis 1.8
dosunity do lewej krawdzi komrki mamy sygna, e Excel potraktowa ten zapis
jako tekst.

Aby liczba bd formua byy traktowane jako tekst, wystarczy poprzedzi je apostro-
fem ' albo zastosowa Tekstowy format komrki (przed wprowadzeniem formuy).

Sposb wywietlania danych w arkuszu zaley od zastosowanego formatowania i szero-


koci komrki. Dane tekstowe s wywietlane w caoci, jeeli rozmiar komrki na to
pozwala. Jeeli dane nie mieszcz si w komrce, ale ssiednie komrki s puste, tekst jest
wywietlany take na tle ssiednich komrek, w przeciwnym razie wywietlona zostaje
tylko pocztkowa cz tekstu. Jeeli do danych liczbowych zastosowano format Oglny,
Excel prbuje dopasowa sposb wywietlania liczby do wielkoci komrki (przez zmniej-
szenie liczby miejsc dziesitnych), czasem te poszerza kolumn. Jeli format okrela liczb
znakw do wywietlenia, a ta nie mieci si w komrce, to w przeciwiestwie do tekstw
nigdy nie wywietla si liczb na tle ssiedniej komrki. W takim przypadku zamiast war-
toci wywietlane s znaki #### wypeniajce ca szeroko komrki. Jest to sygna dla
uytkownika, e musi zmieni rcznie albo format wywietlania, albo wielko czcionki,
albo szeroko kolumny.

Wartoci logiczne wywietlane s podobnie jak liczby, tzn. jeli nie mieszcz si w ko-
mrce, zostaj zastpione s cigiem znakw ####.

Formuy s domylnie wyliczane, tzn. w arkuszu wywietlana jest nie sama formua, lecz
wynik jej wyliczenia z uwzgldnieniem biecej wartoci komrek i nazw, do ktrych
formua si odwouje. Sama formua jest widoczna w polu edycji nad arkuszem, gdy
komrka zawierajca t formu stanie si komrk biec (aktywn). Mona prze-
czy arkusz w tryb wywietlania formu, naciskajc klawisze Ctrl+` (apostrof lewostronny)
lub w starszych wersjach wybierajc z menu Narzdzia/Opcje/Widok/Opcje okna
i zaznaczajc pole Formuy, a od wersji 2007 na karcie Formuy w grupie Inspekcja
formu klikajc przycisk Poka formuy. W tym trybie wszystkie formuy w arkuszu s
wywietlane jak teksty, a nie wyliczane. Ponowne nacinicie tej kombinacji klawiszy
przywraca obliczanie formu.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


16 Excel w obliczeniach naukowych i inynierskich

Jeeli chcemy jednoczenie widzie zarwno formu, jak i wynik oblicze, mamy dwie
moliwoci. Jedna z nich to wywietlenie tego samego arkusza w dwch oknach jedno
bdzie w zwykym trybie wywietla wyniki, a drugie po przeczeniu w tryb wywietla-
nia formu pokae wzory uyte do oblicze. Aby wywietli arkusz w dwch oknach, naley
w starszych wersjach Excela wykona polecenie Okno/Nowe okno, a nastpnie Okno/
Rozmie/Ssiadujco lub Pionowo. Od wersji 2007 trzeba w tym celu z zakadki Widok
wybra polecenie Nowe okno, a nastpnie Wywietl obok siebie i Przewijanie synchroniczne.
Teraz w jednym z okien naley uy kombinacji klawiszy Ctrl+` w celu wywietlenia
formu. Druga moliwo to wykorzystanie makroinstrukcji, ktra obok formuy uywanej
do oblicze umieci w ssiedniej komrce jej tekstow kopi. Przykad takiej makroin-
strukcji podano w rozdziale 22. Elementy jzyka VBA (Visual Basic for Applications),
w podrozdziale Wywietlanie tekstw formu w arkuszu. Ten wariant wymaga wykonania
makroinstrukcji oddzielnie w przypadku kadej formuy, ktr chcemy widzie. Moe
wic mie zastosowanie wtedy, gdy obserwowane maj by tylko wybrane formuy.

Konstrukcja formu (wyrae) w Excelu


Obliczenia w arkuszu kalkulacyjnym wykonuje si dziki formuom. Pierwszym zna-
kiem kadej formuy jest znak = (znak rwnoci), ktry mona wprowadzi bezporednio
z klawiatury lub przez kliknicie myszk znaku = widocznego przed polem edycji nad
tabel arkusza (od wersji 2007 ju go tam nie ma). W treci formuy mog wystpi:
a) stae: liczbowe, logiczne, tekstowe lub tablicowe,
b) adresy: komrek lub obszarw,
c) nazwy: staych, komrek, obszarw (zakresw) lub innych formu,
d) operatory dziaa,
e) wywoania funkcji,
f) nawiasy okrge, ktre mog by zagniedane, tzn. wielokrotnie otwierane
i zamykane.

Wrd formu mona wyrni formuy zwyke, zatwierdzane klawiszem Enter,


operujce na pojedynczych wartociach i dajce w wyniku jedn warto oraz formuy
tablicowe, zatwierdzane kombinacj klawiszy Ctrl+Shift+Enter, operujce na tabli-
cach danych i/lub dajce w wyniku wicej ni jedn warto (chocia bywaj rwnie
formuy tablicowe zwracajce jedn warto). Formuy tablicowe omwiono dokadnie
w rozdziale 3. Operacje i funkcje tablicowe. W tym rozdziale skupimy si na zwykych
formuach.

Ad a) Stae liczbowe i logiczne uywane w wyraeniach maj posta tak jak przy ich
wprowadzaniu do komrek. Formaty staych liczbowych uytych w wyraeniu nie wpy-
waj na format uzyskanego wyniku. Format wyniku jest okrelony przez typ formatu
nadany komrce przed wprowadzeniem formuy. Moe on by jednak w kadej chwili
zmieniony. Najczciej stosowane formaty liczbowe zostay omwione w poprzednim
podrozdziale.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 17

Stae tekstowe w wyraeniach musz by ujte w cudzysw, na przykad "tekst", w celu


ich odrnienia od nazw i adresw.

Naley uywa cudzysoww jako pojedynczych znakw, a nie podwjnych apostrofw.


W arkuszu wyglda to prawie tak samo, ale co innego znaczy. Takie bdy s potem
trudne do zidentyfikowania.

Stae tablicowe ujmuje si w nawiasy klamrowe {}. Stae te zostay opisane w rozdziale 3.
Operacje i funkcje tablicowe. Jeeli w zwykym wyraeniu wystpi staa tablicowa, to
do oblicze bierze si tylko lewy grny (pierwszy) element tablicy. Nie dotyczy to sytu-
acji, gdy staa tablicowa jest argumentem funkcji, ktra akceptuje argumenty tablicowe
w zwykych wyraeniach, na przykad funkcji SUMA, REDNIA itp.

Ad b) Adresy komrek skadaj si z litery lub dwch liter (a od wersji 2007 nawet trzech
liter) oznaczajcych kolumn i liczby oznaczajcej numer wiersza, na przykad adres D13
oznacza komrk w kolumnie D i 13 wierszu. Ten styl adresowania okrela si mianem
A1. Litery oznaczajce kolumny mog by wprowadzane jako mae lub due Excel
zamienia je na due. Kada cz adresu (wierszowa lub kolumnowa) moe by poprze-
dzona znakiem $ (znak dolara). Znaczenie tego znaku zostanie wyjanione w podrozdziale
Edycja, kopiowanie i przesuwanie zawartoci komrek. Istnieje jeszcze alternatywny
styl adresowania komrek, w ktrym adres ma posta typu W6K10, gdzie litery W i K ozna-
czaj odpowiednio wiersz i kolumn, a numery okrelaj ich pooenie w arkuszu. Ten
styl adresowania, okrelany jako styl W1K1, stosowany jest rzadziej i nie bdzie tu oma-
wiany. W wersji angielskiej uywa si odpowiednio liter R i C (styl R1C1). Wyboru
stylu adresowania dokonuje si przez zaznaczenie odpowiedniej opcji na karcie Narzdzia/
Opcje/Oglne (w wersji 2007 Przycisk pakietu Office/Opcje programu Excel/Formuy,
a w wersji 2010 Plik/Opcje/Formuy). W jednym skoroszycie musi by konsekwentnie
stosowany jeden styl adresowania.

Kilka przylegajcych do siebie komrek stanowi obszar, nazywany te zakresem. Ob-


szary musz by prostoktne. Adres obszaru skada si z adresw komrek w lewym
grnym i w prawym dolnym rogu obszaru poczonych znakiem : (dwukropek), na
przykad B4:D8. Mona te poda adres obszaru obejmujcego cae kolumny, na przy-
kad C:H, lub cae wiersze, na przykad 7:10. Jeli obszar ma obejmowa tylko jedn
kolumn lub jeden wiersz, jej (lub jego) oznaczenie musi by podane dwukrotnie, na
przykad B:B lub 4:4. W adresach obszarw w miar potrzeby mona uywa znaku $.

Przy wprowadzaniu adresu do formuy mona wpisywa go z klawiatury, ale zwykle


szybciej i wygodniej jest wprowadzi go przez kliknicie myszk w komrk, ktrej adres
ma by umieszczony w formule. Istotne jest jednak, aby zrobi to we waciwym momen-
cie, tzn. kiedy formua jest w trybie edycji, a kursor znajduje si w miejscu, gdzie mona
wprowadzi adres komrki. Podobnie wprowadzi mona adres zakresu wystarczy klik-
n lewym klawiszem myszki jeden z jego naronikw i przecign myszk do prze-
ciwlegego naronika. Adres caego wiersza lub caej kolumny wprowadzimy, klikajc
odpowiednie identyfikatory kolumny lub wiersza na obrzeu arkusza. W analogiczny
sposb postpuje si z adresem zakresu zoonego z kilku wierszy lub kilku kolumn.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


18 Excel w obliczeniach naukowych i inynierskich

Jeeli odwoanie dotyczy komrek z innego arkusza, naley je poprzedzi kwalifikato-


rem zoonym z nazwy arkusza i znaku wykrzyknika (!), na przykad Arkusz2!$C$3.
Mona take odwoywa si do komrki z innego otwartego skoroszytu, umieszczajc
jego nazw w nawiasach kwadratowych, na przykad [regresja.xls]Arkusz1!B4. Nazwa
pliku moe by z rozszerzeniem lub bez program uzupeni rozszerzenie, jeli zostao
pominite. Jeeli nazwa pliku lub nazwa arkusza zawiera jedn lub wicej spacji, cay
kwalifikator, a do znaku wykrzyknika, naley umieci midzy znakami apostrofw, na
przykad '[dane pomiarowe.xls]Arkusz nr 3'!A5. (Jeli uyjemy apostrofw pomimo
braku spacji w nazwie, nie bdzie bdu Excel je usunie). Nazwa pliku musi by ujta
w nawiasy kwadratowe wtedy i tylko wtedy, gdy po niej nastpuje nazwa arkusza. Jeli nie
podajemy nazwy arkusza, to nie mona uy nawiasw pojawi si bd skadni. Pomi-
nicie nazwy arkusza po nazwie pliku jest uzasadnione w nastpujcych przypadkach:
jeeli odwoujemy si do pierwszego arkusza w skoroszycie (najczciej jest
to Arkusz1), mona pomin nazw arkusza;
jeeli odwoujemy si do obiektu zdefiniowanego w caym skoroszycie,
na przykad nazwy staej, zakresu lub tabeli (uywanie nazw wyjaniono
w podpunkcie c)).

Gdy skoroszyt, do ktrego chcemy si odwoa, jest zamknity, naley poda pen ciek
dostpu do pliku, na przykad 'C:\Documents and Settings\USER\Moje dokumenty\Excel\
[wykres1.xls]Arkusz1'!C3. Oczywicie bezporednie wpisywanie tak rozbudowanych
odwoa jest niewygodne i sprzyja popenianiu bdw. Dlatego znacznie wygodniej
wprowadza te odwoania przez wskazanie myszk odpowiednich komrek. Przy zamyka-
niu skoroszytu rdowego odwoania do niego zostan uzupenione ciek dostpu.

W kwalifikowanym odwoaniu do zakresu kwalifikatora uywa si tylko raz, na przy-


kad Arkusz1!$B$4:$C$5.

Ad c) Jeli jakie dane s wykorzystywane wielokrotnie w rnych formuach, zwykle


korzystnie jest nada im specjalne nazwy i uywa tych nazw zamiast adresw. Nazwy
mona nada staym, formuom, komrkom i ich zakresom (obszarom). Uniwersalnym
sposobem nadawania nazw jest wykorzystanie okna dialogowego Wstaw/Nazwa/Definiuj
(od wersji 2007 Formuy/Definiuj nazw), w ktrym podajemy nazw i okrelamy, co ta
nazwa ma oznacza. To samo okno dialogowe umoliwia edycj nazw i przypisanych
do nich danych oraz usuwanie nazw, ktre nie s ju potrzebne.

Nazwy musz zaczyna si od litery lub znaku podkrelenia, poza pierwszym znakiem
mog zawiera take cyfry i kropki. Due i mae litery nie s rozrniane. Nazwy nie
mog by identyczne z adresami komrek w obu stylach adresowania w wersji polskiej
i angielskiej (w zwizku z tym nie mona uywa m.in. nazw w, k, wk, r, c, rc, rwnie
w wariancie z duymi literami).

Nazwy w arkuszu nie mog si powtarza (ale mog si powtarza w skoroszycie


obejmujcym kilka arkuszy wwczas ta sama nazwa bdzie mie rne znaczenia
w zalenoci od arkusza, w ktrym zostaa uyta). Jeeli nazwa zostaa zdefiniowana
tylko w jednym arkuszu skoroszytu, obowizuje w caym skoroszycie. Jeeli ta sama
nazwa zostaa zdefiniowana w wicej ni jednym arkuszu, to pierwsza definicja obo-
wizuje w caym skoroszycie z wyjtkiem tych arkuszy, w ktrych zostaa zdefiniowana

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 19

ponownie. Aby uy nazwy, ktra w danym arkuszu nie obowizuje, naley poprzedzi
j kwalifikatorem z nazw arkusza lub skoroszytu, w ktrym bya zdefiniowana, od-
dzielon wykrzyknikiem (!). Taka nazwa kwalifikowana moe mie form:
Zeszyt1.xls!abc nazwa abc obowizujca w skoroszycie Zeszyt1,
z wyczeniem arkuszy, w ktrych zdefiniowano j ponownie;
Arkusz2!abc nazwa abc zdefiniowana w Arkuszu2 w biecym skoroszycie.

Poczwszy od wersji 2007, w Excelu mona definiowa tabele. Kada tabela musi mie
nazw w momencie utworzenia nazwa jest nadawana automatycznie, ale pniej
mona j zmieni. Nazwa tabeli musi by zgodna z reguami dotyczcymi nazw defi-
niowanych i jest unikatowa w skoroszycie. Szczegowy opis dotyczcy uywania tabel
podano w rozdziale 3. Operacje i funkcje tablicowe, w podrozdziale Odwoania struk-
turalne w tabelach. Nazwy tabel mog by uywane w wyraeniach na podobnych
zasadach jak nazwy zakresw.

Istniej te prostsze sposoby nadawania nazw komrkom i obszarom. Gdy w ssiedniej


komrce w stosunku do komrki z danymi umiecimy tekst, ktry spenia kryteria nazwy,
Excel automatycznie tak nazw przypisze (przy czym pomija si ewentualne nawiasy
i znak =), jeeli wybierzemy opcj Wstaw/Nazwa/Utwrz (od wersji 2007 Formuy/Utwrz
z zaznaczenia). Innym uproszczonym sposobem przypisywania nazwy zaznaczonej
komrce lub zakresowi komrek jest kliknicie Pola nazwy po lewej stronie paska for-
muy i wpisanie tam wybranej nazwy, po czym zatwierdzenie klawiszem Enter (nie
myszk). Ta nazwa powinna by nadal widoczna w Polu nazwy po naciniciu Enter,
a zaznaczenie komrki nie powinno ulec zmianie. W przeciwnym razie oznacza to, e
nazwa nie zostaa zaakceptowana (bya ju wczeniej uyta, koliduje z adresem komrki
lub zawiera niedozwolone znaki). Jeli wybrana nazwa bya ju wczeniej uyta, kursor
przeskoczy do tej komrki lub obszaru. W ten sposb mona nada okrelon nazw tylko
jeden raz w skoroszycie. Aby t sam nazw nada innemu obiektowi w innym arkuszu
skoroszytu, naley posuy si Menederem nazw lub sekwencj Wstaw/Nazwa/Definiuj
w starszych wersjach arkusza.

Nazwy nadawane komrkom lub obszarom w sposb uproszczony (przez Pole nazwy
albo przez Utwrz z zaznaczenia) odnosz si do ich adresw bezwzgldnych. Przy defi-
niowaniu nazwy za pomoc Menedera nazw lub sekwencji Wstaw/Nazwa/Definiuj mo-
na powiza nazw z dowolnym rodzajem adresu (bezwzgldnym, wzgldnym lub mie-
szanym). Znaczenie tych trzech rodzajw adresw wie si z kopiowaniem formu
i zostanie wyjanione w dalszej czci rozdziau.

Nazwa komrki moe wystpi zamiast jej adresu w odwoaniu do obszaru, na przykad
odwoanie lgr:D6 jest poprawne, jeeli nazw lgr nadano wczeniej komrce, na przy-
kad $B$3. Poprawne jest te odwoanie, w ktrym po jednej lub obu stronach dwukropka
s nazwy lub adresy obszarw. Takie odwoanie odnosi si do najmniejszego prostokt-
nego obszaru, obejmujcego oba zakresy jednoczenie.

Poniszy przykad pokazuje, w jaki sposb mona nada nazw formule. Zamy, e
dane s wsprzdne dwch punktw, ktre zapisujemy w wybranych komrkach arkusza,
jak to pokazano na rysunku 2.1.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


20 Excel w obliczeniach naukowych i inynierskich

Rysunek 2.1.
Definiowanie nazw
w skoroszycie

Nazwy komrek mona umieci w kolumnie z lewej strony, a wartoci w kolumnie s-


siedniej. Cay zakres obejmujcy nazwy i wartoci naley zaznaczy, a nastpnie wybra
z menu polecenie Wstaw/Nazwa/Utwrz (od wersji 2007 Formuy/Utwrz z zaznaczenia)
i potwierdzi opcj Lewa kolumna. Excel nada komrkom z prawej kolumny nazwy po-
brane z lewej kolumny (z pominiciem znaku =). W naszym przykadzie zaproponowane
nazwy koliduj z adresami komrek i w takiej formie nie mog by zaakceptowane, dla-
tego na kocu kadej nazwy automatycznie dodawany jest znak podkrelenia. Chcemy te-
raz zdefiniowa formu, ktra oblicza odlego midzy punktami, i nada jej nazw
odl. Po uwzgldnieniu zmodyfikowanych nazw komrek formua moe mie posta:
odl : = ((x2_x1_)^2+(y2_y1_)^2)^0,5

Uycie operatorw w powyszym wyraeniu wyjaniono w podpunkcie d) zamiesz-


czonym dalej w tym rozdziale.

Naley teraz otworzy okno dialogowe Wstaw/Nazwa/Definiuj (od wersji 2007 Formuy/
Definiuj nazw), nastpnie w polu Nazwy w skoroszycie: (od wersji 2007 Nazwa:) wpisa
nazw odl, a w polu Odwouje si do: podane powyej odwoanie od znaku =, po czym
zatwierdzi to przyciskiem OK (rysunek 2.2).

Rysunek 2.2.
Wygld okna
dialogowego, w ktrym
definiuje si nazw odl

W razie potrzeby zmodyfikowania nazwy, przypisanej jej definicji lub utworzenia nowej
definicji podobnej do ju istniejcej naley wywoa Meneder nazw, wybra po-
trzebn definicj i wprowadzi niezbdne poprawki. We wczeniejszych wersjach Excela
(97 2003) trzeba uy sekwencji Wstaw/Nazwa/Definiuj. Zobaczymy okno podobne
do pokazanego na rysunku 2.3, na ktrym widnieje zestawienie wszystkich nazw zdefi-
niowanych w arkuszu, niezalenie od sposobu ich zdefiniowania.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 21

Rysunek 2.3.
Okno Menedera
nazw, umoliwiajce
zarzdzanie nazwami
w arkuszu

Przy edycji formu w oknach dialogowych naley zachowa ostrono. Po umiesz-


czeniu kursora w miejscu edycji mona wstawia lub usuwa znaki, ale nie mona
uywa klawiszy ze strzakami. Jest to szczeglnie dokuczliwe, jeli caa formua
nie jest widoczna w polu edycji. Aby mona byo przemieszcza kursor klawiszami
strzaek, naley wczeniej nacisn klawisz F2.

Po przypisaniu nazw do komrek lub zakresw uytych wczeniej w wyraeniach mo-


na dokona automatycznej wymiany adresw, ktrym przypisano nazwy, na te nazwy
(Wstaw/Nazwa/Zastosuj nazwy, a od wersji 2007 Formuy/Nazwy zdefiniowane pole
(trjkt) obok Definiuj nazw/Zastosuj nazwy). Niestety, nie jest moliwa zamiana w drug
stron.

Moliwo nadawania nazw staym i formuom ma swoje dobre i ze strony. Pozytywne


jest to, e mona arkusz pozbawi balastu rzeczy oczywistych dla fachowca, na przykad
podstawowe stae fizyczne i niezbdne do oblicze masy atomowe mona zdefiniowa
poza arkuszem. Podobnie mona zdefiniowa pewne niezbyt zoone powtarzalne frag-
menty oblicze w formie quasi-funkcji uytkownika (unikajc stosowania Visual Basica).
Jednak przekazywanie argumentw do takiej quasi-funkcji jest utrudnione, moe si od-
bywa tylko przez komrki arkusza. Ujemn stron stosowania nazw staych i formu jest
utrudnienie analizy arkusza pod ktem poprawnoci zastosowanych algorytmw oblicze.

Ad d) W wyraeniach mog wystpowa rne operatory dziaa, ktre dziaaj na s-


siadujce z nimi dane. Z reguy obliczenia wykonywane s od lewej do prawej strony
wyraenia, jednak z zachowaniem ustalonej kolejnoci (priorytetw, pierwszestwa)
dziaa. Lista tych priorytetw jest bardzo wana, gdy rni si w szczegach od kolej-
noci dziaa powszechnie przyjtej w matematyce.

List operatorw w kolejnoci od najwyszego do najniszego priorytetu zestawiono


w tabeli 2.1.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


22 Excel w obliczeniach naukowych i inynierskich

Tabela 2.1. Pierwszestwo dziaa w arkuszu kalkulacyjnym Excel


Priorytet Operator Dziaanie Opis
1 : (dwukropek) Operator zakresu Tworzy jedno odwoanie do wszystkich
komrek midzy dwoma odwoaniami
wcznie
2 (spacja) Cz wsplna Tworzy odwoanie do komrek wsplnych
dla wskazanych obszarw
3 (minus) Negacja Zmiana znaku argumentu z prawej strony
operatora
4 % (procent) Procent Dzieli argument z lewej strony przez 100
5 ^ (daszek) Potgowanie Podnosi argument z lewej strony do potgi
okrelonej przez argument z prawej strony
6a * (gwiazdka) Mnoenie Iloczyn argumentw z lewej i prawej strony
6b / (ukonik) Dzielenie Iloraz argumentu z lewej strony przez
argument z prawej strony
7a + (plus) Dodawanie Suma argumentw z lewej i prawej strony
7b (minus) Odejmowanie Rnica pomidzy argumentem z lewej
strony a argumentem z prawej strony
8 & (handlowe i, Zczenie tekstw Tworzy jeden tekst z argumentw z lewej
ampersand) i prawej strony
9a = (znak rwnoci) Relacja rwnoci Zwraca warto logiczn PRAWDA, jeeli
argumenty po obu stronach s rwne,
w przeciwnym razie zwraca warto FASZ
9b > (znak wikszy ni) Relacja wikszoci Zwraca warto logiczn PRAWDA, jeeli
argument po lewej stronie jest wikszy
od argumentu po prawej stronie,
w przeciwnym razie zwraca warto FASZ
9c < (znak mniejszy ni) Relacja mniejszoci Zwraca warto logiczn PRAWDA, jeeli
argument po lewej stronie jest mniejszy od
argumentu po prawej stronie, w przeciwnym
razie zwraca warto FASZ
9d >= (znak wikszy ni Relacja sabej Zwraca warto logiczn PRAWDA, jeeli
i znak rwnoci) wikszoci argument po lewej stronie jest wikszy
ni argument po prawej stronie lub rwny
temu argumentowi, w przeciwnym razie
zwraca warto FASZ
9e <= (znak mniejszy ni Relacja sabej Zwraca warto logiczn PRAWDA, jeeli
i znak rwnoci) mniejszoci argument po lewej stronie jest mniejszy
ni argument po prawej stronie lub rwny
temu argumentowi, w przeciwnym razie
zwraca warto FASZ
9f <> (znak mniejszy ni Relacja nierwnoci Zwraca warto logiczn PRAWDA, jeeli
i znak wikszy ni) argumenty po obu stronach nie s rwne,
w przeciwnym razie zwraca warto FASZ

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 23

Podczas obliczania wartoci wyraenia wykonuje si najpierw operacje o najwyszym


priorytecie, nastpnie kolejno operacje o niszych priorytetach a do uzyskania jednej
wartoci kocowej. W przypadku wystpienia operatorw o tym samym priorytecie obli-
czenia wykonuje si od lewej do prawej. Zmian kolejnoci wykonywania dziaa uzy-
skamy, ujmujc fragment, ktry ma by obliczony w pierwszej kolejnoci, w nawiasy
okrge.

Argumenty operacji powinny mie typ odpowiedni do danej operacji. Tam, gdzie ma
to sens, Excel dokonuje niezbdnej konwersji typw. Operator czenia tekstw & czy
dwa teksty w jeden. W razie uycia argumentu liczbowego lub logicznego zamiast teksto-
wego Excel zamienia go na tekst. Wynik jest zawsze tekstem.

Operatory arytmetyczne wymagaj argumentw liczbowych. Mona te uy argumentu


logicznego (cho nie jest to zalecane) w takim przypadku warto logiczna PRAWDA jest
konwertowana na 1, a warto logiczna FASZ jest konwertowana na 0. W razie uycia
argumentu tekstowego o postaci liczby jest on konwertowany na liczb, np. obliczenie
wyraenia = 5*2&2 daje w wyniku 102 (jako tekst), natomiast wyraenie = 5*(2&2) zosta-
nie obliczone jako 110 (liczba).

Operatory relacji dziaaj na argumentach liczbowych, tekstowych i logicznych, ale tego


samego typu po obu stronach operatora relacji. W przypadku argumentw liczbowych
ich znaczenie jest do oczywiste, chocia naley zachowa ostrono przy porwny-
waniu wynikw operacji na liczbach zmiennoprzecinkowych (niecakowitych). Na skutek
bdw zaokrgle porwnanie dwu wielkoci, ktre teoretycznie powinny by rwne, moe
da wynik negatywny. Dlatego w przypadku liczb zmiennoprzecinkowych x i y zamiast
sprawdza relacj x = y, naley sprawdza na przykad, czy MODU.LICZBY(xy) < 1E8.
Liczba po prawej stronie powinna by dostatecznie maa w stosunku do wartoci po-
rwnywanych (mniejsza o kilka rzdw).

Naley zwrci uwag na konsekwencje innej kolejnoci dziaa w Excelu w stosunku


do tradycyjnego zapisu matematycznego. Przede wszystkim Excel rozrnia jednoar-
gumentowy operator negacji i dwuargumentowy operator odejmowania, chocia ozna-
czane s tym samym znakiem (minus). Operator negacji jest zwizany tylko z jednym
argumentem, ktry poprzedza. Bdziemy wic mieli z nim do czynienia na pocztku
wyraenia, po nawiasie otwierajcym albo po innym operatorze. Operator negacji ma
priorytet wyszy od potgowania, wic na przykad = 2^4 ma w Excelu warto 16,
a nie 16, ale wyraenie = 12^4 ma warto 15, poniewa minus jest tu operatorem
odejmowania, a nie negacji. Jeli chcemy, aby najpierw byo wykonane potgowanie,
a pniej negacja, musimy uy nawiasw, na przykad = (2^4) ma warto 16.
Wyraenie = 4*-2 jest poprawne bez nawiasw i ma warto 8. Podobnie w wyraeniu
= 11^n pierwszy znak - oznacza odejmowanie, a drugi negacj. Cae wyraenie
przyjmuje warto 0 przy n parzystym lub 2 przy n nieparzystym.
Drugi problem dotyczy operatora procentu, ale ten jest raczej rzadko uywany w zesta-
wieniu z potgowaniem, wic i ryzyko popenienia bdu jest mniejsze. Operator %
oznacza dzielenie przez 100, ale ma priorytet wyszy od potgowania, wic na
przykad = 2^5% oznacza tyle, co = 2^0,05, a nie 32%. Dwukrotne uycie operatora
% w wyraeniu oznacza dzielenie przez 10000, tzn. na przykad zapis = 5%% ma warto
0,0005, ale staa 5%% jest traktowana jak tekst (staa liczbowa moe by zakoczona
tylko jednym znakiem %) i nie moe by uyta w wyraeniu wymagajcym liczby.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


24 Excel w obliczeniach naukowych i inynierskich

Porwnanie tekstw jest alfabetyczne znak po znaku. Porwnywane s kody ASCII kolej-
nych znakw, z tym e mae litery s traktowane jak due (nie s rozrniane), a polskie
litery zostaj umieszczone pomidzy odpowiednimi literami alfabetu aciskiego, na przy-
kad "C" < "" < "D". Jeeli teksty s rnej dugoci i ich pocztkowe znaki s zgodne,
to tekst krtszy jest mniejszy, na przykad "A" < "Aa". Kolejno znakw w tabeli
ASCII jest z grubsza nastpujca: spacja, cyfry, litery.

Przy porwnywaniu wartoci logicznych PRAWDA > FASZ.

W przypadku nieodpowiedniego typu argumentw Excel wywietla w komrce komuni-


kat bdu #ARG!. W przypadku dzielenia przez zero otrzymamy komunikat #DZIEL/0!.
W przypadku prby wykonania operacji niewykonalnej, na przykad podnoszenia liczby
ujemnej do potgi uamkowej, pojawi si komunikat #LICZBA!.

Ad e) Wywoanie funkcji rozpoczyna si od nazwy funkcji (due i mae litery nie s


rozrniane wszystkie zostaj zamienione na due). Zaraz po nazwie (bez spacji)
umieszcza si list argumentw ujt w nawiasy okrge. Nawet jeli funkcja nie wy-
maga argumentw (jest to tzw. pseudofunkcja), nawiasy s obowizkowe na przykad
funkcj zwracajc warto liczby wywouje si nastpujco: = PI(). Jeli funkcja
wymaga podania wicej ni jednego argumentu, rozdziela si je separatorami w pol-
skiej wersji jest to rednik. Argumentem funkcji moe by staa, nazwa, odwoanie (adres
komrki lub obszaru) lub dowolne wyraenie, take wywoanie innej funkcji (mamy
wwczas do czynienia z tzw. zagniedaniem funkcji). Liczba i typy argumentw po-
winny by zgodne ze specyfikacj funkcji. Czasem dopuszczalne jest pominicie niekt-
rych argumentw, wtedy o ile po pominitych chcemy poda jeszcze jaki argu-
ment naley pozostawi separatory pominitych argumentw. Wikszo funkcji
ma cile okrelon liczb argumentw, ale niektre, na przykad = SUMA(arg1; arg2; ...),
mog przyjmowa dowoln ich liczb.

Funkcje w Excelu zostay podzielone na grupy tematyczne: matematyczne, statystyczne,


logiczne, tekstowe, bazy danych, wyszukiwania i adresu, daty i czasu, informacyjne, in-
ynierskie, finansowe i uytkownika. W edycji programu Excel 2007 dodano funkcje
moduowe. W najnowszej wersji 2010 pojawia si jeszcze grupa funkcji zgodnoci.
W tej grupie zgromadzono funkcje, ktrym w wersji 2010 przypisano nowe nazwy, a na-
zwy dotychczasowe przeniesiono do grupy zgodnoci. Mona te wywietli wszystkie
dostpne funkcje uporzdkowane alfabetycznie. Czsto uywane i dobrze znane funkcje
mona wprowadza bezporednio z klawiatury. Najczciej jednak korzysta si z okna
dialogowego Wstaw/Funkcja (od wersji 2007 Formuy/Wstaw funkcj) lub z pola ozna-
czonego fx, ktre mona klikn myszk. Otwiera si wtedy okno dialogowe z list funkcji
i krtkimi opisami kadej z nich. Po wybraniu funkcji z listy otwiera si nastpne okno
z polami do wprowadzania argumentw. Po wybraniu pola kadego z argumentw mona
odczyta wyjanienie dotyczce oczekiwanego typu wartoci argumentw. Po wpro-
wadzeniu kadego argumentu zobaczymy po prawej stronie podgld jego wartoci, a po
wprowadzeniu wszystkich wymaganych argumentw dodatkowo podgld obliczonej
wartoci funkcji. Korzystanie z okienka do wstawiania funkcji upraszcza nieco to za-
danie: nie trzeba wprowadza separatorw argumentw, a w przypadku staych tek-
stowych mona pomin ograniczajcy kad z nich cudzysw.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 25

W nowszych wersjach Excela mona korzysta z bardzo przydatnej waciwoci arkusza


zwanej autouzupenianiem formu. W czasie edycji formuy po wprowadzeniu pierw-
szych znakw nazwy wywietlane jest okienko z podpowiedziami wariantw konty-
nuacji formuy. Podpowiedzi obejmuj nie tylko obiekty (np. funkcje) predefiniowane,
ale rwnie zdefiniowane przez uytkownika. Po wybraniu waciwego wariantu naley
klikn go dwukrotnie myszk, aby zosta wprowadzony do edytowanej komrki. W przy-
padku funkcji podpowied obejmuje rwnie jej argumenty.

Funkcj, ktra czsto sprawia uytkownikom problemy, jest funkcja wykadnicza ex.
Jej odpowiednikiem w Excelu jest funkcja EXP(x). Funkcja ma skadni typow dla
Excela, tzn. wymaga, aby argument by ujty w nawiasy, i nie zawiera operatora pot-
gowania. Prby wprowadzania jej w postaci e^x lub exp^x wywouj komunikaty
bdu. W Excelu nie jest te bezporednio dostpna liczba e podstawa logaryt-
mw naturalnych. Jej warto mona uzyska, wywoujc funkcj EXP z argumentem
1: e : = EXP(1). Jeli kto jest bardzo przyzwyczajony do zapisu funkcji wykadniczej
z operatorem potgowania, musi sam zdefiniowa nazw e lub exp, wprowadzajc
do wybranej komrki wyraenie = EXP(1) i nadajc tej komrce odpowiedni na-
zw. Mona to rwnie zrobi poza arkuszem, korzystajc z okna dialogowego
Wstaw/Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj nazw).

Naley zwrci uwag na odmienno konwencji zapisu funkcji w Excelu w stosunku


do tradycyjnego zapisu matematycznego. W matematyce argumentw funkcji nie ujmuje
si w nawiasy, lecz wyrnia si je krojem pisma nazw funkcji pisze si zwykle
prost czcionk, a argument pochy. Ewentualne podnoszenie funkcji do potgi zapi-
suje si zaraz za nazw funkcji, w Excelu dopiero za nawiasem ograniczajcym
argument. Przykady w tabeli poniej:

Matematyka Excel
sin x SIN(x)
sin2 x SIN(x)^2
2
sin x SIN(x^2)

Przy wywoaniu funkcji typ wartoci podawanej jako argument powinien by zgodny
z charakterem i typem tego argumentu w opisie funkcji, na przykad funkcja SILNIA(n)
wymaga podania argumentu cakowitego nieujemnego. Jeeli podamy argument ujemny,
otrzymamy komunikat bdu #LICZBA!, ale jeeli podamy argument dodatni, lecz
w postaci liczby z czci uamkow, to taki argument bdzie przyjty, tyle e zostanie
zaokrglony w d do najbliszej liczby cakowitej (obcity). Jest to oglna zasada sto-
sowana do wszystkich funkcji Excela jeli zamiast oczekiwanego argumentu cako-
witego podana zostanie liczba uamkowa, to jest ona obcinana, a nie zaokrglana do
najbliszej liczby cakowitej. A wic na przykad funkcja SILNIA(3,7) da w wyniku 3!,
czyli 6.

Ad f) Nawiasy okrge wystpujce w wyraeniach su do zmiany kolejnoci wykony-


wania operacji w stosunku do obowizujcego pierwszestwa dziaa. Do tego celu mona
wykorzysta tylko nawiasy okrge (inne rodzaje nawiasw maj odrbne przeznaczenie).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


26 Excel w obliczeniach naukowych i inynierskich

Nawiasy te mona zagnieda, tzn. otwiera now par nawiasw wewntrz innej. Ope-
racje s potem wykonywane, poczwszy od pary najbardziej zagniedonych nawiasw.
Nawiasy su ponadto do ograniczenia argumentw funkcji.

Uycie nawiasw powinno by racjonalizowane, bo zbyt dua ich liczba utrudnia analiz
formuy, z drugiej strony lepiej uy o jedn par nawiasw za duo ni o jedn par za
mao. W trakcie edycji formuy nawiasy s podwietlane rnymi kolorami, aby atwiej byo
odszuka pary odpowiadajcych sobie nawiasw.

W zapisie matematycznym posugujemy si czsto uamkami algebraicznymi, w ktrych


rne wyraenia umieszczamy nad i pod kresk uamkow; jest ona w tym przypadku
symbolem dzielenia. Przy takim zapisie kolejno oblicze jest oczywista najpierw
obliczamy osobno licznik i mianownik, a na kocu wykonujemy dzielenie. Nie musimy
uywa nawiasw. W Excelu nie ma innego odpowiednika kreski uamkowej poza
operatorem dzielenia. Naley wic na og cay licznik i cay mianownik uj w nawiasy.
Ilustruje to przykad w poniszej tabelce:

Matematyka Excel
1+ x
(1+x)/(1x)
1 x

Edycja, kopiowanie
i przesuwanie zawartoci komrek
Po wprowadzeniu danych do komrki czsto zachodzi potrzeba dokonania zmian, czyli
edycji zawartoci komrki. Aby rozpocz edycj, naley wskaza komrk, ktra ma
by poddana edycji. W polu edycji nad arkuszem bdzie widoczna zawarto komrki.
Wystarczy klikn myszk w miejscu, gdzie chcemy wprowadzi poprawki, a pojawi si
tam kursor i mona rozpocz edycj za pomoc klawiatury i myszki. Alternatywnym
sposobem rozpoczcia edycji jest nacinicie klawisza funkcyjnego F2 (jest to relikt po
arkuszu kalkulacyjnym Lotus 1-2-3). Po naciniciu F2 kursor pojawi si jednak nie
w polu edycji nad arkuszem, ale na kocu zawartoci komrki w arkuszu. Poza tym edy-
cja przebiega w podobny sposb. Po wywoaniu trybu edycji formuy Excel zaznacza
kolorowym obramowaniem wszystkie komrki, do ktrych odwouje si edytowane wy-
raenie. Tym samym kolorem zaznaczone s adresy i nazwy w wyraeniu. Uatwia to
sprawdzenie poprawnoci odwoa. W trakcie edycji to zaznaczenie niestety znika. Aby
zobaczy je ponownie, trzeba zakoczy edycj i wywoa j jeszcze raz. Edycj ko-
czymy naciniciem klawisza Enter (lub Ctrl+Shift+Enter w przypadku edycji formu
tablicowych) albo klikniciem myszk pola akceptacji D, ktre znajduje si przed
polem edycji nad arkuszem (w przypadku edycji formu tablicowych trzeba wczeniej
nacisn i przytrzyma Ctrl+Shift).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 27

Jeeli w trakcie edycji stwierdzimy, e nie chcemy wprowadza zmian w komrce,


naciskamy klawisz Esc lub klikamy myszk czerwony znak U na lewo od pola edycji.
Pierwotna zawarto komrki zostanie przywrcona. Aby wycofa zmiany ju po ich
zatwierdzeniu, naley skorzysta z menu Edycja/Cofnij, ze skrtu klawiaturowego
Ctrl+Z lub przycisku Cofnij na pasku narzdzi.

W trybie edycji mona dokona zamiany caej formuy zawartej w komrce lub jej zazna-
czonego fragmentu na warto liczbow. Po akceptacji warto ta pozostanie w komrce
na stae. Suy do tego klawisz funkcyjny F9.

Bardzo istotn rol w Excelu odgrywa kopiowanie komrek zawierajcych formuy.


Umoliwia ono przeprowadzenie podobnych oblicze na rnych danych i przyspiesza
redagowanie arkusza, bo nie trzeba kadej formuy wprowadza od pocztku, a wystarczy
skorzysta z ju zapisanych formu jako szablonw, do ktrych wprowadza si tylko nie-
zbdne zmiany.

Samo kopiowanie komrek odbywa si w sposb oglnie przyjty w programach biuro-


wych Microsoftu, tzn. przez zaznaczenie komrki lub grupy komrek do skopiowania,
a nastpnie uycie kombinacji klawiszy Ctrl+C (kopiuj) i w nowym miejscu Ctrl+V
(wklej). Alternatywnie mona uy przyciskw Kopiuj i Wklej z paska narzdzi lub
odpowiednich polece z menu Edycja albo z menu podrcznego dostpnego pod pra-
wym przyciskiem myszy. Specyficzne dla kopiowania w arkuszu jest zaznaczanie obsza-
ru docelowego. Jeeli kopiujemy jedn komrk, a jako obszar docelowy zaznaczymy
kilka komrek, to dane zostan zwielokrotnione i pojawi si w kadej z komrek ob-
szaru docelowego. Jeeli kopiujemy obszar zoony z kilku komrek, to jako obszar do-
celowy wystarczy wskaza jedn komrk, odpowiadajc lewemu grnemu rogowi
obszaru kopiowanego. Alternatyw jest wskazanie obszaru docelowego identycznego
z obszarem kopiowanym lub bdcego jego wielokrotnoci. W przeciwnym razie Excel
nie wykona kopiowania albo utworzy pojedyncz kopi, powikszajc lub pomniejszajc
zakres docelowy konkretne zachowanie zaley od wersji Excela.

Inn specyficzn dla Excela metod kopiowania jest odmiana metody przecignij
i upu z uyciem myszki. Pozwala ona na kopiowanie zawartoci komrki do ssied-
nich komrek i tworzenie w ten sposb kolumn lub wierszy z podobn zawartoci. Aby
skorzysta z tego sposobu kopiowania, naley zaznaczy kopiowany obszar, a nastpnie
wskaza kursorem myszki prawy dolny rg obszaru. Kursor myszki powinien przyj
wtedy ksztat czarnego plusa. Gdy to nastpi, naciskamy lewy przycisk myszy i prze-
cigamy kursor pionowo lub poziomo, wypeniajc dany obszar. Po zakoczeniu ko-
piowania zwalniamy przycisk myszy. Oprcz tego mona kopiowa cae zakresy komrek
wystarczy je zaznaczy, a nastpnie chwyci myszk za brzeg obszaru i przecign
w nowe miejsce przy wcinitym klawiszu Ctrl. Obok wskanika myszki bdzie wy-
wietlany may znak +. Naley pamita, aby po zakoczeniu kopiowania najpierw
zwolni przycisk myszy, a nastpnie klawisz Ctrl.

Z operacj kopiowania nierozerwalnie wie si specyficzna dla arkusza kalkulacyj-


nego waciwo modyfikacji adresw zawartych w odwoaniach kopiowanych formu.
Pod tym wzgldem kopiowanie w arkuszu kalkulacyjnym rni si od kopiowania na
przykad w edytorze tekstu. Tam kopia jest zawsze klonem oryginau. W Excelu jest tak

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


28 Excel w obliczeniach naukowych i inynierskich

tylko wtedy, gdy w kopiowanych komrkach mieszcz si stae lub formuy zawierajce
tylko stae i adresy tzw. absolutne (inaczej: bezwzgldne) oraz nazwy. Takie rozwi-
zanie podyktowane jest logik operacji obliczeniowych. Jeeli na przykad w komrce B5
mamy liczb, a w komrce ssiedniej C5 formu obliczajc wynik na podstawie
tej liczby, to ta relacja ssiedztwa komrek powinna by zachowana przy kopiowaniu.
Jeeli zdecydujemy si skopiowa t par komrek w inne miejsce, to oczekujemy, e
formua bdzie w dalszym cigu pobiera dane z ssiedniej komrki, chocia jej adres
jest teraz zupenie inny. Dlatego adresy w Excelu s domylnie wzgldne. Adres zapisany
w postaci na przykad B5, wystpujcy w formule, jest przy kopiowaniu tej formuy mo-
dyfikowany tak, aby zachowa wzgldn relacj midzy nowym pooeniem komrki
z formu a pooeniem komrek, do ktrych ta formua si odwouje. Mianowicie przy
kopiowaniu komrki z formu w d w tej samej kolumnie modyfikowane bd numery
wierszy w odwoaniach zawartych w tej formule. Przy kopiowaniu w prawo w tym sa-
mym wierszu modyfikowane bd litery kolumn w odwoaniach, wreszcie przy kopiowa-
niu na ukos modyfikowane bd obie czci adresu.

Adresy typu B5, ktre podlegaj modyfikacji przy kopiowaniu, nosz nazw adresw
wzgldnych. W pewnych sytuacjach modyfikacja adresu nie jest podana. Jeeli na
przykad jaka komrka zawiera sta, ktra jest wykorzystywana w obliczeniach dla
rnych danych, jej adres nie powinien podlega modyfikacji taki adres nazywamy
bezwzgldnym albo absolutnym. W Excelu uzyskuje si go, poprzedzajc liter ko-
lumny i numer wiersza znakiem $ (dolara), na przykad $B$5. Przy tworzeniu tablic
dwuwymiarowych (typu tabliczki mnoenia znanej ze szkoy podstawowej), w ktrych
jedna grupa argumentw umieszczona jest w grnym wierszu, a druga grupa w pierwszej
kolumnie, przydatne s tzw. adresy mieszane, zawierajce jeden znak $ przed nume-
rem wiersza albo przed liter kolumny. Ta cz adresu, ktr poprzedza znak $, jest nie-
zmienna w czasie kopiowania.

Przy edycji formu znaki $ mona wprowadza do adresu bezporednio z klawiatury albo
za pomoc klawisza funkcyjnego F4. Jeeli kursor znajduje si w obrbie adresu, naciska-
nie klawisza F4 powoduje cykliczne przeczanie midzy czterema moliwymi wersjami
adresu: wzgldn, absolutn i dwiema mieszanymi.

W formuach zawierajcych nazwy s one kopiowane formalnie bez zmiany, jednake


jeli w definicji nazwy wystpuj adresy wzgldne lub mieszane, to znaczenie nazwy
zmienia si w zalenoci od pooenia komrki aktywnej.

Oprcz kopiowania czsto wykonywan operacj jest przenoszenie komrek. Procedura


przenoszenia jest znowu analogiczna do tej, ktr stosuje si we wszystkich programach
biurowych Microsoftu mamy do dyspozycji klawiatur ze skrtami Ctrl+X (wytnij)
i Ctrl+V (wklej), myszk i odpowiednie pozycje menu oraz ikony na pasku narzdziowym.
Specyficzna dla arkusza kalkulacyjnego metoda przecignij i upu z uyciem myszki
polega na zaczepieniu kursora myszki na krawdzi komrki lub podwietlonego obszaru
i przecigniciu go na nowe miejsce przy wcinitym lewym przycisku myszy.

W trakcie przenoszenia komrek modyfikacje adresw odbywaj si zgodnie z logik


tych operacji, niezalenie od tego, jakie wersje adresu zostay uyte. Jeeli komrka
z formu jest przenoszona wraz z komrkami, na ktre powouje si formua, adresy s
odpowiednio modyfikowane, jeeli przenoszona jest tylko komrka z formu adresy

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 29

nie s modyfikowane. Jeeli przenoszona jest komrka z danymi, od ktrych zale


formuy w innych komrkach, nastpuje ich odpowiednia modyfikacja (chocia same te
komrki nie zmieniaj pooenia).

Podobne, zgodne z logik, modyfikacje adresw nastpuj w przypadku wstawiania


i usuwania wierszy lub kolumn. Jeeli w wyniku usunicia kolumny lub wiersza z dany-
mi usunite zostan dane, do ktrych odwouj si formuy w innych komrkach, wy-
wietlany jest komunikat #ADR!.

Pewne problemy moe sprawi przenoszenie formu zawierajcych nazwy zdefinio-


wane przy uyciu adresw wzgldnych lub mieszanych. W zasadzie komrki z takimi
formuami powinno si przenosi razem z komrkami, ktre zawieraj dane uywane
przez te formuy. W przeciwnym razie nazwa po przeniesieniu nie bdzie odwoywa si
do tych samych danych co przed przeniesieniem, lecz do danych umieszczonych w arku-
szu w takiej samej relacji wzgldnej co poprzednio, ale w stosunku do nowego poo-
enia formuy. Podobnie naley unika wstawiania lub usuwania wierszy lub kolumn
pomidzy tak formu a danymi, do ktrych si odwouje.

Naley odrnia kopiowanie komrki z formu od kopiowania samej zawartoci


komrki. Jeli zaznaczymy komrk i wykonamy ktr z opisanych wyej procedur
kopiowania, mamy do czynienia z kopiowaniem komrki, ktremu moe towarzyszy
modyfikacja adresw w formule. Jeli natomiast zaznaczymy komrk i wejdziemy
w tryb edycji (klawisz F2 lub kliknicie w polu edycji formuy), a nastpnie podwietlimy
i skopiujemy do schowka zawarto komrki, to formu ze schowka moemy potem
wklei do innej komrki (te w trybie edycji). W takim przypadku kopiowanie odbywa
si bez adnej modyfikacji zawartoci i moe dotyczy zarwno caych formu, jak i do-
wolnych ich fragmentw.

Zasady interpretacji nazw


i adresw w wyraeniach w arkuszu
i w formuach nazwanych
W zwykych wyraeniach mog wystpowa odwoania (w formie adresw lub nazw)
nie tylko do pojedynczych wartoci wtedy ich interpretacja nie budzi wtpliwoci
ale rwnie do tablic i zakresw, reprezentujcych zbiory danych. W tym drugim przy-
padku interpretacja nie jest ju oczywista i wymaga dokadnego wyjanienia.

Jeeli w zwykym wyraeniu wystpi staa tablicowa lub jej nazwa, do oblicze bierze
si tylko lewy grny (pierwszy) element tablicy. Nie dotyczy to sytuacji, gdy staa ta-
blicowa jest argumentem funkcji, ktra akceptuje argumenty tablicowe w zwykych wyra-
eniach, na przykad funkcji SUMA, REDNIA itp.

Przykadowo jeli zostaa zdefiniowana nazwa dane w postaci staej tablicowej:


dane : = {3; 5\4; 6} (lub {3\5; 4\6}, gdy uywamy Excela 2010)
to wyraenie = 2*dane ma warto 6, natomiast REDNIA(dane) ma warto 4,5.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


30 Excel w obliczeniach naukowych i inynierskich

Stae tablicowe zostan omwione dokadniej w rozdziale 3. Operacje i funkcje ta-


blicowe.

Jeeli nadano nazw pojedynczej komrce, ta nazwa domylnie oznacza adres abso-
lutny, jednak mona zmieni t definicj w Menederze nazw lub za pomoc sekwencji
Wstaw/Nazwa/Definiuj.

Przy definiowaniu formu w arkuszu i za pomoc Menedera nazw mona uywa


zarwno wczeniej zdefiniowanych nazw, jak rwnie adresw absolutnych i mieszanych
(ze znakami $) oraz wzgldnych (bez znakw $). W przypadku uycia adresw
absolutnych lub nazw interpretowanych jako odwoania absolutne formua odnosi si
zawsze do tych samych komrek i jej znaczenie nie budzi wtpliwoci. Warto jednak
zwrci uwag, e po wprowadzeniu adresu do formuy w Menederze nazw Excel
uzupenia go kwalifikatorem nazwy arkusza. W arkuszu kwalifikatory s na og
niepotrzebne, gdy operujemy danymi z tego samego arkusza, natomiast Meneder nazw
obsuguje cay skoroszyt i musi rozrnia formuy wykorzystujce dane z rnych
arkuszy. W przypadku uycia nazwy kwalifikator jest dodawany tylko wtedy, gdy
uyta nazwa jest zdefiniowana lokalnie w arkuszu, a ta sama nazwa w innych arkuszach
skoroszytu ma inne znaczenie.

Sytuacja jest bardziej zoona, gdy uyje si adresu wzgldnego. Interpretacja takiej
formuy zalee bdzie od tego, ktra komrka bya aktywna w chwili definiowania
formuy, gdy wzgldem niej bd liczone przesunicia adresw. Dlatego najlepiej
przed zdefiniowaniem nazwy z adresem wzgldnym lub mieszanym wybra komrk,
w ktrej zamierzamy uy tej nazwy w formule. Podczas definiowania nazwy ta komrka
powinna by aktywna. Najlepiej wytumaczy to na przykadzie. Zamy, e aktywny
jest Arkusz1, a w nim aktywna jest komrka C1. Posugujc si Menederem nazw,
definiujemy nazw iloczyn wedug wzoru:
iloczyn : = A1*B1

Formua ta zostanie zapamitana w postaci uzupenionej o kwalifikatory arkusza, czyli:


= Arkusz1!A1*Arkusz1!B1

Nazwa iloczyn bdzie obowizywa w caym skoroszycie i bdzie oznacza iloczyn


zawartoci dwu komrek w Arkuszu1 pooonych na lewo od komrki, w ktrej zostaa
uyta. Zatem jeeli uyjemy odwoania = iloczyn w komrce D8 dowolnego arkusza
skoroszytu, obliczony zostanie iloczyn zawartoci komrek B8 i C8 z Arkusza1. Bieca
interpretacja formuy jest widoczna w Menederze nazw i zmienia si wraz ze zmian
komrki aktywnej. Jeli chcielibymy uywa formuy nazwanej w rnych arkuszach
skoroszytu, ale w taki sposb, eby bra pod uwag komrki z arkusza, w ktrym
formua jest uywana, naley j zdefiniowa jako:
iloczyn : = !A1*!B1

Analogicznie interpretowane jest uycie adresw mieszanych. Przykadowo jeli


w Arkuszu2 zdefiniujemy formu:
podw : = 2*A$7:D$7

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 31

zostanie ona zapamitana jako = 2*Arkusz2!A$7:D$7. Jeeli w momencie definiowania


formuy kursor znajdowa si w kolumnie A, a uyta zostaa w dowolnej komrce w ko-
lumnie D, to formua zostanie zmodyfikowana do postaci = 2*Arkusz2!D$7:G$7.

Jeli formua ma pobiera liczby z sidmego wiersza biecego arkusza, naley uy


definicji ze znakiem wykrzyknika:
podw : = 2*!A$7:D$7.

Powrmy do interpretacji adresw i nazw zakresw w zwykych formuach.

Jeeli w zwykym wyraeniu uyjemy adresu lub nazwy zakresu, ktry jest wierszem
lub fragmentem wiersza, to do obliczenia wartoci wyraenia (formuy) zostanie uyta
warto z tego wiersza i kolumny, w ktrej uywamy formuy. Jeeli zakres nie obejmuje
tej kolumny, wystpi bd #ARG!.

Jeeli w zwykym wyraeniu uyjemy adresu lub nazwy zakresu, ktry jest kolumn lub
fragmentem kolumny, to do obliczenia wartoci wyraenia (formuy) zostanie uyta
warto z tej kolumny i wiersza, w ktrym uywamy formuy. Jeeli zakres nie obejmuje
tego wiersza, wystpi bd #ARG!.

Nie ma znaczenia, jaki rodzaj adresu (wzgldny, bezwzgldny czy mieszany) zosta uyty.
Rnice w rodzajach adresw ujawni si dopiero po skopiowaniu komrki z formu.

Warto tu zwrci uwag na mniej znane odwoania do caych wierszy i kolumn. Odwo-
anie do caego sidmego wiersza moe mie posta $7:$7 lub 7:7, a odwoanie do caej
kolumny C posta $C:$C lub C:C. Przykadowo jeli w komrce B5 umiecimy wyrae-
nie = $7:$7+5, to Excel obliczy je jako = B$7+5; jeli w komrce E2 umiecimy wyra-
enie = 4*$C:$C, to obliczona zostanie warto = 4*$C2. Nic si nie zmieni, jeli wier-
szom lub kolumnom nadamy nazwy, czy to bezporednio w arkuszu, czy za pomoc
Menedera nazw.

Jeeli jednak wyraeniu, na przykad = $7:$7+5, nadamy nazw, to gdy pniej uyjemy
tej nazwy w komrce B5, bdzie to ju traktowane jak odwoanie do formuy czyli
w tym przypadku odwoanie do wartoci z pierwszej komrki zakresu $A$7 powik-
szonej o 5.

Podobnie jak w przypadku staych tablicowych, to, co napisaem powyej o interpretacji


adresw zakresw, nie dotyczy sytuacji, gdy zakres jest argumentem funkcji, ktra
akceptuje argumenty tablicowe w zwykych wyraeniach, na przykad funkcji SUMA,
REDNIA itp. Odnosi si natomiast do funkcji, ktre normalnie akceptuj pojedyncze
liczby jako argumenty, na przykad LN, EXP, SIN itp. Argumentw w postaci zakresw nie
mona stosowa, gdy formua zawiera funkcje inynierskie wywodzce si z dodatku
Analysis Toolpak, a intencj uytkownika jest uycie tylko jednej wartoci z tego zakresu.

Jeeli w zwykym wyraeniu uyjemy adresu lub nazwy zakresu, ktry skada si z dwu
lub wicej wierszy i dwu lub wicej kolumn, to wystpi bd #ARG!. Takie odwoanie
jest nieprawidowe (w przeciwiestwie do analogicznego odwoania odnoszcego si

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


32 Excel w obliczeniach naukowych i inynierskich

do staej tablicowej). Poprawne jest jednak uycie takiego odwoania jako argumentu
funkcji, ktra akceptuje argumenty tablicowe w zwykych wyraeniach, na przykad
funkcji SUMA, REDNIA itp. Do poszczeglnych komrek zakresu mona odwoywa
si w zwykych wyraeniach tak jak do elementw tablicy, czyli za pomoc funkcji
INDEKS(nazwa_obszaru; nr_wiersza; nr_kolumny). Szczegowy opis tej funkcji za-
mieszczono w rozdziale 3. Operacje i funkcje tablicowe.

Jeeli w zwykym wyraeniu uyto nazwy formuy (od wersji 2007 zdefiniowanej za
pomoc Menedera nazw, we wczeniejszych wersjach przez Wstaw/Nazwa/Definiuj)
z formu mamy w tym przypadku do czynienia, gdy w definicji przypisanej do
nazwy uyto jakiegokolwiek operatora dziaania to nawet gdy reprezentuje ona
pojedynczy wiersz lub kolumn albo ich fragmenty, nazwa ta bdzie traktowana jak
odwoanie do formuy tablicowej. Takie odwoanie bdzie jednak zawsze odwoaniem
do pierwszego elementu wiersza lub kolumny, albo do lewego grnego elementu tablicy.

Zamy, e zakresowi $B$4:$C$6 nadano nazw zakr. Wwczas odwoanie = zakr


byoby nieprawidowe, podobnie odwoanie = zakr*1. Jeeli jednak nadamy formule
= zakr*1 nazw zakr1, to odwoanie = zakr1 bdzie ju poprawne i bdzie odnosi si do
komrki $B$4.

Przy uywaniu nazw musimy zatem pamita o dwu sprawach: pierwszej czy na-
zwa odnosi si do zakresu, z ktrym zwizany jest okrelony adres, czy do formuy lub
tablicy, ktra nie ma okrelonego adresu, oraz drugiej jakiego rodzaju adresy byy
uyte w definicji. Jeli odwoujemy si do nazwy zakresu, waciw komrk znajdujemy
na zasadzie rzutu prostopadego rzutujemy komrk z odwoaniem na wiersz lub
kolumn, do ktrej si odwoujemy, jeli linia rzutu przecina zakres, to punkt przeci-
cia wyznacza komrk, do ktrej odnosi si odwoanie. Jeli punkt przecicia nie ist-
nieje lub jest wicej ni jeden taki punkt, wtedy pojawia si bd. Jeli odwoanie nie
wie si z adresem, jest to zawsze odwoanie do pierwszego elementu tego odwoania.
Z kolei rodzaj adresu decyduje, jak jest on interpretowany w odwoaniu. Jeli jest to adres
absolutny (ze znakami $), sprawa jest oczywista; jeli natomiast uyto adresu wzgldnego
lub mieszanego, istotne staje si pooenie tego adresu wzgldem komrki biecej
w momencie formuowania definicji. Pniej taka sama zaleno jest odtwarzana pomi-
dzy komrk, w ktrej umiecilimy formu, a adresem zakresu uytego w odwoaniu
bezporednio lub porednio (poprzez nazwy innych formu w wyraeniu). Stosowanie ad-
resw wzgldnych w formuach nazwanych powiksza elastyczno tych formu, naley
jednak uywa ich ostronie, gdy atwo si pogubi w zalenociach midzy adresami
i utraci kontrol nad sensem formu.

W przypadku odwoa strukturalnych do tabel i ich fragmentw powysze zasady stosuje


si odpowiednio: odwoania do wiersza lub kolumny tabeli s traktowane jak odwoania
do zakresu wierszowego lub kolumnowego, odwoanie do caej tabeli lub jej fragmentu,
obejmujcego wicej ni jeden wiersz i wicej ni jedn kolumn, jest w zwykym wyra-
eniu niedopuszczalne. Szczegowe informacje o tabelach podano w rozdziale 3. Ope-
racje i funkcje tablicowe, w podrozdziale Odwoania strukturalne w tabelach.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 33

Funkcje uatwiajce odczytywanie


i wyliczanie adresw
Odwoanie do komrki w stylu A1 skada si z litery (lub liter) oznaczajcej kolumn oraz
numeru wiersza (oraz ewentualnie znakw $). Normalnie w wyraeniu adresy komrek
s podawane wprost, oba elementy skadajce si na adres musz wic by znane w mo-
mencie tworzenia formuy i pozostawa niezmienne przez cay czas dziaania arkusza.
Gdyby to by jedyny sposb tworzenia odwoa, moliwoci obliczeniowe arkusza byyby
mocno ograniczone. Na szczcie w Excelu dostpne s funkcje, ktre pozwalaj od-
czytywa i generowa adresy w sposb poredni, a wic dynamiczny. Adresy nie musz
by okrelone z gry, lecz mog zosta wyliczone w zalenoci od zawartoci innych kom-
rek. Istnieje kilka takich funkcji, ktrych umiejtne wykorzystanie moe uelastyczni
tworzone formuy. Zostan one omwione w tym podrozdziale.

Pierwsza para funkcji umoliwia odczyt numeru wiersza lub numeru kolumny w odwo-
aniu podanym jako argument.

Skadnia tych funkcji jest nastpujca:


NR.KOLUMNY(odwoanie) oraz WIERSZ(odwoanie)

Odwoanie to komrka lub zakres komrek, dla ktrych chcemy okreli numer kolumny
lub numer wiersza. Odwoanie moe si odnosi tylko do jednego obszaru.

Jeli argument odwoanie zostanie pominity, funkcje zwracaj odpowiednio numer


kolumny lub wiersza, w ktrym uyto funkcji.

Jeli odwoanie oznacza zakres komrek, a funkcja NR.KOLUMNY lub WIERSZ zostanie wpro-
wadzona jako tablica, funkcje zwracaj listy numerw kolumn lub wierszy odpowiednio
w ukadzie poziomym lub pionowym. Jeeli w takim przypadku uyjemy funkcji w zwy-
kym wywoaniu, zwrcony bdzie numer kolumny lub wiersza lewej grnej komrki
odwoania.

Odwoanie musi by poprawnym adresem albo nazw komrki lub zakresu komrek, albo
wyraeniem dajcym po obliczeniu adres. Nie moe mie postaci tekstowej ani liczbowej.

Przykady poprawnych odwoa: A10, B:C, H:H, 1:8, $B$3:$C$5, adr (nazwa przypisana do
komrki lub zakresu komrek).

Przykady niepoprawnych odwoa: "A10", B, 12, 1:n (n nazwa przypisana do komrki),


abc (nazwa przypisana do staej lub formuy).

Naley pamita, e adresy w odwoaniu podlegaj przy kopiowaniu lub przenoszeniu


komrek, wstawianiu lub usuwaniu wierszy czy kolumn analogicznym modyfikacjom jak
adresy we wszystkich innych formuach.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


34 Excel w obliczeniach naukowych i inynierskich

Kolejna funkcja o nazwie ADRES generuje tekst adresu komrki na podstawie numerw
kolumny i wiersza. Moe rwnie uwzgldnia nazw arkusza, zwracajc adres kwali-
fikowany.

Skadnia funkcji jest nastpujca:


ADRES(nr_wiersza; nr_kolumny; typ_adresu; a1; nazwa_arkusza)

Nr_wiersza i nr_kolumny to liczby okrelajce pooenie komrki, ktrej adres ma by


utworzony.

Typ_adresu okrela, jakiego rodzaju odwoanie bdzie wynikiem funkcji (tabela 2.2).

Tabela 2.2. Zestawienie typw adresu i odpowiadajcym im rodzajw odwoania


Typ_adresu Rodzaj odwoania
1 lub jest pominite Bezwzgldne
2 Bezwzgldne wiersza, wzgldne kolumny
3 Wzgldne wiersza, bezwzgldne kolumny
4 Wzgldne

Poniewa adres generowany jest w postaci tekstu, nie jest modyfikowany przy ewentual-
nym kopiowaniu, dlatego rodzaj odwoania na og nie bdzie mia znaczenia.

A1 to warto logiczna okrelajca styl odwoa A1 lub W1K1. Jeli a1 przybierze warto
PRAWDA bd zostanie pominite, funkcja ADRES poda odwoanie do komrki w stylu A1,
jeli natomiast przybierze warto FASZ, funkcja ADRES poda odwoanie do komrki
w stylu W1K1.

Nazwa_arkusza to tekst okrelajcy nazw arkusza roboczego uytego w odwoaniu ze-


wntrznym. Jeli argument nazwa_arkusza zostanie pominity, nie zostanie uyta adna
nazwa arkusza.

Tylko dwa pierwsze argumenty funkcji s obowizkowe, pozostae mona pomin.

Przykady uycia funkcji:


= ADRES(1; 3) zwraca adres bezwzgldny w postaci tekstu "$C$1",
= ADRES(1; 3; 4) zwraca adres wzgldny w postaci tekstu "C1",
= ADRES(1; 3;;;"Arkusz2") zwraca adres bezwzgldny z kwalifikatorem
arkusza w postaci tekstu "Arkusz2!$C$1".
= LEWY(ADRES(1; nr_kol; 4); D(ADRES(1; nr_kol; 4)1)
= PODSTAW(ADRES(1; nr_kol; 4); "1"; "") oba wyraenia zwracaj oznaczenie
literowe kolumny arkusza o numerze nr_kol. Wyznaczany jest adres wzgldny
komrki w pierwszym wierszu i w kolumnie o podanym numerze, a nastpnie
z tego adresu usuwana jest kocowa jedynka. W tych wyraeniach wykorzystano
dwie funkcje z kategorii tekstowych, ktrych opis mona znale w pliku
pomocy Excela [15].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 2. Podstawowe operacje w arkuszu 35

Funkcja ADRES zwraca adres w postaci tekstowej, a wic swego rodzaju pprodukt,
ktry trzeba dopiero przeksztaci w odwoanie, aby mona byo odczyta zawarto ko-
mrki, ktrej adres zosta wygenerowany. Suy do tego funkcja ADR.POR, ktra zwraca
odwoanie odpowiadajce jej argumentowi tekstowemu.

Funkcja ma nastpujc skadni:


ADR.POR(tekst_adresu; a1)

Tekst_adresu jest odwoaniem do komrki albo nazw zdefiniowan jako odwoanie do


komrki zawierajcej adres, albo tekstem zawierajcym adres. Jeli tekst_adresu nie jest
aktualnym odwoaniem do komrki, funkcja ADR.POR zwraca warto bdu #ADR!.

Jeli tekst_adresu odwouje si do innego skoroszytu (odwoanie zewntrzne), musi on


by otwarty. Jeli rdowy skoroszyt nie jest otwarty, funkcja ADR.POR zwraca warto
bdu #ADR!.

A1 to warto logiczna okrelajca, jaki typ odwoania zawarto w komrce tekst_adresu.


Jeli wartoci argumentu a1 jest PRAWDA lub jest on pominity, argument tekst_adresu
jest interpretowany jako odwoanie w stylu A1. Jeli wartoci argumentu a1 jest FASZ,
argument tekst_adresu jest interpretowany jako odwoanie w stylu W1K1.

Przykady uycia funkcji:


= ADR.POR("B5") zwraca zawarto komrki B5. W zasadzie efekt jest taki
sam jak w przypadku uycia bezporedniego odwoania = B5, z tym e to drugie
podlega modyfikacji w razie wstawienia lub usunicia wierszy czy kolumn
midzy pocztkiem arkusza a t komrk, natomiast odwoanie z uyciem
funkcji ADR.POR nie bdzie modyfikowane.
= ADR.POR(C3) odczytuje zawarto komrki C3 i jeeli jest w niej tekst
adresu lub tekst odpowiadajcy zdefiniowanej nazwie odnoszcej si do komrki
lub zakresu komrek, na przykad tekst B5 zwraca zawarto komrki B5;
jeli w komrce C3jest tekst const, a tak nazw nadano wczeniej komrce B5
zwraca zawarto komrki B5; jeli w komrce C3jest tekst const, a tak
nazw nadano wczeniej zakresowi komrek B5:B7 zwraca zawarto komrki
B5. Gdyby w ostatnim przypadku wprowadzi t formu jako tablicow do trzech
komrek w kolumnie, funkcja zwrciaby zawarto zakresu komrek B5:B7.
(Co to s formuy tablicowe i jak je wprowadza, pisz w nastpnym rozdziale).
= ADR.POR("A"&C3) odczytuje zawarto komrki C3 i jeeli jest w niej
liczba 5 (obojtnie jak sformatowana czy jako liczba, czy jako tekst),
zwraca zawarto komrki A5.
= ADR.POR(ADRES(1; 3)) zwraca zawarto komrki C1.

Naley pamita, e pierwotnym wynikiem dziaania funkcji ADR.POR jest odwoanie,


czyli adres, a zatem funkcja moe by uyta w miejscach, gdzie wymagane s adresy.
Poprawne jest na przykad odwoanie do zakresu komrek, zapisane w postaci:
ADR.POR(tekst_adresu1):ADR.POR(tekst_adresu2)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


36 Excel w obliczeniach naukowych i inynierskich

Natomiast nie jest moliwe uycie funkcji ADR.POR jako funkcji tablicowej (z argumen-
tem w formie tablicy). Nie ma natomiast przeszkd, aby argument tekst_adresu repre-
zentowa adres lub nazw zakresu komrek i by w ten sposb uzyska tablicowy wynik
dziaania funkcji. Ten sposb uycia funkcji ADR.POR bdzie zreszt czsto wykorzysty-
wany w dalszej czci ksiki do generowania tablic dynamicznych.

W celu zachowania zgodnoci midzy arkuszami kalkulacyjnymi Excel i Lotus 1-2-3


s dostpne dwie opcje, ktrych zaznaczenie (wczenie) zapewnia to, e arkusze
przygotowane w programie Lotus bd prawidowo interpretowane przez Excela.
Opcje te we wczeniejszych wersjach Excela (przed wersj 2007) s dostpne w menu
Narzdzia/Opcje/Przechodzenie/Opcje arkusza: Przeniesienie aktualnej wartoci formuy
i Przeniesienie formuy. Poczwszy od wersji 2007, dostp do tych opcji wymaga
uycia sekwencji: Przycisk pakietu Office/Opcje programu Excel(w wersji 2010: Plik/
Opcje)/Zaawansowane/Ustawienia zgodnoci z programem Lotus dla:/Przeniesienie
sposobu szacowania formu i Przeniesienie sposobu wprowadzania formu. Aby wszyst-
ko, co opisaem w tej ksice, dziaao zgodnie z oczekiwaniami, obie te opcje naley
pozostawi wyczone.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3.
Operacje
i funkcje tablicowe
Podstawowe pojcia
dotyczce tablic i macierzy
Zbir wartoci uporzdkowany w kolumny i wiersze nazywamy tablic lub macierz.
W Excelu uywamy rwnie nazw zakres lub obszar, ktrych sens mona utosamia
z tablic. Prostoktn tablic (macierz) o wymiarach mn (zoon z m wierszy i n ko-
lumn) w tekstach matematycznych ujmuje si zwykle w nawiasy kwadratowe:

a11 a12 L a1n



a a L a
21 22 2n


M M M M

am1 am 2 L amn

Stosuje si te zapis uproszczony [aij], pomijajcy liczb kolumn i wierszy.

Wartoci tworzce tablic nazywamy elementami tablicy (macierzy). Przy ich zapisie
uywamy indeksw liczbowych, z ktrych pierwszy oznacza numer wiersza, a drugi
numer kolumny.

Macierz zoon tylko z jednego wiersza lub jednej kolumny moemy nazwa wektorem,
odpowiednio wierszowym lub kolumnowym.

Macierz, ktra ma tyle samo wierszy co kolumn, nazywamy macierz kwadratow.


Elementy macierzy kwadratowej ajj, ktrych indeksy wierszowy i kolumnowy s rwne,
nazywamy elementami diagonalnymi. Zbir wszystkich elementw diagonalnych
tworzy gwn przektn macierzy kwadratowej.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


38 Excel w obliczeniach naukowych i inynierskich

Macierz kwadratowa, w ktrej wszystkie elementy poza gwn przektn s rwne


zeru, nosi nazw macierzy diagonalnej.

Macierz kwadratowa, w ktrej wszystkie elementy lece symetrycznie w stosunku


do gwnej przektnej s parami rwne, czyli dla wszystkich i, j speniona jest rw-
no aij = aji, nosi nazw macierzy symetrycznej.

Macierz diagonalna, ktrej wszystkie elementy diagonalne s rwne 1, nosi nazw


macierzy jednostkowej i zazwyczaj w zapisie symbolicznym oznaczana jest liter E.

Z kad macierz kwadratow mona powiza pojedyncz warto liczbow, zwan


wyznacznikiem macierzy. Wyznacznik oblicza si z wykorzystaniem do zoonego
algorytmu z wartoci elementw macierzy. Sposb obliczania wyznacznika jest opisany
w podrcznikach matematyki.

Operacje tablicowe
zaimplementowane w Excelu
Tablica (macierz) moe by reprezentowana w Excelu na dwa sposoby: jako zakres ko-
mrek lub tzw. staa tablicowa (zwana te literaem tablicowym).

W pierwszym przypadku wartoci elementw tablicy umieszcza si w oddzielnych (ale


ssiadujcych ze sob) komrkach. Mog to by zarwno stae, jak i dowolne wyraenia
(najczciej liczbowe, cho formalnie mog by te tekstowe lub logiczne). Przy odwo-
ywaniu si do tak okrelonej tablicy naley poda adres zakresu komrek w formie na
przykad C5:G8, gdzie C5 oznacza adres komrki w lewym grnym rogu tablicy, a G8
adres komrki w jej prawym dolnym rogu. W tym przypadku tablica ma cztery wiersze
i pi kolumn. Adresy skrajnych komrek rozdziela si dwukropkiem. Mona oczywi-
cie uywa rwnie adresw absolutnych lub mieszanych (ze znakami $). Zakresowi
komrek, zawierajcemu elementy tablicy, mona nada nazw, jak to opisano w roz-
dziale 2. Podstawowe operacje w arkuszu.

Sta tablicow wprowadza si do komrki w trybie edycji po znaku = (jak wyraenie).


List wartoci elementw tablicy ujmuje si w nawiasy klamrowe, przy czym elemen-
ty wiersza rozdziela si rednikami, a poszczeglne wiersze (lub elementy kolumny
w przypadku wektora kolumnowego) ukonikami wstecznymi (ang. backslash). Wy-
mienione separatory s stosowane w polskich wersjach jzykowych Excela do roku
2007. W wersji 2010 separatory zamieniy si rolami nie rozumiem, w jakim celu
wprowadzono tak zmian, nie ma te o tym wzmianki w dokumentacji. Pliki zapisa-
ne w starszych wersjach po wczytaniu do Excela 2010 konwertuj si automatycznie.
W wersji angielskiej stosuje si odpowiednio przecinek i rednik i to nie ulego zmia-
nie. Przykadowo staa tablicowa moe wyglda tak jak poniej:
{1;2; 3\0;3;2\3;2;1} do wersji 2007,
{1\2\ 3;0\3\2;3\2\1} w wersji 2010,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 39

co odpowiada tablicy zapisanej w sposb klasyczny:

1 2 3

0 3 2


3 2 1

Elementami staej tablicowej mog by tylko stae: liczbowe (w zapisie dziesitnym, uam-
kowym lub naukowym), tekstowe (ujte w cudzysowy) lub logiczne. Nie mona uywa
wyrae ani odwoa do innych komrek.

Staej tablicowej mona nada nazw, ale tylko za pomoc okna dialogowego Wstaw/
Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj nazw lub Meneder nazw), a nie bez-
porednio w arkuszu.

Tablice mog by uywane w wyraeniach tablicowych podobnie jak pojedyncze liczby,


mog by te argumentami typowych funkcji, z tym e wynikiem operacji z udziaem ta-
blicy zazwyczaj jest tablica. Okrelenie typowa funkcja oznacza tu funkcj, ktra w zwy-
kych wyraeniach akceptuje argumenty w postaci pojedynczych wartoci, na przykad
LN, EXP, SIN itp. Interpretacja wyniku operacji z udziaem tablicy zaley od typu uytych
argumentw.

W przypadku operacji jednoargumentowych (negacja , procent %, uycie tablicy jako


jedynego argumentu typowej funkcji) operacja wykonywana jest na kadym z elemen-
tw tablicy.

W przypadku operacji dwuargumentowych (suma, rnica, iloczyn, iloraz, potga, ope-


racje relacji, czenie tekstw, typowa funkcja z dwoma argumentami w postaci tablic)
argumenty operacji musz mie odpowiednio dopasowan posta. I tak w przypadku
operacji AB, gdzie oznacza dowolny operator dwuargumentowy, dopuszczalne s na-
stpujce kombinacje:
1. Jeli A jest liczb, B moe by dowoln tablic wynik jest tablic [Abij],
czyli operacja jest wykonywana jednakowo na wszystkich elementach tablicy B.
2. Jeli B jest liczb, A moe by dowoln tablic wynik jest tablic [aijB],
czyli operacja jest wykonywana jednakowo na wszystkich elementach tablicy A.
3. Jeli A i B s tablicami dwuwymiarowymi, warunkiem poprawnoci operacji
jest identyczno rozmiarw obu tablic (macierzy), tzn. obie tablice musz mie
zgodn liczb wierszy i kolumn. Operacja jest wykonywana na analogicznych
elementach obu tablic, tzn. w wyniku otrzymamy tablic [aijbij].
4. Jeli A jest wektorem kolumnowym, a B wektorem wierszowym (lub odwrotnie),
operacja moe by wykonana, a wynik jest tablic z tak liczb wierszy, jak
mia wektor kolumnowy, i tak liczb kolumn, jak mia wektor wierszowy.
Tablica wynikowa: [cij] = [aibj].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


40 Excel w obliczeniach naukowych i inynierskich

a1
A= B = [b1 b2 b3 ]
a
2
a1 o b1 a1 o b2 a1 o b3
Ao B =
a o b a 2 o b2 a 2 o b3
2 1
5. Jeli A jest tablic jednowymiarow (wektorem), a B tablic dwuwymiarow,
B musi by dopasowane wielkoci do wektora A. W przypadku gdy A jest
wektorem kolumnowym, A i B musz mie t sam liczb wierszy. Analogicznie
gdy A jest wektorem wierszowym, A i B musz mie t sam liczb kolumn.
Operacja jest wykonywana na analogicznych elementach obu tablic, na przykad:
a1 b11 b12 b13

A = a2 B = b21 b22 b23


a3 b31 b32 b33
a1 o b11 a1 o b12 a1 o b13

A o B = a2 o b21 a2 o b22 a2 o b23


a3 o b31 a3 o b32 a3 o b33

Wynik jest tablic o rozmiarach tablicy B.


6. Jeli B jest tablic jednowymiarow (wektorem), a A jest tablic dwuwymiarow,
A musi by dopasowane wielkoci do wektora B. W przypadku gdy B jest
wektorem kolumnowym, A i B musz mie t sam liczb wierszy. Analogicznie
gdy B jest wektorem wierszowym, A i B musz mie t sam liczb kolumn.
Operacja jest wykonywana na analogicznych elementach obu tablic, na przykad:
a11 a13
a12
A= B = [b1 b2 b3 ]
a a22 a23
21
a11 o b1 a12 o b2 a13 o b3
Ao B =
a o b a o b a o b
21 1 22 2 23 3

Wynik jest tablic o rozmiarach tablicy A.

Oprcz skalarnego mnoenia macierzy, zgodnego z powyszym opisem, realizowanego


za pomoc zwykego operatora mnoenia *, w matematyce definiuje si mnoenie macie-
rzowe, ktre tu bdziemy oznacza operatorem .

Jeeli macierz C jest wynikiem mnoenia macierzowego macierzy A i B, to jej elementy


okrelaj wzory:
C = AB
cij = ai1b1 j + ai 2b2 j + L + ainbnj

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 41

Obliczajc iloczyn macierzowy, mnoy si odpowiadajce sobie elementy wierszy ma-


cierzy A i kolumn macierzy B i wyniki dodaje. Aby takie dziaanie byo moliwe, liczba
kolumn macierzy A i liczba wierszy macierzy B musz by sobie rwne. Wynikowa ma-
cierz C ma tyle wierszy, ile macierz A, i tyle kolumn, ile macierz B. W Excelu do ob-
liczania iloczynu macierzowego suy funkcja tablicowa MACIERZ.ILOCZYN(macierz_A;
macierz_B). Naley zwrci uwag, e mnoenie macierzowe nie jest przemienne, tzn.
kolejno argumentw ma znaczenie (o ile wykonanie mnoenia w odwrotnej kolejnoci
jest w ogle moliwe).

Kolejn operacj macierzow zaimplementowan w Excelu jest operacja transpozycji. Suy


do tego funkcja TRANSPONUJ(macierz_A) oraz operacja Edycja/Wklej specjalnie/Transpozycja
(od wersji 2007 Narzdzia gwne/Wklej/Transpozycja). Transpozycja macierzy sprowa-
dza si do zamiany wierszy z kolumnami i na odwrt, tzn. pierwszy wiersz macierzy
oryginalnej staje si pierwsz kolumn macierzy transponowanej itd.

Wanym uatwieniem dla osb rozwizujcych ukady rwna liniowych jest moliwo
wyznaczenia macierzy odwrotnej. Macierz odwrotn do macierzy kwadratowej A, ozna-
czan symbolem A1, jest macierz speniajca zaleno:
AA1 = A1A = E
gdzie E jest macierz jednostkow.

Pomimo prostej definicji efektywne rczne obliczenie elementw macierzy odwrotnej do


danej macierzy jest zadaniem do mudnym. Jednak dziki implementacji tej operacji
w Excelu rozwizanie takiego zadania bardzo si upraszcza. Suy do tego funkcja tabli-
cowa MACIERZ.ODW(macierz_A). Rwnie proste staje si obliczenie wartoci wyznacznika
dowolnej macierzy kwadratowej. Suy do tego funkcja WYZNACZNIK.MACIERZY(macierz_A).
Wymienione tu funkcje tablicowe s takimi z natury, tzn. wymagaj, by argumentami
zawsze byy tablice.

Wprowadzanie
i edycja formu tablicowych
Przy wykonywaniu jakichkolwiek operacji tablicowych w Excelu naley pamita o istot-
nej rnicy w stosunku do operacji na pojedynczych liczbach. Wynik operacji tablicowej
jest z reguy tablic liczbow, ktra musi by umieszczona w kilku ssiednich komrkach.
Dlatego przed wprowadzeniem do arkusza formuy tablicowej (w tym take staej tabli-
cowej) naley zaznaczy (podwietli) za pomoc myszki (przy wcinitym jej lewym
przycisku) lub klawiszy ze strzakami (przy wcinitym klawiszu Shift) zakres kom-
rek, w ktrym ma by wywietlony wynik. Po wprowadzeniu formuy zatwierdza si j
kombinacj klawiszy Ctrl+Shift+Enter albo klikniciem myszk w przycisk OK lub pole
akceptacji D, poprzedzonym wciniciem i przytrzymaniem klawiszy Ctrl+Shift (nie
wystarczy sam klawisz Enter ani samo kliknicie myszk w przycisk OK czy pole D).
Szczeglnie trzeba o tym pamita podczas korzystania z okienka dialogowego Wstaw
funkcj. Ma ono taki sam wygld niezalenie od tego, czy wprowadzamy funkcj skalarn,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


42 Excel w obliczeniach naukowych i inynierskich

czy tablicow. Taki sam przycisk OK sugeruje, e wystarczy go uy. Tymczasem w przy-
padku funkcji tablicowej jest to niewystarczajce. Omykowe uycie samego przycisku
OK powoduje, e albo wywietla si komunikat bdu #ARG!, albo widoczny jest tylko
pierwszy element wynikowej tablicy.

Po poprawnym wprowadzeniu formuy tablicowej w polu edycji zobaczymy formu oto-


czon nawiasami klamrowymi. Jest to sygna, e Excel interpretuje j jako formu
tablicow. Przy edycji formuy nawiasy te znikaj i pojawiaj si po ponownym jej za-
twierdzeniu. S one wprowadzane automatycznie i nie naley prbowa wpisywa ich
z klawiatury skoczy si to komunikatem o bdzie.

Oprcz wymienionych powyej typowych operacji i funkcji tablicowych istnieje wiele


funkcji o specjalnym przeznaczeniu, na przykad funkcji wyznaczajcych rwnania regre-
sji, ktre w wyniku zwracaj wicej ni jedn liczb. Zawsze przy uyciu takich funkcji
naley pamita o wczeniejszym przygotowaniu miejsca na wynik, a po wpisaniu formuy
o jej zatwierdzeniu przez Ctrl+Shift+Enter.

Jeeli operacja z klawiszami Ctrl+Shift+Enter nie powiedzie si (na skutek niedokadne-


go naciskania klawiszy lub bdu klawiatury), naley j ponowi bez powtrnego wpro-
wadzania formuy. Wystarczy znowu zaznaczy obszar wyniku (jeeli wczeniej nie
by zaznaczony lub by zaznaczony bdnie), nastpnie klikn myszk w polu formuy
w wierszu edycji i po raz kolejny wcisn Ctrl+Shift+Enter. Jeeli w trakcie tych operacji
pojawi si komunikat bdu: Zmiana czci tablicy nie jest moliwa, naley skopiowa
formu do schowka, nastpnie nacisn klawisz Esc lub klikn myszk czerwony znak
U na lewo od pola edycji. Nastpnie naley usun klawiszem Delete cay obszar wyni-
kw formuy i powtrzy operacj, wklejajc formu ze schowka. Obszar zajmowany
przez tablic atwo zaznaczy, naciskajc Ctrl+/ gdziekolwiek w tym obszarze.

Jeeli formua tablicowa zostaa zdefiniowana i zatwierdzona, mona poszerzy obszar


obejmowany przez t formu. W tym celu naley zaznaczy nowy obszar, obejmujcy
obszar dotychczasowy: zaczyna si od jednej z komrek zawierajcych formu, nastp-
nie trzeba klikn myszk w linii edycji i ponownie nacisn Ctrl+Shift+Enter. Nie da
si natomiast zmniejszy obszaru formuy.

Podobnie jak w przypadku zwykej formuy, moliwe jest przeksztacenie zakresu zawie-
rajcego formu tablicow w sta tablicow zawierajc wartoci wyliczone przez t
formu. W tym celu naley zaznaczy obszar zajmowany przez formu, przej do trybu
edycji (naciskajc klawisz F2 lub klikajc myszk na pasku formuy), po czym nacisn
klawisz F9 i w kocu Ctrl+Shift+Enter. Zamiana formuy na wartoci jest trwaa, mona
j jednak odwoa, klikajc przycisk Cofnij.

Mona rwnie zamieni fragment formuy na sta tablicow, oczywicie fragment musi
by tak dobrany, aby da si obliczy. Sposb postpowania jest podobny jak przy prze-
ksztacaniu caej formuy, z t rnic, e po przejciu do trybu edycji naley zaznaczy
(podwietli) wybrany fragment formuy i dopiero potem nacisn klawisz F9. Dalej bez
zmian.

Zamiana zakresu na sta tablicow moliwa jest w sposb poredni. Powiedzmy, e z da-
nych zawartych w zakresie A3:B5 chcemy utworzy sta tablicow. Musimy najpierw
utworzy odwoanie tablicowe do tego zakresu, zapisujc w wybranej komrce lub zakresie

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 43

komrek = A3:B5. Nastpnie postpujemy jak przy zamianie formuy tablicowej na sta
tablicow, tzn. naciskamy klawisz F9 i w kocu Enter, jeeli zaznaczona bya jedna ko-
mrka, lub Ctrl+Shift+Enter, jeeli zaznaczono zakres komrek.

Gdy argumentem funkcji lub operacji jest tablica, ale wynik jest pojedyncz liczb jak
na przykad w przypadku funkcji WYZNACZNIK.MACIERZY formu zatwierdza si w zwyky
sposb klawiszem Enter. Istniej jednak wyjtki od tej reguy jeeli po zatwierdzeniu
formuy klawiszem Enter pojawi si bd #ARG! lub wynik jest niezgodny z oczekiwaniem,
naley sprbowa Ctrl+Shift+Enter. Szczegln ostrono trzeba zachowa podczas
uywania funkcji SUMA, gdy w zalenoci od tego, czy formu potraktujemy jak zwyk,
czy jak tablicow, moemy otrzyma rne wyniki. Wicej informacji na ten temat mona
znale w podrozdziale Zasady interpretacji nazw i adresw w wyraeniach tablicowych
w arkuszu i w formuach nazwanych.

Jak ju wspomniano powyej, zarwno zakresom komrek, jak i staym tablicowym


mona nadawa nazwy. Moliwo nadawania nazw rozciga si rwnie na formuy ta-
blicowe. Sposb postpowania jest analogiczny jak w przypadku staych tablicowych.
W starszych wersjach Excela naley wykorzysta okno dialogowe Wstaw/Nazwa/Definiuj,
a od wersji 2007 Formuy/Definiuj nazw lub Meneder nazw. (Bezporednio w arkuszu
mona nada nazw komrce lub zakresowi komrek). Sposb postpowania opisano
w rozdziale 2. Podstawowe operacje w arkuszu. W oknie dialogowym formu zatwier-
dza si samym klawiszem Enter. Naley zauway, e nie jest obojtne, czy nazw nadaje-
my formule tablicowej, czy wprowadzamy formu do arkusza i nadajemy nazw zakre-
sowi z wynikami formuy. Z zakresem powizany jest adres, natomiast z formu nie.
W pewnych wyraeniach wymagany jest adres, moemy wtedy uy nazwy zakresu, ale
nie nazwy formuy czy staej. Z drugiej strony zakres jest statyczny, ma zawsze ten sam
rozmiar. Natomiast formua moe by dynamiczna, niektre formuy mog generowa
rnej wielkoci tablice, w zalenoci od danych wykorzystywanych do oblicze. Ponadto,
w przypadku duych tablic, zapis formuy jest zwizy, a odpowiadajcy mu zakres w ar-
kuszu moe by duy i przez to niewygodny w obsudze.

Kopiowanie formu tablicowych


Formuy tablicowe mona kopiowa w caoci, tzn. kopiowa cay zakres komrek objty
formu, ale mona rwnie kopiowa fragment zakresu. Jako obszar docelowy naley
wskaza jedn komrk (bdzie ona lewym grnym rogiem obszaru docelowego) lub
obszar identyczny z zakresem kopiowanym, lub obszar bdcy wielokrotnoci zakresu
kopiowanego. W przypadku gdy obszar docelowy jest wikszy od kopiowanego zakresu,
kopia nie stanowi jednej integralnej formuy, lecz skada si z kilku zakresw formu
o rozmiarach takich jak zakres kopiowany. Na pierwszy rzut oka moe by trudno zorien-
towa si, czy mamy jeden czy kilka zakresw formuy w kadej komrce formua
jest ujta w nawiasy klamrowe. Mona porwna zawarto formu w jednym obsza-
rze formua musi by taka sama, ale ta sama formua moe wystpi w rnych obszarach.
Jeli formua zajmuje wicej ni jedn komrk, mona zaznaczy zakres biecej formuy,
naciskajc klawisze Ctrl+/.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


44 Excel w obliczeniach naukowych i inynierskich

Kada komrka zakresu obejmujcego formu tablicow reprezentuje t sam formu,


a wic formua po skopiowaniu bdzie taka sama, niezalenie od tego, ktra lub ktre
komrki zakresu zostan skopiowane. W przypadku adresw wzgldnych lub mieszanych
przesunicie adresu liczy si od pocztku zakresu. Kopia ma wymiary zakresu kopiowa-
nego; jeli obszar docelowy jest wielokrotnoci obszaru kopiowanego, formua bdzie
zwielokrotniona, ale adresy dla kadej kopii bd obliczone odrbnie; jeli obszar docelo-
wy jest wikszy od obszaru kopiowanego, ale nie jest jego wielokrotnoci, zostanie
utworzona tylko jedna kopia, a obszar docelowy zostanie zmniejszony.

Naley zwrci uwag, e jeli formua tablicowa obejmuje przykadowo cztery komrki
i wybierzemy jedn z nich do skopiowania, a nastpnie skopiujemy j do zakresu zoo-
nego z czterech komrek, to nie otrzymamy jednej spjnej formuy, tylko cztery kopie
niezalenych formu z odrbnie wyliczonymi adresami zakresw. Aby uzyska jedn
spjn formu tablicow, naley skopiowa od razu cay zakres albo skopiowa jedn
komrk do zakresu jednokomrkowego, a nastpnie poszerzy ten zakres do czterech
komrek.

W formuach tablicowych mog wystpowa adresy pojedynczych komrek i zakresw,


a take nazwy reprezentujce te adresy. W obrbie zakresu formuy tablicowej adresy
pojedynczych komrek pozostaj niezmienne niezalenie od tego, czy uyto w nich zna-
kw $, czy te nie. Adresy lub nazwy zakresw w formuach s interpretowane zgodnie
z omwionymi na pocztku tego rozdziau zasadami wykonywania operacji tablicowych.
Przy kopiowaniu formu tablicowych maj zastosowanie oglne zasady modyfikacji ad-
resw czci adresw typu A1 niepoprzedzone znakiem $ s modyfikowane, natomiast
odwoania do nazwanych zakresw pozostaj niezmienione, ale jeli w ich definicjach
uyto adresw wzgldnych lub mieszanych, zostanie to uwzgldnione w ich interpretacji.

Odwoania do elementw
lub fragmentw tablic
Uycie funkcji INDEKS
W przypadku gdy nie potrzeba ujawnia caej tablicy wynikw funkcji czy operacji ta-
blicowej, a jedynie wybrane elementy wynikowej tablicy, naley uy funkcji INDEKS
(tablica; nr_wiersza; nr_kolumny). Umoliwia ona wybr pojedynczego elementu
lub wskazanych elementw tablicy wynikw. Jeeli funkcja ma zwrci w wyniku poje-
dyncz liczb, zatwierdza si j samym Enter, jeeli wynikiem ma by tablica, zazna-
czamy najpierw miejsce na wynik, a nastpnie zatwierdzamy przez Ctrl+Shift+Enter.

Funkcja INDEKS ma dwa warianty skadni: tablicow i adresow. Forma tablicowa zaw-
sze podaje w wyniku warto lub tablic wartoci. Forma adresowa zawsze podaje
w wyniku adres. Opis skadni adresowej mona znale w pliku pomocy Excela [15]
tu nie bdziemy z niej korzysta.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 45

Najczciej bdzie mie zastosowanie skadnia tablicowa:


INDEKS(tablica; nr_wiersza; nr_kolumny)

tablica jest zakresem komrek lub tablic, albo wyraeniem dajcym w wyniku tablic;

nr_wiersza wybiera wiersz tablicy, z ktrego ma pochodzi warto. Jeli argument


nr_wiersza zostanie pominity, to wymagany jest nr_kolumny;

nr_kolumny wybiera kolumn tablicy, z ktrej ma pochodzi warto. Jeli argument


nr_kolumny zostanie pominity, wymagany jest argument nr_wiersza.

Nr_wiersza i nr_kolumny musz odnosi si do komrki wewntrz tablicy, w innym przy-


padku funkcja INDEKS podaje w wyniku warto bdu #ADR!. Wiersze i kolumny s
numerowane od 1.

Jeli zostan uyte zarwno argumenty nr_wiersza, jak i nr_kolumny, to funkcja INDEKS
daje w wyniku warto w komrce na przeciciu nr_wiersza i nr_kolumny.

Jeli argument tablica zawiera tylko jeden wiersz lub kolumn, to jeden z argumentw
nr_wiersza lub nr_kolumny mona pomin.

Jeli tablica zawiera wicej ni jeden wiersz i wicej ni jedn kolumn, przy czym wy-
korzystany zostanie tylko jeden argument nr_wiersza lub nr_kolumny, a drugi z argumen-
tw zostanie pominity lub jako argument zostanie podana warto 0, to funkcja INDEKS
da w wyniku tablic z caym wierszem lub kolumn. Aby skorzysta z tych wartoci otrzy-
manych w postaci tablicy, naley wprowadzi funkcj INDEKS jako funkcj tablicow,
naciskajc Ctrl+Shift+Enter.

Argumenty nr_wiersza i nr_kolumny mog mie rwnie form tablic lub zakresw
komrek zawierajcych numery wierszy lub kolumn.

Przykadowo jeeli TX jest tablic kolumnow, odwoanie do drugiego elementu tej tablicy
moe mie jedn z postaci:
= INDEKS(TX;2)
= INDEKS(TX;2;)
= INDEKS(TX;2;0)
= INDEKS(TX;2;1)

Podobnie jeeli TY jest tablic zoon z jednego wiersza, odwoanie do trzeciego elementu
tej tablicy moe mie posta (alternatywnie):
= INDEKS(TY;3)
= INDEKS(TY;;3)
= INDEKS(TY;0;3)
= INDEKS(TY;1;3)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


46 Excel w obliczeniach naukowych i inynierskich

Jeli tablica TA ma wymiary 44 i zawiera liczby:

1 2 4 6
3 5 3 7
6 8 10 2
5 7 4 3

to moliwe s na przykad nastpujce odwoania tablicowe:


= INDEKS(TA;1;)
= INDEKS(TA;1;0) wynikiem jest pierwszy wiersz tablicy TA,
(odwoanie = INDEKS(TA;1) byoby bdne);
= INDEKS(TA;;2)
= INDEKS(TA;0;2) wynikiem jest druga kolumna tablicy TA,
(odwoanie = INDEKS(TA;2) byoby bdne);
= INDEKS(TA;1;{1;3}) wynikiem jest pierwszy i trzeci element pierwszego
wiersza tablicy TA w postaci wierszowej (ten i ponisze zapisy dotycz
wersji 2007 i wczeniejszych, w wersji 2010 w staych tablicowych \ naley
zamieni na ; i odwrotnie);
= INDEKS(TA;{1\3};2) wynikiem jest pierwszy i trzeci element drugiej
kolumny tablicy TA w postaci kolumnowej;
= INDEKS(TA;{1\3};{1\2}) wynikiem jest kolumna zoona z dwu wartoci:
element na przeciciu pierwszego wiersza i pierwszej kolumny oraz element
na przeciciu trzeciego wiersza i drugiej kolumny tablicy TA;
= INDEKS(TA;{1\3};{2;4}) wynikiem jest tablica o wymiarach 22 zoona
z elementw na przeciciu pierwszego i trzeciego wiersza oraz drugiej i czwartej
kolumny tablicy TA:
2 6
8 2

= INDEKS(TA;{1;3};{2\4}) wynikiem jest tablica o wymiarach 22 zoona


z elementw na przeciciu pierwszego i trzeciego wiersza oraz drugiej i czwartej
kolumny tablicy TA, przestawiona (transponowana) w stosunku do tablicy
z poprzedniego przykadu:
2 8
6 2

Pierwszy argument funkcji INDEKS moe reprezentowa cay arkusz, co mona zapisa jako
zakres wierszy $1:$1048576 w wersjach 2007 lub 2010 bd $1:$65536 we wczeniejszych
wersjach. Jeeli odwoanie ma dotyczy arkusza innego ni biecy, naley je poprzedzi
kwalifikatorem arkusza. Mona oczywicie uy rwnie mniejszego zakresu wierszy lub
odpowiedniego zakresu kolumn, poczwszy od kolumny A. Uycie funkcji INDEKS w takiej
formie umoliwia odwoanie do komrki lub komrek o wyliczonym adresie.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 47

Alternatywnie mona uy odwoania:


= ADR.POR(ADRES(numer_wiersza; numer_kolumny;;; nazwa_arkusza))

Jeeli odwoanie dotyczy biecego arkusza, wystarczy poda dwa pierwsze argumenty.

Uycie funkcji PRZESUNICIE


Druga funkcja, ktra umoliwia odwoywanie si do fragmentw tablic, nosi nazw
PRZESUNICIE. Pozwala ona na przykad wyci z tablicy (ale tylko statycznej, czyli okre-
lonej przez adres w arkuszu) dowolny fragment o ksztacie prostokta (w tym pojedyn-
czy wiersz lub kolumn), a take odczyta zawarto obszaru pooonego w okrelonej
odlegoci od znanej komrki.

cilej, funkcja zwraca odwoanie do komrki lub zakresu, ktry jest przesunity o podan
liczb wierszy lub kolumn w stosunku do komrki odniesienia. Podany zakres_odniesienia
moe by pojedyncz komrk lub zakresem komrek. Komrk odniesienia jest lewy
grny rg tego zakresu. Podajc argumenty wysoko i szeroko, mona okreli roz-
miary zakresu wynikowego inne ni rozmiary zakresu_odniesienia. Funkcja PRZESUNICIE
w rzeczywistoci nie przesuwa adnych komrek ani nie zmienia wyboru zakresu, tylko
zwraca adres zakresu wynikowego. Funkcja ta moe by wykorzystywana z innymi
funkcjami wymagajcymi podania adresu jako argumentu. Jej skadnia jest taka, jak za-
pisano poniej:
PRZESUNICIE(zakres_odniesienia; wiersze; kolumny; wysoko; szeroko)

Zakres_odniesienia jest to adres komrki lub zakresu ssiednich komrek, od ktre-


go wyznacza si przesunicie. Jeli nie jest to pojedyncza komrka, przesunicie liczy
si od lewego grnego rogu zakresu. Jeeli ten argument nie oznacza adresu, funkcja
PRZESUNICIE zwrci warto bdu #ARG!.

Wiersze to liczba wierszy w gr (liczba ujemna) lub w d (liczba dodatnia) liczonych


od grnej lewej komrki zakresu_odniesienia. Argument wiersze rwny 0 oznacza ten
sam wiersz.

Kolumny to liczba kolumn w lewo (liczba ujemna) lub w prawo (liczba dodatnia) liczonych
od grnej lewej komrki zakresu_odniesienia. Argument kolumny rwny 0 oznacza t sam
kolumn.

Jeli argumenty wiersze lub kolumny przesuwaj adres poza brzeg arkusza, to funkcja
PRZESUNICIE da w wyniku warto bdu #ADR!.

Wysoko to liczba wierszy okrelajca wysoko zakresu wynikowego. Wysoko musi


by liczb dodatni.

Szeroko to liczba kolumn okrelajca szeroko zakresu wynikowego. Szeroko musi


by liczb dodatni.

Jeli argumenty wysoko lub szeroko zostan pominite, to zakres wynikowy bdzie
mie tak sam wysoko lub szeroko jak zakres_odniesienia.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


48 Excel w obliczeniach naukowych i inynierskich

Wrmy do poprzedniego przykadu: jeli chcemy w tablicy TA pomin pierwszy


wiersz i pierwsz kolumn, moemy zastosowa funkcj:
= PRZESUNICIE(TA;1;1;3;3)

W wyniku otrzymamy tablic:

5 3 7
8 10 2
7 4 3

Funkcj PRZESUNICIE mona rwnie wykorzysta do utworzenia odwoania do komrki


o wyliczonym adresie. W tym przypadku naley uy wyraenia:
= PRZESUNICIE($A$1; numer_wiersza-1; numer_kolumny-1)

Adres komrki odniesienia mona poprzedzi kwalifikatorem arkusza.

Bez uycia funkcji


Aby odwoa si do pocztkowych elementw tablicy (pocztkowych wierszy lub kolumn),
nie potrzeba uywa adnych funkcji. Wystarczy zaznaczy miejsce na wynik, wpisa
odwoanie do tablicy i zatwierdzi przez Ctrl+Shift+Enter. W przypadku tablicy TA z po-
przedniego przykadu po zaznaczeniu obszaru zoonego z dwch kolumn i trzech wierszy,
wprowadzeniu wyraenia = TA+2 i zatwierdzeniu przez Ctrl+Shift+Enter otrzymamy w wy-
niku tablic:

3 4
5 7
8 10

czenie tablic
i tworzenie tablic mieszanych
W niektrych przypadkach Excel wymaga, aby dane miay posta spjnego obszaru. Do
utworzenia spjnego obszaru z danych znajdujcych si w rnych miejscach arkusza
powinien suy operator poczenia, oznaczany w polskiej wersji Excela rednikiem (;),
ale dziaa on tylko w odniesieniu do argumentw niektrych (nielicznych) funkcji. Spjny
obszar mona zbudowa z niezalenych obszarw kolumnowych lub wierszowych o iden-
tycznych rozmiarach, posugujc si odpowiedni formu tablicow lub funkcj WYBIERZ
z argumentami w postaci tablic. Na przykad obszar zbudowany z trzech wierszy mona
skonstruowa za pomoc formu (zapis dotyczy wersji 2007 i wczeniejszych, w wersji
2010 \ naley zamieni na ; i odwrotnie):

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 49

= wiersz_1*{1\0\0}+wiersz_2*{0\1\0}+wiersz_3*{0\0\1}
lub = WYBIERZ({1\2\3}; wiersz_1; wiersz_2; wiersz_3)

Analogicznie mona zbudowa obszar zoony z trzech kolumn:


= kolumna_1*{1;0;0}+kolumna_2*{0;1;0}+kolumna_3*{0;0;1}
lub = WYBIERZ({1;2;3}; kolumna_1; kolumna_2; kolumna_3)

Uyte nazwy wierszy lub kolumn mona oczywicie zastpi dowolnymi odwoaniami,
dajcymi w wyniku odpowiedni zakres lub tablic.

Przedstawione powyej zagadnienie jest szczeglnym przypadkiem szerszego problemu


czenia tablic oraz komponowania tablic z elementw innych tablic. Do tego celu mona
wykorzysta funkcj WYBIERZ z argumentami tablicowymi. Takie jej uycie nie jest do-
kadnie opisane w dokumentacji Excela i uzyskiwane wyniki nie s oczywiste, dlatego
postaram si wyjani je dokadnie.

Funkcja ta jest bardzo elastyczna, jej skadnia i bardziej typowe zastosowania zostay
opisane w rozdziale 12. Rozwizywanie rwna nieliniowych. Oglnie skadnia funkcji
jest taka:

WYBIERZ(nr_arg; warto1; warto2; ...)

Jeeli nr_arg jest tablic wierszow, to funkcja WYBIERZ zwraca tablic, ktra ma tyle
kolumn, ile elementw liczy nr_arg, i tyle wierszy, ile liczy najdusza z kolumn argu-
mentw wykorzystanych do utworzenia tablicy wynikowej. Kolumny tablicy wynikowej
zale od postaci argumentw wartoi.

Jeeli ktry z argumentw wartoi jest tablic dwuwymiarow i liczba i znajduje si


na licie nr_arg na pozycji j, j-ta kolumna wyniku jest rwna j-tej kolumnie argumentu
wartoi. Jeeli argument wartoi ma mniej ni j kolumn, funkcja zwrci w j-tej ko-
lumnie kody bdu #N/D!.

Jeeli ktry z argumentw wartoi jest tablic jednokolumnow i liczba i znajduje si


na licie nr_arg na pozycji j, to funkcja WYBIERZ zwraca w j-tej kolumnie argument
wartoi.

Jeeli ktry z argumentw wartoi jest pojedyncz wartoci i liczba i znajduje si na


licie nr_arg na pozycji j, to funkcja WYBIERZ zwraca w j-tej kolumnie tyle powtrzonych
wartoi, ile wierszy liczy najdusza z kolumn wyniku.

Analogicznie jeeli nr_arg jest tablic kolumnow, to funkcja WYBIERZ zwraca tablic,
ktra ma tyle wierszy, ile elementw liczy nr_arg, i tyle kolumn, ile liczy najduszy z wier-
szy argumentw wykorzystanych do utworzenia tablicy wynikowej. Wiersze tablicy wy-
nikowej zale od postaci argumentw wartoi.

Jeeli ktry z argumentw wartoi jest tablic dwuwymiarow i liczba i znajduje si


na licie nr_arg na pozycji j, j-ty wiersz wyniku jest rwny j-temu wierszowi argumentu
wartoi. Jeeli argument wartoi ma mniej ni j wierszy, funkcja zwrci w j-tym wier-
szu kody bdu #N/D!.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


50 Excel w obliczeniach naukowych i inynierskich

Jeeli ktry z argumentw wartoi jest tablic jednowierszow i liczba i znajduje si


na licie nr_arg na pozycji j, to funkcja WYBIERZ zwraca w j-tym wierszu argument
wartoi.

Jeeli ktry z argumentw wartoi jest pojedyncz wartoci i liczba i znajduje si na


licie nr_arg na pozycji j, to funkcja WYBIERZ zwraca w j-tym wierszu tyle powtrzonych
wartoi, ile kolumn liczy najduszy wiersz wyniku.

Jeeli nr_arg jest tablic dwuwymiarow, to funkcja WYBIERZ zwraca tablic o rozmiarach
nr_arg. Elementy tablicy wynikowej zale od postaci argumentw wartoi.

Jeeli ktry z argumentw wartoi jest tablic dwuwymiarow i liczba i znajduje si


w tablicy nr_arg na pozycji (j,k), to z tej samej pozycji argumentu wartoi pobierany
jest element do tablicy wynikowej. Jeeli w argumencie wartoi nie ma wyrazu o wsp-
rzdnych (j,k), funkcja zwrci w tym miejscu kod bdu #N/D!.

Jeeli ktry z argumentw wartoi jest tablic jednokolumnow i liczba i znajduje si


w tablicy nr_arg na pozycji (j,k), to funkcja WYBIERZ zwraca w tej pozycji element argu-
mentu wartoi o wsprzdnych (j,1).

Jeeli ktry z argumentw wartoi jest tablic jednowierszow i liczba i znajduje si


w tablicy nr_arg na pozycji (j,k), to funkcja WYBIERZ zwraca w tej pozycji element argu-
mentu wartoi o wsprzdnych (1,k).

Jeeli ktry z argumentw wartoi jest pojedyncz wartoci i liczba i znajduje si


w tablicy nr_arg na pozycji (j,k), to funkcja WYBIERZ zwraca w tej pozycji wartoi.

Przykadowo jeeli mamy dwie tablice lub zakresy danych Tabl1, obejmujcy trzy ko-
lumny, oraz Tabl2, zoony z dwch kolumn, to za pomoc odpowiedniej formuy tabli-
cowej lub funkcji WYBIERZ w poczeniu z funkcj INDEKS moemy utworzy tablic zo-
on z piciu kolumn, tak jakby je zapisa obok siebie.
= {1;0;0;0;0}*INDEKS(tabl1;;1)+{0;1;0;0;0}*INDEKS(tabl1;;2)+
{0;0;1;0;0}*INDEKS(tabl1;;3)+{0;0;0;1;0}*INDEKS(tabl2;;1)+
{0;0;0;0;1}*INDEKS(tabl2;;2)
= WYBIERZ({1;2;3;4;5}; INDEKS(tabl1;;1); INDEKS(tabl1;;2); INDEKS(tabl1;;3);
INDEKS(tabl2;;1); INDEKS(tabl2;;2))

Dynamiczne generowanie tablic


o zadanym rozmiarze
W obliczeniach dotyczcych cigw i szeregw, jak rwnie w wielu innych obliczeniach,
ktre wykorzystuj je w sposb poredni, bardzo pomocne s tablice jednowymiarowe
(wierszowe lub kolumnowe) zawierajce kolejne liczby naturalne od 1 do n.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 51

Wygenerowanie takich tablic jest moliwe, wymaga jednak posuenia si pewn sztuczk,
gdy nie ma funkcji sucej specjalnie do tego celu. Mona mianowicie wykorzysta jedn
z funkcji, ktrych pierwotne przeznaczenie byo inne. S to funkcje WIERSZ(przedzia)
lub NR.KOLUMNY(przedzia). Omwiono je w rozdziale 2. Funkcje te uyte w formule
tablicowej zwracaj list numerw wierszy lub kolumn podanych jako argument. Wynik
ma form tablicy jednowymiarowej. W przypadku funkcji WIERSZ jest to wektor kolum-
nowy, a w przypadku funkcji NR.KOLUMNY wektor wierszowy. Z uyciem tych funkcji
wie si jednak pewna niedogodno jeeli doda si lub usunie wiersze bd kolumny
z przedziau uytego jako argument, przedzia zostanie zmodyfikowany, podobnie jak
modyfikowane s w takim przypadku wszystkie adresy w arkuszu. Aby zabezpieczy si
przed t niedogodnoci, a ponadto uzyska moliwo konstrukcji przedziau z segmen-
tw, naley uy jeszcze funkcji ADR.POR(adres_przedziau), podajc adres_przedziau
w postaci tekstowej. Opis skadni i sposb uycia tej funkcji podano rwnie w rozdziale 2.

W ten sposb, na przykad uywajc wyraenia:


= WIERSZ(ADR.POR("1:8"))
uzyskamy sta tablicow ={1\2\3\4\5\6\7\8} (w wersji 2010 ={1;2;3;4;5;6;7;8}). Aby
uzmienni grn granic zakresu, naley zamiast staej 8 wpisa odwoanie do komrki
zawierajcej t liczb. Pamita naley, e argument jest wyraeniem tekstowym i trzeba
uy operatora zczenia tekstw &. Warto w komrce moe by wartoci numeryczn,
Excel sam skonwertuje j do postaci tekstowej. Jeli zaoymy, e warto 8 umiecilimy
w komrce A5, zmodyfikowane wyraenie powinno przyj posta:
= WIERSZ(ADR.POR("1:"&$A$5))
albo posta:
= WIERSZ(ADR.POR("1:"&n))
jeeli nadalimy komrce A5 nazw n. Standardowo przy nadawaniu nazwy komrce jej
adres jest zapamitywany jako adres absolutny. Mona jednak rcznie zmieni to odwo-
anie na wzgldne lub mieszane.

Tego wyraenia nie naley wpisywa do arkusza, bo wtedy dugo tablicy bdzie ogra-
niczona wielkoci zaznaczonego zakresu, zamiast tego trzeba je zapamita pod wybran
nazw, na przykad zakres, posugujc si poleceniem Wstaw/Nazwa/Definiuj (od wersji
2007 Formuy/Definiuj nazw), i w polu Nazwy w skoroszycie: wpisa wybran nazw,
a w polu Odwouje si do: wpisa podane powyej odwoanie, po czym zatwierdzi to
przyciskiem OK. Jest to formua tablicowa, jednak przy definiowaniu jej nazwy nie trzeba
uywa kombinacji Ctrl+Shift+Enter. Dziki nadaniu nazwy formua staje si dynamicz-
na w tym sensie, e zmiana wartoci n w arkuszu automatycznie modyfikuje rozmiar tablicy,
przy czym jest on ograniczony tylko liczb wierszy w arkuszu (1 n 65536 w Excelu
do wersji 2003 oraz 1 n 1048576 od wersji 2007).

Jeeli przy definiowaniu n uyto adresu absolutnego, to uycie w dowolnej komrce nazwy
zakres bdzie oznacza tak sam kolumn (pionow tablic) liczb od 1 do n. Jeeli nato-
miast przy definiowaniu n uyto adresu wzgldnego, a komrk aktywn w chwili defi-
niowania bya komrka ssiednia z prawej strony n, to uycie w dowolnej komrce na-
zwy zakres bdzie oznacza kolumn (pionow tablic) liczb od 1 do n, przy czym n bdzie

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


52 Excel w obliczeniach naukowych i inynierskich

liczb pobran z komrki ssiadujcej z lewej strony z komrk zawierajc odwoanie do


zakresu. Jeeli to odwoanie wymaga uycia kilku komrek, bierze si pod uwag pierw-
sz z nich. Wicej informacji na ten temat podano dalej, w podrozdziale Zasady interpre-
tacji nazw i adresw w wyraeniach tablicowych w arkuszu i w formuach nazwanych.

Tablica zakres zdefiniowana w powyszy sposb jest tablic kolumnow. W razie potrzeby
do zdefiniowania tablicy wierszowej mona uy funkcji TRANSPONUJ(zakres). W zasa-
dzie mona te uy funkcji NR.KOLUMNY, ale jako argument naleaoby poda oznaczenia
literowe kolumn, co jest duo mniej wygodne od numerw wierszy.

Jeli pocztkowa liczba w tablicy zakres ma by inna ni 1, mona uzmienni obie gra-
nice lub uy wyrae arytmetycznych typu zakres+5 lub zakresn/2.

Dysponujc bazow tablic zawierajc liczby od 1 do n, moemy definiowa inne


potrzebne tablice jedno- i dwuwymiarowe.

Macierz jednostkow E o rozmiarze nn mona wygenerowa na przykad za pomoc


wyrae:
wek : = WIERSZ(ADR.POR("1:"&n))
E : = (wek = TRANSPONUJ(wek))*1
lub bardziej elegancko:
E : = JEELI(wek = TRANSPONUJ(wek); 1; 0)

Wyraenia te najlepiej zdefiniowa, posugujc si formuami nazwanymi za pomoc


polecenia Wstaw/Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj nazw). n musi by
nazw staej zdefiniowanej lub komrki zawierajcej rozmiar macierzy. Nastpnie defi-
niujemy wektor kolumnowy wek i wreszcie macierz E.

W definicji macierzy E wyraenie wek = TRANSPONUJ(wek) (operacja porwnania na da-


nych tablicowych) daje w wyniku tablic o wymiarach nn zawierajc na gwnej prze-
ktnej wartoci logiczne PRAWDA, a w pozostaych komrkach wartoci FASZ. W wyniku
pomnoenia przez sta cakowit 1 nastpi konwersja staych logicznych PRAWDA i FASZ
odpowiednio na 1 i 0. Drugi wariant jest nieco duszy, lecz unika si w nim niejawnej
konwersji typw danych.

Po wykonaniu zwykego mnoenia dowolnej tablicy wierszowej lub kolumnowej o du-


goci n przez macierz jednostkow otrzymamy macierz diagonaln z elementami diago-
nalnymi rwnymi elementom uytej tablicy.

Kolejnym przykadem zastosowania tablic dynamicznych moe by wygenerowanie pla-


nu eksperymentu czynnikowego typu 2k. Jest to jeden z podstawowych planw stoso-
wanych do badania zalenoci midzy rnymi wielkociami. Plan jest tablic, ktra ma
tyle kolumn, ile jest zmiennych niezalenych, oraz jedn dodatkow kolumn wyrazu
wolnego. Liczba wierszy odpowiada liczbie dowiadcze, ktre naley wykona, rwnej 2k.
Wartoci czynnikw s kodowane liczbami 1 lub 1, przy czym chodzi o to, by zrealizowa

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 53

wszystkie moliwe kombinacje tych liczb. Wyjtkiem jest pomocnicza kolumna wyrazu
wolnego, umieszczana zwykle jako pierwsza, ktra zawiera same jedynki. Przykad ta-
kiego planu wygenerowanego dla k = 4 pokazano na rysunku 3.1.

Rysunek 3.1.
Plan cakowitego
eksperymentu
czynnikowego dla
czterech czynnikw,
wygenerowany
za pomoc formuy
tablicowej

Liczb czynnikw umieszczono w komrce C3 i nadano komrce nazw lk. Nastpnie


zdefiniowano dwa wektory jeden wektor wierszowy o nazwie wlk, zawierajcy liczby
od 0 do lk, a drugi wektor kolumnowy o nazwie nlk, zoony z liczb od 1 do 2lk. Defini-
cje tych wektorw maj posta:
wlk : = TRANSPONUJ(WIERSZ(ADR.POR("1:"&lk+1))1
nlk : = WIERSZ(ADR.POR("1:"&2^lk))

Wreszcie w oparciu o wektory wlk i nlk zdefiniowano tablic plan, obejmujc wlk ko-
lumn i nlk wierszy, zawierajc niezbdne kombinacje dodatnich i ujemnych jedynek.
Tablic opisano wzorem:
plan : = 1^ZAOKR.DO.CAK((nlk1)/2^(lkwlk))

Funkcja ZAOKR.DO.CAK zwraca cz cakowit wyniku dzielenia nlk1 przez odpowied-


ni potg dwjki. Jeeli wynik funkcji jest liczb parzyst, formua przyjmuje warto 1,
a jeli liczb nieparzyst formua przyjmuje warto 1. Na rysunku pokazano ca ta-
blic plan oraz wygenerowane na jej podstawie dodatkowe kolumny iloczynw wybra-
nych czynnikw.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


54 Excel w obliczeniach naukowych i inynierskich

Uywanie tablic
generowanych dynamicznie
Tablice takie jak omwiony powyej zakres mog suy jako podstawa definicji innych
tablic przydatnych w obliczeniach. Jeeli w definicji tablicy zakres uyto zmiennej n, ktra
ma aktualnie warto 5, to wyraenie = a+(zakres1)*(ba)/(n1) definiuje kolumn pi-
ciu wartoci rozoonych rwnomiernie pomidzy a i b. Temu wyraeniu mona nada
now nazw, na przykad x. x pozostanie wyraeniem dynamicznym tak dugo, jak dugo
jest pamitane jako nazwa. Kada zmiana wartoci n spowoduje zmian rozmiarw i za-
wartoci x. Jeeli jednak wprowadzimy x do arkusza, wpisujc do komrki lub zakresu
komrek = x i zatwierdzajc przez Enter lub Ctrl+Shift+Enter, ta komrka czy zakres
nie bdzie reprezentowa ju caej tablicy x, a tylko to, co jest wywietlone w arkuszu,
czyli pierwsz lub kilka pierwszych komrek tablicy x. Rozmiar tego obszaru pozostaje
statyczny, czyli nie zmienia si przy zmianie n.

Kada formua tablicowa w danej chwili musi dawa w wyniku tablic o okrelonej wiel-
koci i ksztacie, zalenie od skadowych formuy i zasad wykonywania dziaa. Z for-
mu, take t, ktra reprezentuje tablic dynamiczn, nie jest jednak zwizany aden adres,
w zwizku z tym ani nazwa tablicy dynamicznej, ani nazwa formuy nie moe by argu-
mentem funkcji, ktra wymaga podania adresu, na przykad funkcji PRZESUNICIE.

Jeeli z tablicy dynamicznej lub wyniku formuy tablicowej ma by wyodrbniony pe-


wien fragment, naley posuy si funkcj INDEKS oraz ewentualnie drug tablic dyna-
miczn. Jeeli zdefiniowano zmienn m oraz tablic wyc wedug formuy:
wyc : = WIERSZ(ADR.POR("1:"&m))
a z tablicy x maj by wyodrbnione wyrazy 2., 3. i 4. (drugi, trzeci i czwarty), mona
uy wyraenia:
= INDEKS(x; {2\3\4}) dotyczy wersji 2007 i wczeniejszych
= INDEKS(x; {2;3;4}) dotyczy wersji 2010
lub
= INDEKS(x; wyc+1)
przy zaoeniu, e m ma warto 3.

Jednak przy wykonywaniu operacji sumowania lub innej podobnej operacji agregujcej
(tzn. takiej, w wyniku ktrej otrzymuje si jedn liczb) na elementach tak skonstruowa-
nej tablicy naley zachowa ostrono i zawsze weryfikowa poprawno wyniku.
Excel, niestety, tu nie zawsze dziaa poprawnie. Pomimo zatwierdzenia operacji przez
Ctrl+Shift+Enter formua
= SUMA(INDEKS(x; wyc+1))
podaje nieprawidowy wynik (uwzgldnia tylko pierwszy wyraz). Aby uzyska wynik po-
prawny, trzeba uy sztuczki. Po pierwsze, trzeba zapisa formu na przykad w postaci:
= SUMA(INDEKS(x; wyc+1)*1)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 55

a ponadto wprowadzi j do co najmniej dwch komrek (obojtnie, czy w ukadzie pio-


nowym, czy poziomym).

Zasady interpretacji nazw i adresw


w wyraeniach tablicowych w arkuszu
i w formuach nazwanych
W wyraeniach tablicowych mog wystpowa odwoania (w formie adresw lub nazw)
zarwno do pojedynczych wartoci, jak i tablic oraz zakresw, reprezentujcych zbiory
danych.

Argumentami wyrae tablicowych mog by wymiennie stae tablicowe, zakresy lub ich
nazwy, o ile tylko ich wielkoci s kompatybilne, tzn. odpowiednio dopasowane. Jeeli
wyraenia tablicowe s argumentami funkcji, to mog wystpi nastpujce typowe
sytuacje:
Gdy wywoywana jest funkcja, ktra normalnie (w zwykym wywoaniu) akceptuje
argument w postaci jednej wartoci, to z argumentem w postaci tablicy zwrci
tablic wartoci obliczonych indywidualnie dla kadego elementu argumentu.
Jest tak na przykad przy wywoaniu funkcji LN, SIN, EXP, MODU.LICZBY itp.
Gdy wywoywana jest funkcja, ktra normalnie (w zwykym wywoaniu)
akceptuje dwa niezalene argumenty, to z argumentami w postaci tablic zwrci
tablic wartoci obliczonych dla kadej pary elementw argumentw, tak jak
w przypadku operacji tablicowych z dwoma argumentami. Jest tak na przykad
przy wywoaniu funkcji LOG, POTGA, KOMBINACJE, INDEKS itp.
Gdy wywoywana jest funkcja, ktra zwraca wartoci zagregowane, taka jak
SUMA, REDNIA, ILOCZYN, SUMA.KWADRATW itp., ktra akceptuje argumenty tablicowe
w zwykych wyraeniach, to oczekujemy wyniku w postaci jednej liczby. Jeeli
argumenty s podane wprost (nie wymagaj obliczenia), wynik otrzymujemy
po zatwierdzeniu wyraenia przez Enter. Gdyby zaznaczy zakres na wynik
i zatwierdzi formu jako tablicow, we wszystkich komrkach otrzymamy ten
sam wynik. Jedynie gdy argumenty s wyraeniami tablicowymi wymagajcymi
obliczenia, naley zatwierdzi formu przez Ctrl+Shift+Enter, chocia wynik
bdzie pojedyncz wartoci. Przykadowo jeli zostaa zdefiniowana nazwa
dane w postaci staej tablicowej:
dane: = {3;5\4;6} dotyczy wersji 2007 i wczeniejszych
dane: = {3\5;4\6} dotyczy wersji 2010
to wyraenie = SUMA.KWADRATW(dane) moe by zatwierdzone przez Enter,
lecz wyraenie = SUMA.KWADRATW(dane+1) musi by zatwierdzone przez
Ctrl+Shift+Enter.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


56 Excel w obliczeniach naukowych i inynierskich

Jeeli nadaje si nazw zakresowi komrek w sposb uproszczony (przez Pole nazwy albo
przez Utwrz z zaznaczenia), ta nazwa domylnie oznacza adres absolutny. Z reguy od-
powiada to naszym intencjom, jednak mona zmieni t definicj, edytujc j w Menederze
nazw. Uycie adresw wzgldnych w definicjach nazw zakresw wymaga szczeglnej
starannoci, aby uzyska wyniki zgodne z oczekiwaniami. Interpretacja takiej nazwy
zalee bdzie od tego, ktra komrka bya aktywna w chwili definiowania nazwy, gdy
wzgldem niej bd liczone przesunicia adresw. Wyjani to na przykadzie. Zamy,
e aktywny jest Arkusz1, a w nim aktywna jest komrka C1. Posugujc si Menederem
nazw, definiujemy nazw paraxy wedug wzoru:
paraxy : = Arkusz1!A1:B1

Jeli nie wpiszemy kwalifikatora arkusza, zostanie on dopisany automatycznie. Do aktywnej


komrki mona wpisa formu:
= SUMA.ILOCZYNW({2;3}; paraxy) dotyczy wersji 2007 i wczeniejszych
= SUMA.ILOCZYNW({2\3}; paraxy) dotyczy wersji 2010

Zakadajc, e w komrce A1 bya warto x, a w komrce B1 warto y, w wyniku


w komrce C1 otrzymamy warto wyraenia 2x+3y. Z powodu uycia adresw wzgldnych
ta sama formua wpisana lub skopiowana do innej komrki bdzie pobiera dane do
oblicze z dwch komrek ssiadujcych z lewej strony z komrk zawierajc formu.
Tej formule mona nada nazw sil (w Menederze nazw) i uywa odwoania = sil
zamiast penej formuy. Przykadowo w komrce D8 (dowolnego arkusza skoroszytu)
obliczony zostanie iloczyn 2*Arkusz1!B8+3*Arkusz1!C8. Bieca interpretacja formuy jest
widoczna w Menederze nazw i zmienia si wraz ze zmian komrki aktywnej. Jeli
chcielibymy uywa nazwy zakresu w rnych arkuszach skoroszytu, ale w taki sposb,
eby bra pod uwag komrki z arkusza, w ktrym nazwa jest uywana, naley j
zdefiniowa jako:
paraxy : = !A1:B1

Analogicznie interpretowane jest uycie adresw mieszanych.

Wielko obszaru, ktry naley zarezerwowa na wynik formuy tablicowej, wynika z wiel-
koci argumentw i rodzaju wykonywanych operacji, zgodnie z zasadami podanymi na
pocztku tego rozdziau. Jeeli obszar zarezerwowany na wynik jest zbyt may, widoczne
bd pocztkowe wiersze i pocztkowe kolumny wyniku. Pojedyncza komrka oznacza
lewy grny rg obszaru, pojedynczy wiersz oznacza grny wiersz, pojedyncza kolumna
oznacza lew kolumn itd. Jeeli obszar przeznaczony na wynik bdzie zbyt duy w nad-
miarowych komrkach pojawi si komunikat bdu #N/D!. Warto zwrci uwag, e wy-
stpuje tu pewna odmienno w stosunku do kopiowania formu. Jeli obszar przeznaczony
na wynik jest wielokrotnoci kopiowanego zakresu, zostaje on powielony.

Jeeli wynik operacji tablicowej chcemy przefiltrowa, wybierajc z niego niektre wiersze
i niektre kolumny, musimy zastosowa funkcj INDEKS(nazwa_obszaru; nr_wiersza;
nr_kolumny) z argumentami w postaci tablic. Szczegowy opis tej funkcji zamieszczono
wczeniej w tym rozdziale.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 57

Odwoania strukturalne w tabelach


W Excelu w wersji 2007 nadano pojciu tablicy nowe znaczenie, aby uatwi prac z nie-
wielkimi bazami danych. W tym znaczeniu uywany jest termin tabela. Jzykowo tabela
niewiele rni si od tablicy, ale tu niezbdne jest precyzyjne rozrnienie tych poj.
Wszystko, co dotychczas napisaem o tablicach i operacjach na nich, odnosi si zarwno
do zakresw, jak i do tabel z Excela 2007 i 2010. Tabele udostpniaj jednak dodatkow
funkcjonalno, specyficzn tylko dla nich. Po zadeklarowaniu, e wybrany zakres ko-
mrek ma by traktowany jak tabela, Excel udostpnia uatwienia w dostpie i przetwa-
rzaniu danych umieszczonych w tej tabeli. Prekursorem tabel z Excela 2007 byy listy
wprowadzone w Excelu 2003. Poniewa jednak listy funkcjonoway efemerycznie (tylko
w jednej wersji arkusza), nie warto si nimi bliej zajmowa. Natomiast koncepcja tabel
z Excela 2007 zostaa utrzymana w wersji 2010, mona zatem sdzi, e bdzie to ju
trway element programu.

Prac z tabel mona zacz od zadeklarowania zakresu pustych komrek, do ktrych


pniej bd wprowadzane dane, lub najpierw wprowadzi dane, a nastpnie sformato-
wa wybrany zakres komrek jako tabel. W tym celu naley z karty Wstawianie wybra
Tabela, a nastpnie w okienku dialogowym wskaza zakres komrek tabeli. Alternatyw-
nie (jeeli dane do tabeli zostay wprowadzone wczeniej albo przenosimy arkusz z wcze-
niejszej wersji do Excela 2007 lub 2010) mona zaznaczy zakres komrek, ktry ma
by przeksztacony w tabel, i z karty Narzdzia gwne/Style wybra Formatuj jako tabel.
Jeeli w pierwszym wierszu tabeli umieszczono ju nagwki (nazwy) kolumn, naley
zaznaczy pole Moja tabela ma nagwki. W przeciwnym razie nie zaznacza si tego pola,
a Excel nada kolumnom domylne nazwy Kolumna1, Kolumna2 itd. Nazwy te mona w kadej
chwili zmodyfikowa, gdy stanowi one normaln zawarto komrek. Gdy pierwszy
wiersz tabeli nie zosta zadeklarowany jako nagwkowy, Excel, dodajc nagwki do-
mylne, przesuwa wiersze z danymi (lub wiersze przeznaczone na dane) w d. W ten
sposb utworzona tabela ma zawsze wiersz nagwkowy.

Po zdefiniowaniu tabeli uaktywnia si automatycznie karta Narzdzia tabel/Projektowanie,


ktra umoliwia zmian nazwy caej tabeli (domylnie kolejne tabele w skoroszycie otrzy-
muj nazwy Tabela1, Tabela2 itd.) oraz nadanie tabeli podanego wygldu (stylu). Aby
zmieni nazw tabeli, mona uy okna dialogowego Edytowanie nazwy (na karcie Pro-
jektowanie w grupie Waciwoci edycja nazwy tabeli w polu Nazwa tabeli). Pod ostatnim
wierszem tabeli mona doda wiersz podsumowania, w ktrym bdzie wywietlana obli-
czona oddzielnie dla kadej kolumny funkcja podsumowujca (wybrana przez uytkow-
nika z listy dostpnych funkcji, takich jak SUMA, REDNIA, MAX, MIN itp.) W tabeli automa-
tycznie wcza si Filtr, co powoduje, e w wierszu nagwkowym w kadej komrce
pojawia si ikonka z trjktem (strzak). Filtr ten mona jednak atwo wyczy, jeli
nie bdzie potrzebny. Sposb dziaania filtra oraz moliwoci jego wykorzystania opisano
dokadniej w rozdziale 21. Proste bazy danych. Jeeli wybrana komrka znajduje si
w obrbie tabeli, pojawiaj si dodatkowe moliwoci dodawania i usuwania wierszy
w tabeli (a nie tylko w caym arkuszu). Ponadto po wprowadzeniu w pustej kolumnie
formuy do dowolnej komrki formua ta jest domylnie kopiowana do wszystkich
komrek kolumny (jest to tzw. kolumna obliczeniowa). Podobna akcja jest podejmowana
w przypadku modyfikacji formuy, ktra zostaa wczeniej automatycznie skopiowana.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


58 Excel w obliczeniach naukowych i inynierskich

Akcj t mona jednak anulowa, jeli nie jest podana. Poza tym jeli w komrkach
kolumny s ju jakie inne dane, kopiowanie formuy nie jest ju akcj domyln (moe
nastpi na danie).

Najistotniejsz zmian, jak wprowadza zdefiniowanie tabeli, jest moliwo stosowania


odwoa strukturalnych do kolumn i wyrnionych wierszy. Odwoania te mog by
stosowane zarwno w obrbie tabeli, jak i poza ni. Generalnie w odwoaniach struktu-
ralnych wykorzystuje si nazwy tabel, kolumn i wierszy specjalnych zamiast ich adresw.
Zasad odwoa strukturalnych jest umieszczanie nazw kolumn i wierszy w nawiasach
kwadratowych. Poza tym w formuach mona stosowa wszystkie inne elementy stan-
dardowo dostpne w Excelu.

Reguy skadni odwoa strukturalnych


Odwoanie strukturalne skada si z nazwy tabeli (opcjonalnie) i specyfikatora tabeli. Spe-
cyfikator tabeli stanowi ujt w nawiasy kwadratowe list specyfikatorw wierszy i ko-
lumn, poczonych operatorami odwoania. Nazwy tabel podlegaj tym samym reguom
co nazwy zdefiniowane. Wicej informacji o zasadach stosowania nazw mona znale
w rozdziale 2. Podstawowe operacje w arkuszu. Specyfikatory wierszy i kolumn s
nazwami ujtymi w nawiasy kwadratowe [ ]. Nazwy odnoszce si do wierszy nie mog
by dowolne s one predefiniowane i zostan podane dalej. Nazwy (nagwki) kolumn
mog by dowolnymi staymi tekstowymi. W odwoaniach strukturalnych uywa si ich
bez cudzysowu. Nagwki kolumn mog by rwnie liczbami traktowanymi jak tekst.
Ponadto jeli nagwek kolumny zawiera lewy lub prawy nawias kwadratowy ([ lub ]),
znak krzyyka (#) lub pojedynczy cudzysw ('), to w odwoaniu naley je poprzedzi
dodatkowym pojedynczym cudzysowem. Najlepiej jednak korzysta z podpowiedzi
systemu (funkcja autouzupeniania formu opisana dokadniej w pliku pomocy Excela[15]).
Podczas wpisywania odwoania po wprowadzeniu nawiasu kwadratowego otwierajcego
s wywietlane nazwy wszystkich kolumn i wystarczy klikn waciw.

Specyfikator tabeli zawierajcy inne specyfikatory wymaga uycia nawiasw zewntrz-


nych obejmujcych nawiasy wewntrzne innych specyfikatorw. Jeeli jednak specyfi-
kator tabeli skada si tylko z jednego specyfikatora wiersza lub kolumny, zewntrzne
nawiasy mona pomin.

Elementy skadowe tabeli


Pena struktura tabeli obejmuje wiersz nagwkowy zoony z nagwkw kolumn, ktry
istnieje zawsze, ale nie musi by wywietlany (to zaley od uytkownika naley za-
znaczy lub odznaczy odpowiednie pole w Opcjach stylu tabeli na karcie Projektowanie),
wiersze danych tabeli oraz opcjonalny wiersz podsumowania. Jeeli w odwoaniu uy-
jemy samej nazwy tabeli, bdzie to odwoanie tylko do zakresu danych tabeli (bez na-
gwka i ewentualnego wiersza podsumowania). Jeeli uyjemy samego specyfikatora
kolumny, bdzie to odwoanie do zakresu danych tej kolumny (jak poprzednio bez na-
gwka i ewentualnego wiersza podsumowania). Jeeli uyjemy tylko specyfikatora wier-
sza (bd wierszy) bdzie to odwoanie do wskazanego obszaru, obejmujcego
wszystkie kolumny tabeli.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 59

Predefiniowane specyfikatory wierszy


Specyfikatory wierszy pozwalaj odwoywa si do wskazanych czci tabeli, na przykad
do wiersza podsumowania. Niestety uytkownik nie ma tu adnej swobody mona uy-
wa tylko kilku predefiniowanych specyfikatorw. W tabeli 3.1 przedstawiono ich wykaz.

Tabela 3.1. Wykaz predefiniowanych specyfikatorw wierszy


Specyfikator wiersza: Odwoanie do:
[#Wszystko] Caa tabela wcznie z nagwkami kolumn, danymi i podsumowaniami
(jeli istniej)
[#Dane] Tylko dane. To samo co odwoanie do tabeli bez specyfikatora
[#Nagwki] Tylko wiersz nagwkowy
[#Sumy] Tylko wiersz podsumowania. Jeli wiersz ten nie istnieje, zwracana jest
warto bdu #ADR!
[#Ten wiersz] Tylko cz kolumn w biecym wierszu. Tego specyfikatora nie mona czy
@ przed nazw kolumny z adnymi innymi specyfikatorami wierszy. Pierwszy wariant jest uywany
w Excelu 2007, a drugi wariant w Excelu 2010. Excel 2010 akceptuje jednak
rwnie skadni wersji poprzedniej, automatycznie dokonujc konwersji,
podobnie Excel 2007 automatycznie konwertuje skadni wersji 2010

Operatory odwoania
Specyfikatory kolumn mona czy za pomoc operatorw odwoania zaprezentowa-
nych w tabeli 3.2.

Tabela 3.2. czenie specyfikatorw kolumn za pomoc operatorw odwoania


Odwoanie strukturalne: Operator: Odwoanie do:
=Tabela1[[Kol1]:[Kol3]] : (dwukropek) operator zakresu Wszystkie komrki w dwch lub
kilku ssiadujcych kolumnach
=Tabela1[Kol1];Tabela1[Kol3] ; (rednik) operator skadania Zoenie dwch lub kilku kolumn
=Tabela1[[Kol1]:[Kol4]] (spacja) operator przecicia Cz wsplna dwch lub kilku
Tabela1[[Kol2]:[Kol5]] kolumn

Specyfikatory wierszy i kolumn w polskiej wersji Excela oddziela si rednikami ;.


Wyjtkiem jest specyfikator biecego wiersza @ wprowadzony w Excelu 2010
ktry jest umieszczany bezporednio przed nazw kolumny lub zakresu kolumn.

Odwoania strukturalne kwalifikowane


i niekwalifikowane
Przy tworzeniu formu obliczeniowych w tabeli mona pomija jej nazw, gdy od-
woanie dotyczy wanie tej tabeli. Tego rodzaju odwoanie okrela si jako niekwali-
fikowane. W odrnieniu od niego odwoanie kwalifikowane, czyli z nazw tabeli,
musi by stosowane, gdy odwoujemy si do danych tabeli spoza niej.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


60 Excel w obliczeniach naukowych i inynierskich

Przykady tego rodzaju odwoa zestawiono w tabeli 3.3.

Tabela 3.3. Przykady odwoa


Typ odwoania strukturalnego Przykad
Niekwalifikowane =[Kol1]*[Kol3]
Kwalifikowane =Tabela1[Kol1]*Tabela1[Kol3]

Kade z powyszych odwoa uyte w zwykym wyraeniu oznacza mnoenie odpo-


wiednich wartoci z biecego wiersza. Ale interpretacja ta ulega zmianie, gdy uyje si
na przykad funkcji SUMA. Wyraenie =SUMA([Kol1])*[Kol3] oznacza sum wszystkich war-
toci z kolumny Kol1 pomnoon przez warto z biecego wiersza kolumny Kol3. Po-
dobnie byoby w przypadku uycia odwoania kwalifikowanego.

Przykady uycia odwoa strukturalnych


W tabeli 3.4 przytoczono kilka przykadw ilustrujcych sposoby uywania rnego ro-
dzaju specyfikatorw oraz czenia ich z nazwami tabel i odwoa do kolumn.

Tabela 3.4. Przykady uycia odwoa strukturalnych


Odwoanie strukturalne: Odwoanie do:
=Tabela1[[#Wszystko];[Kol2]] Wszystkie komrki w kolumnie Kol2
=Tabela1[[#Nagwki];[Kol2]] Nagwek kolumny Kol2
=Tabela1[#Nagwki] Nagwek w kolumnie biecej Tabeli1
=Tabela1[[#Sumy];[Kol3]] Podsumowanie kolumny Kol3. Jeli nie ma wiersza
podsumowania, jest zwracana warto bdu #ADR!
=Tabela1[[#Wszystko];[Kol1]:[Kol3]] Wszystkie komrki w kolumnach od Kol1 do Kol3
=Tabela1[[#Dane];[Kol1]:[Kol3]] Tylko dane w kolumnach od Kol1 do Kol3
=Tabela1[[#Nagwki];[Kol1]:[Kol3]] Tylko nagwki kolumn od Kol1 do Kol3
=Tabela1[[#Sumy];[Kol1]:[Kol3]] Podsumowania kolumn od Kol1 do Kol3. Jeli nie ma
wiersza podsumowania, jest zwracana warto bdu #ADR!
=Tabela1[[#Nagwki];[#Dane];[Kol2]] Tylko nagwek i dane kolumny Kol2
=Tabela1[[#Ten wiersz];[Kol2]] Komrka na przeciciu biecego wiersza i kolumny Kol2
=Tabela1[@Kol2] (w Excelu 2010)
=Tabela1[Kol2] W zwykym odwoaniu komrka z biecego wiersza
w kolumnie Kol2. Jako argument funkcji SUMA i podobnych
reprezentuje wszystkie elementy danych kolumny Kol2

Jeeli w specyfikatorze tabeli wystpuj specyfikatory zarwno kolumn, jak i wierszy,


to specyfikatory wierszy powinny by wymienione w pierwszej kolejnoci. Zamiana tej
kolejnoci nie prowadzi jednak do bdu, poniewa program automatycznie to skoryguje.

Uycie rednika jako operatora skadania w odniesieniu do kolumn tabeli jest poprawne
tylko w odwoaniach kwalifikowanych. Przykadowo poprawne jest odwoanie:
=Tabela1[Kol1];Tabela1[Kol3]

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 61

natomiast odwoanie:
=Tabela1[[Kol1];[Kol3]]
byoby niepoprawne.

Praca z odwoaniami strukturalnymi


Zewntrzne odwoania strukturalne
Odwoania strukturalne obowizuj w caym skoroszycie. Jeeli w biecym skoroszycie
chcemy odwoa si do tabeli z innego arkusza, robimy to bezporednio bez kwalifi-
katora arkusza, jak to jest wymagane w przypadku zwykych odwoa. Natomiast od-
woanie do tabeli z poziomu innego skoroszytu wymaga uycia kwalifikatora pliku
skoroszytu na przykad w postaci:
=Zeszyt1.xlsx!Tabela1[Kol2]

Odwoanie to jest poprawne, pod warunkiem e skoroszyt Zeszyt1 jest otwarty. W prze-
ciwnym razie naley poda pen ciek dostpu do pliku, jak w przypadku innych
odwoa zewntrznych.

Korzystanie z funkcji autouzupeniania formu


Funkcja autouzupeniania formu jest bardzo przydatna podczas wprowadzania odwoa
strukturalnych. Zapewnia ona take prawidow skadni. Domylnie podczas tworzenia
formuy kliknicie zakresu komrek w tabeli powoduje automatyczne wprowadzenie
odwoania strukturalnego zamiast zakresu komrek w formule. Takie zachowanie uatwia
wprowadzanie odwoa strukturalnych. Moe ono by wczane i wyczane przez za-
znaczenie lub wyczyszczenie pola wyboru Uyj nazw tabel w formuach w sekcji Praca
z formuami w kategorii Formuy w oknie dialogowym Opcje programu Excel (w wersji
2007) lub Opcje (w wersji 2010).

Ukrywanie nagwkw kolumn


Ukrycie nagwkw kolumn tabeli (na karcie Projektowanie w grupie Opcje stylu tabeli
naley wyczyci pole wyboru Wiersz nagwka) nie wpywa na odwoania strukturalne
uywajce tych nagwkw i mona ich w dalszym cigu uywa w formuach.

Dodawanie oraz usuwanie kolumn i wierszy w tabeli


Zakresy danych tabeli czsto ulegaj zmianie, jednake odwoania do komrek w przy-
padku odwoa strukturalnych s dopasowywane automatycznie.

Zmienianie nazwy tabeli lub kolumny


Jeli zostanie zmieniona nazwa tabeli lub kolumny, to we wszystkich uywajcych tej na-
zwy odwoaniach strukturalnych w skoroszycie zostan automatycznie wprowadzone
zmiany.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


62 Excel w obliczeniach naukowych i inynierskich

Przenoszenie, kopiowanie i wypenianie odwoa strukturalnych


Wszystkie odwoania strukturalne pozostaj bez zmian po skopiowaniu lub przeniesieniu
formuy uywajcej odwoania strukturalnego (za pomoc klawiatury Ctrl+C lub Ctrl+X,
nastpnie Ctrl+V albo klikajc myszk Kopiuj lub Wytnij, a potem Wklej, albo przeci-
gajc myszk zaczepion na krawdzi komrki).

Podczas wypeniania zakresu formu strukturaln (myszk z czarnym plusem) nastpuje


dopasowanie specyfikatorw kolumn, tak jak w przypadku odwoa wzgldnych.

Odwoania do wybranych elementw tabeli


za pomoc funkcji INDEKS i PRZESUNICIE
Same odwoania strukturalne nie pozwalaj na dostp do dowolnego elementu tabeli. Jest
to moliwe dopiero w poczeniu z jedn z funkcji INDEKS lub PRZESUNICIE. Zasady uy-
cia tych funkcji omwiono wczeniej w tym rozdziale, w podrozdziale Odwoania do
elementw lub fragmentw tablic. Argumentem funkcji moe by caa tabela albo jej
okrelony fragment. Poniej podano kilka przykadw:
=INDEKS(Tabela1[Kol3];2)
zwraca drugi element kolumny Kol3 w Tabeli1,
=INDEKS(Tabela1;2;0)
zwraca drugi wiersz danych Tabeli1,
=INDEKS(Tabela2[#Nagwki];LICZBA.KOLUMN(Tabela2)1)
zwraca nagwek przedostatniej kolumny w Tabeli2,
=PRZESUNICIE(Tabela2[[#Ten wiersz];[Kol2]];1;1)
lub =PRZESUNICIE(Tabela2[@Kol2];1;1) (w wersji Excela 2010)
zwraca warto z wiersza poniej biecego i z kolumny nastpnej po Kol2
w Tabeli2.

Uywanie formu tablicowych w tabelach


W tabelach dopuszczalne jest uycie jedynie formu tablicowych zwracajcych wynik
w jednej komrce. Wielokomrkowe formuy tablicowe s niedozwolone. Natomiast
poza tabel nie ma ogranicze w uywaniu odwoa strukturalnych w formuach ta-
blicowych.

Uywanie znaku spacji w celu poprawienia


czytelnoci odwoania strukturalnego
W celu poprawienia czytelnoci odwoania strukturalnego dopuszczalne jest uycie jed-
nej spacji po pierwszym lewym nawiasie kwadratowym ([), jednej spacji poprzedzajcej
ostatni prawy nawias kwadratowy (]) oraz jednej spacji po redniku, na przykad:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 3. Operacje i funkcje tablicowe 63

=Tabela1[ [Kol2]:[Kol4] ]
=Tabela1[[#Nagwki]; [#Dane]; [Kol3]]

Konwertowanie zakresu na tabel i tabeli na zakres


Po zakoczeniu pracy z tabel mona skonwertowa j z powrotem na zakres. W tym celu
naley umieci kursor w obrbie tabeli i na karcie Projektowanie w grupie Narzdzia
wybra ikon Konwertuj na zakres. Podczas konwertowania tabeli na zakres wszystkie
odwoania do komrek s zamieniane na rwnowane im odwoania typu A1. Wygld tabeli
po konwersji jest prawie niezmieniony: znikaj tylko znaczniki filtrw z wiersza nagw-
kowego (o ile nie zostay wczeniej wyczone przez uytkownika) i ledwie widoczny
znacznik koca tabeli w jej prawym dolnym rogu.

W razie potrzeby ponownej konwersji zakresu na tabel (jak to zrobi, pisaem na pocztku
tego podrozdziau) naley pamita, e adne odwoania do komrek w tym zakresie nie
s automatycznie zamieniane na rwnowane im nazwy tabel i odwoania do kolumn.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


64 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 4.
Tablicowanie funkcji
jednej i dwu zmiennych

Funkcje jednej zmiennej


Typowym zagadnieniem rozwizywanym w arkuszu kalkulacyjnym jest tworzenie tablic
funkcji jednej lub dwu zmiennych. Tablica funkcji jednej zmiennej moe by zoriento-
wana poziomo (wierszowo) lub pionowo (kolumnowo). Tu ograniczymy si do tablicy
pionowej. Tablice poziome tworzy si analogicznie. Tablica skada si z dwch kolumn,
z ktrych pierwsza zawiera list wartoci argumentw (umownie x-w), a druga list
powizanych wartoci funkcji (umownie y-w). Zakadamy, e zaleno y = f(x) jest
dana w sposb jawny, czyli okrelona znanym wzorem. Jako przykad wemiemy funkcj
(1+exp(x))/(2+x2), ktr chcemy stablicowa w przedziale x [2, 3] z krokiem 0,5.

W przypadku bardziej zoonych zalenoci trzeba niekiedy oblicza funkcje pomocnicze


i wtedy niezbdne moe by zaangaowanie wikszej liczby kolumn do oblicze. Jed-
nake obliczenia dla jednej wartoci argumentu x powinny zmieci si w jednym wierszu.

Naley rozpocz od stworzenia listy wartoci argumentu w wybranej kolumnie. Z reguy


kolumn t umieszczamy po lewej stronie, a kolumn wartoci funkcji po prawej. Jeli
pniej na podstawie utworzonej tablicy ma powsta wykres funkcji, wartoci argumen-
tw powinny zmienia si monotonicznie (albo w porzdku rosncym, albo malejcym).
Jeli x-y zmieniaj si nieregularnie, naley wpisa je wszystkie z klawiatury. Jeli two-
rz cig arytmetyczny (kada kolejna warto rni si od poprzedniej o ten sam przy-
rost), mona sobie uatwi zadanie. Wystarczy wpisa dwie pierwsze wartoci (w naszym
przykadzie 2 i 1,5), zaznaczy je, umieci kursor myszy w prawym dolnym rogu za-
znaczenia i gdy przyjmie ksztat czarnego krzyyka, przecign myszk w d a do
wypenienia caego zakresu x-w. Inny sposb wypenienia zakresu x-w to wpisa war-
to pocztkow (w naszym przykadzie 2) do grnej komrki zakresu (np. komrki A5),
nastpnie do komrki poniej wpisa formu = A5+przyrost, gdzie przyrost jest
sta okrelajc, o ile maj si zmienia wartoci x-w (w naszym przykadzie 0,5).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


66 Excel w obliczeniach naukowych i inynierskich

Moe to by liczba, adres absolutny komrki zawierajcej t warto, wreszcie nazwa


staej. Nastpnie t formu naley skopiowa w d do wszystkich komrek zakresu.

Istnieje kilka sposobw utworzenia kolumny wartoci funkcji y = f(x). Omwione zostan
kolejno.

a) Wykorzystanie formuy z adresem wzgldnym lub mieszanym.

Obok pocztkowej komrki w kolumnie x-w wprowadzamy formu f(x) odwoujc si


do wartoci x przez adres wzgldny, ewentualnie adres mieszany z oznaczeniem kolumny
poprzedzonym znakiem $. Nastpnie formu kopiujemy w d a do wypenienia caej tabeli.
W naszym przykadzie do komrki B5 wprowadzamy formu = (1+EXP(A5))/(2+A5^2)
lub = (1+EXP($A5))/(2+$A5^2) i kopiujemy j w d.

b) Wykorzystanie formuy z nazw zakresu x-w.

Zaznaczamy zakres x-w i klikamy myszk pole nazwy. Wpisujemy nazw zakresu na
przykad x i zatwierdzamy klawiszem Enter. Obok pocztkowej komrki w kolumnie x-w
wprowadzamy formu f(x) odwoujc si do wartoci x przez nazw zakresu. Nastpnie
formu kopiujemy w d a do wypenienia caej tabeli. W naszym przykadzie do ko-
mrki B5 wprowadzamy formu = (1+EXP(x))/(2+x^2) i kopiujemy j w d. Metody tej
nie mona stosowa, gdy formua zawiera funkcje inynierskie wywodzce si z dodatku
Analysis Toolpak.

c) Wykorzystanie formuy z nazw pierwszej komrki zakresu x-w.

Zaznaczamy pierwsz komrk zakresu x-w i klikamy myszk pole nazwy. Wpisujemy
nazw komrki na przykad x.(z kropk) i zatwierdzamy klawiszem Enter. Obok poczt-
kowej komrki w kolumnie x-w wprowadzamy formu f(x.) odwoujc si do nazwy x..
Z menu wybieramy Wstaw/Nazwa/Definiuj (od wersji 2007 Meneder nazw) i edytujemy
definicj x. tak, aby zmieni odwoanie absolutne na wzgldne, ewentualnie mieszane
z oznaczeniem kolumny poprzedzonym znakiem $. Przed edycj adresu w oknie dialo-
gowym dogodnie jest nacisn klawisz F2, aby moliwe byo uywanie klawiszy ze
strzakami. Nastpnie formu kopiujemy w d a do wypenienia caej tabeli. W naszym
przykadzie do komrki B5 wprowadzamy formu = (1+EXP(x.))/(2+x.^2) i kopiujemy
j w d.

d) Wykorzystanie formuy tablicowej z nazw zakresu x-w.

Zaznaczamy zakres x-w i klikamy myszk pole nazwy. Wpisujemy nazw zakresu, na
przykad xx, i zatwierdzamy klawiszem Enter. Zaznaczamy zakres wartoci funkcji w ko-
lumnie obok zakresu x-w. W polu formuy wprowadzamy wyraenie f(xx) odwoujce si
do wartoci x przez nazw zakresu. W naszym przykadzie jest to = (1+EXP(xx))/(2+xx^2).
Nastpnie zatwierdzamy formu tablicow klawiszami Ctrl+Shift+Enter. Metody tej
nie mona stosowa, gdy formua zawiera funkcje inynierskie wywodzce si z dodatku
Analysis Toolpak.

Metody opisane w podpunktach b) i d) s na pierwszy rzut oka podobne, ale wykorzystuj


inne mechanizmy odwoa, co ma te praktyczne konsekwencje. W metodzie b) stosuje
si odwoanie do zakresu w zwykym wyraeniu, opisane w rozdziale 2., w podrozdziale

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 4. Tablicowanie funkcji jednej i dwu zmiennych 67

Zasady interpretacji nazw i adresw w wyraeniach w arkuszu i w formuach nazwa-


nych. W tym przypadku odwoanie (warto funkcji) musi znajdowa si w tym samym
wierszu, co i warto argumentu, ale mona oblicza tylko niektre (dowolnie wybrane)
wartoci funkcji. W metodzie d) stosuje si formu tablicow, ktra moe by umiesz-
czona w dowolnym miejscu arkusza (a wic wartoci argumentu i funkcji nie musz by
w tym samym wierszu), ale zakresy argumentw i wartoci funkcji powinny sobie od-
powiada, wic musimy wywietli wszystkie kolejne wartoci funkcji od odpowiadajcej
pierwszej wartoci argumentu. Zakoczy mona w dowolnym miejscu, mona wic po-
min kocowe wartoci funkcji, ale nie da si robi przerw w rodku zakresu.

e) Wykorzystanie specjalnej procedury tworzenia tabeli funkcji jednej zmiennej.

Wpisujemy formu funkcji w komrce po prawej stronie pierwszego argumentu (B5).


Formua odwouje si do komrki wejciowej, ktr jest pierwsza komrka z listy ar-
gumentw (A5). Zaznaczamy zakres komrek obejmujcy dwie kolumny: x-w i war-
toci funkcji. W starszych wersjach arkusza w menu Dane klikamy polecenie Tabela.
Od wersji 2007 na karcie Dane w grupie Narzdzia danych klikamy przycisk Analiza
symulacji (w wersji 2010 Analiza warunkowa), a nastpnie polecenie Tabela danych.
W okienku dialogowym wskazujemy komrk wejciow w polu Kolumnowa komr-
ka wejciowa i akceptujemy polecenie przyciskiem OK.

Dziki zastosowaniu tej metody mona obliczy kilka wartoci rnych funkcji zale-
nych od tego samego argumentu. Odpowiednie formuy umieszcza si w kolejnych ko-
lumnach. Formuy mog by zoone i odwoywa si rwnie do innych komrek z wy-
nikami oblicze porednich. Kolumna argumentu x moe by tylko jedna. Jeeli potrzeba
uy kilku argumentw, naley je umieci w tablicy i odwoywa si do nich jak do
elementw tablicy, traktujc jako x na przykad numer wiersza. W kolumnie x-w po-
winny by tylko wartoci stae. Umieszczenie tam odwoa lub wyrae moe prowadzi
do bdnych wynikw.

Analogicznie dane do oblicze mog mie ukad wierszowy i wwczas w poleceniu Tabela
(lub Tabela danych od wersji 2007) wypeniamy pole Wierszowa komrka wejciowa.

Ten sposb tablicowania jest jedynym moliwym, jeeli formuy definiujce funkcj nie
mieszcz si w jednym wierszu lub w jednej kolumnie; jest te wygodny, gdy formua
funkcji zaley od wartoci x porednio poprzez inn formu nazwan, zdefiniowan
w Menederze nazw. Odpowiedni przykad podany bdzie dalej, w rozdziale 7. Obliczanie
caek oznaczonych, i zilustrowany na rysunku 7.4.

f) Wykorzystanie tabeli udostpnionej w Excelu od wersji 2007.

W wersji 2007 i 2010 mona zastosowa jeszcze jedn metod tworzenia tablicy wartoci
funkcji. Jest to modyfikacja metody opisanej w punkcie a) po zadeklarowaniu tabeli
obejmujcej zakresy x-w i y-w. Naley zacz od umieszczenia nagwkw nad ko-
lumn wartoci x-w i planowan kolumn y-w, w naszym przykadzie w komrkach
A4 i B4. Mog to by dowolne teksty, na przykad x i y (bez cudzysoww). Nagwki
w rnych tabelach mog si powtarza. Nastpnie naley zadeklarowa tabel jednym
z dwu sposobw opisanych w rozdziale 3. Operacje i funkcje tablicowe albo z karty
Wstawianie wybra Tabela, a nastpnie w okienku dialogowym wskaza zakres komrek

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


68 Excel w obliczeniach naukowych i inynierskich

tabeli, albo zaznaczy zakres komrek, ktry ma by przeksztacony w tabel i z karty


Narzdzia gwne/Style wybra Formatuj jako tabel. Poniewa w pierwszym wierszu
tabeli umieszczono ju nagwki (nazwy) kolumn, naley zaznaczy pole Moja tabela ma
nagwki. Gdy tabela jest ju aktywna w dowolnej komrce kolumny y-w, na przykad
w komrce B5, naley wpisa formu funkcji w jednym z trzech wariantw:
Formu = (1+EXP(A5))/(2+A5^2) lub = (1+EXP($A5))/(2+$A5^2), stosujc
adres wzgldny lub mieszany odpowiedniej komrki z kolumny x-w.
Formu = (1+EXP([x]))/(2+[x]^2), stosujc nagwek kolumny x-w ujty
w nawiasy kwadratowe.
T sam formu, z tym e zamiast wpisywa adres komrki x-w, klikamy myszk
odpowiedni komrk w komrce y-w pojawi si w zalenoci od uytej
wersji Excela formua z kwalifikowanymi (2007) lub niekwalifikowanymi (2010)
odwoaniami do komrki x-w. Jeeli zadeklarowana tabela bya pierwsz
w skoroszycie, bdzie to:
w wersji 2007: = (1+EXP(Tabela1[[#Ten wiersz];[x]]))/(2+Tabela1
[[#Ten wiersz];[x]]^2)
w wersji 2010: = (1+EXP([@x]))/(2+[@x]^2)

W kadym przypadku formua zostanie automatycznie skopiowana do wszystkich kom-


rek zakresu y-w.

Utworzenie tablicy funkcji jednej zmiennej stanowi pierwszy etap wykonania wykre-
su funkcji danej wzorem. Do tego zagadnienia powrcimy przy omawianiu wykresw
(w rozdziale 5.).

Funkcja jednej zmiennej okrelona


w sposb niejawny (uwikany)
Czasem zaleno funkcyjna midzy zmiennymi nie jest okrelona bezporednio za po-
moc formuy y = f(x), lecz w postaci rwnania typu g(x, y) = 0. Mwimy wtedy, e za-
leno ta jest okrelona w sposb niejawny albo uwikany. Jeeli potrzebny jest zestaw
par wartoci (x, y) na przykad do wykonania wykresu, staramy si rozwika to rwnanie
ze wzgldu na jedn ze zmiennych, czyli wyznaczy jawn posta funkcji y = f(x) lub
funkcji odwrotnej x = f1(y). Ta funkcja moe by rwnie wykorzystana do uzyskania
par (x, y), z t rnic, e wybieramy dowolne wartoci y i dla nich okrelamy odpo-
wiednie x.

Przykadowo rwnanie
x*y+ln(y) = x+1
nie daje si rozwika ze wzgldu na y, lecz atwo mona z niego wyznaczy x
x = (1ln(y))/(y1)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 4. Tablicowanie funkcji jednej i dwu zmiennych 69

Jeeli nie jest moliwe wyznaczenie ani y, ani x, trzeba sprawdzi inne moliwoci
uproszczenia rwnania, na przykad przez podstawienie. Czasem rwnanie da si zapisa
w postaci g(z) = 0, gdzie z jest jak prost funkcj x i y, na przykad z = x+y albo z = x/y
itp. W takim przypadku naley rozwiza rwnanie g(z) = 0 za pomoc jednej z metod
opisanych w rozdziale 12. Rozwizywanie rwna nieliniowych, a po znalezieniu tego
rozwizania zastpi rwnanie g(x, y) = 0 jego now uproszczon wersj, zgodn z doko-
nanym podstawieniem. Z tego rwnania powinno si da atwo wyznaczy x lub y, co
umoliwi tabelaryzacj funkcji.

Przykadem moe tu by rwnanie


x2*y2 = ln(x)+ln(y)+2
ktre nie daje si rozwika ani ze wzgldu na x, ani ze wzgldu na y. Jednak przez
podstawienie t = x*y mona sprowadzi je do postaci
t2 = ln(t)+2

Rwnanie to ma dwa pierwiastki t1 = 0,1379 oraz t2 = 1,564

Zatem dla kadej wartoci x istniej dwie wartoci y, ktre speniaj nasze rwnanie:
y1 = t1/x oraz y2 = t2/x.

Kolejna moliwo to wprowadzenie takiej zmiennej pomocniczej z, aby rwnanie dao


si przedstawi w postaci parametrycznej x = f(z) i y = g(z). Przykadowo rwnanie:
x/y+ln(x*y) = 2
przez podstawienie z = x*y daje si przedstawi w postaci:
x = pierwiastek(z*(2ln(z))) i y = z/x.

Symbol jest umowny chodzi o dwie funkcje: jedn ze znakiem + i drug ze znakiem .

Teraz zmieniajc z w jego zakresie zmiennoci (w tym przykadzie od 0 do EXP(2)),


mona wyznaczy odpowiadajce sobie pary wartoci x i y.

Jeeli adna z powyszych moliwoci nie da si zrealizowa, pozostaje rozwizanie


numeryczne w kilku wybranych punktach. Naley wytypowa kilka wartoci zmiennej
x = x1, x2, , xn i po podstawieniu ich do oryginalnego rwnania g(xi, y) = 0 znale
rozwizania yi dla kadej wartoci xi przy zastosowaniu jednej z metod numerycznych.
Zestaw par wsprzdnych (xi, yi) mona teraz wykorzysta do wykonania wykresu.

Funkcje dwu zmiennych


Tablica funkcji dwu zmiennych musi pokazywa wartoci funkcji dla wszystkich moli-
wych kombinacji obu argumentw, musi wic by tablic dwuwymiarow, w ktrej warto-
ci jednego argumentu umieszczono w grnym wierszu, a wartoci drugiego argumentu

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


70 Excel w obliczeniach naukowych i inynierskich

w pierwszej kolumnie. Wartoci funkcji wypeniaj prostoktny obszar wyznaczony


przez moliwe kombinacje obu argumentw. Najprostsz tego typu tablic jest tabliczka
mnoenia znana ze szkoy podstawowej.

Tworzenie tablicy funkcji dwu zmiennych zapisywanej w symbolice matematycznej jako


z = f(x, y) rozpoczynamy od zdefiniowania zakresw zmiennych x i y, czyli argumentw
funkcji. Przyjmijmy, e wartoci pierwszego argumentu (x) bd umieszczone w ko-
lumnie A, poczwszy od 4. wiersza, a wartoci drugiego argumentu (y) w 3. wierszu, po-
czwszy od kolumny B. Wartoci funkcji utworz prostoktn tablic, ktrej lewy grny
rg bdzie stanowi komrka B4. W komrce A3, ktra dotd pozostaje wolna, mona
umieci na przykad tekst "x \ y". Jest on bez znaczenia dla oblicze, ale moe uatwi
orientacj w pooeniu zmiennych.

Kolumn wartoci x-w i wiersz wartoci y-w tworzymy podobnie jak w przypadku
funkcji jednej zmiennej przez rczne wypenienie zakresu dowolnymi wartociami lub
przez pautomatyczne wypenienie wartociami tworzcymi cig arytmetyczny (zaczy-
najc od dwu komrek wypenionych staymi albo kopiujc prost formu przyrostow).

Jako przykad posuy nam funkcja f(x, y) = (x+y)^2/(1+x+y), ktr stablicujemy dla
x, y [1, 2] z krokiem 0,5.

Podobnie jak w przypadku funkcji jednej zmiennej, istnieje kilka sposobw utworzenia
tablicy wartoci funkcji z = f(x, y), ktre zostan po kolei opisane.

a) Wykorzystanie formuy z adresami mieszanymi.

W lewym grnym rogu tablicy wynikw (w naszym przykadzie jest to komrka B4)
wprowadzamy formu f(x, y) odwoujc si do wartoci x i y przez adresy mieszane
w przypadku zmiennej x jest to oznaczenie kolumny poprzedzone znakiem $, w przy-
padku zmiennej y jest to numer wiersza poprzedzony znakiem $. Nastpnie formu ko-
piujemy w d (za pomoc myszki) a do wypenienia caej pierwszej kolumny wynikw.
Na chwil zwalniamy przycisk myszy, po czym kopiujemy dalej ca kolumn w prawo
a do wypenienia caej tabeli. Alternatywnie mona skopiowa do schowka komrk B4,
zaznaczy cay obszar wynikw i wklei komrk.

W naszym przykadzie do komrki B4 wprowadzamy formu = ($A4+B$3)^2/(1+$A4+B$3)


i kopiujemy j, jak opisano wyej.

b) Wykorzystanie formuy z nazwami zakresw x-w i y-w.

Zaznaczamy zakres x-w i klikamy myszk pole nazwy. Wpisujemy nazw zakresu, na
przykad x, i zatwierdzamy klawiszem Enter. Podobnie zaznaczamy zakres y-w, wpisuje-
my nazw zakresu, na przykad y, i zatwierdzamy klawiszem Enter. (Nazwy w tym sa-
mym arkuszu nie mog si powtarza). W komrce w lewym grnym rogu tablicy wyni-
kw (w naszym przykadzie jest to komrka B4) wprowadzamy formu f(x, y) odwoujc
si do wartoci x i y przez zdefiniowane nazwy zakresw. Nastpnie formu kopiujemy,
jak poprzednio, w d, a potem w prawo, a do wypenienia caej tabeli. W naszym przy-
kadzie do komrki B4 wprowadzamy formu = (x+y)^2/(1+x+y) i kopiujemy j. Ten
wariant jest podobny do poprzedniego w tym sensie, e wyniki uzyskujemy zawsze na

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 4. Tablicowanie funkcji jednej i dwu zmiennych 71

przeciciu odpowiedniej kolumny i wiersza. Natomiast zakresy x-w, y-w i wynikw


nie musz do siebie przylega (cho zwykle tak jest najwygodniej). Metody tej nie mona
stosowa, gdy formua zawiera funkcje inynierskie wywodzce si z dodatku Analysis
Toolpak.

c) Wykorzystanie formuy z nazwami pierwszych komrek zakresw x-w i y-w.

Zaznaczamy pierwsz komrk zakresu x-w i klikamy myszk pole nazwy. Wpisujemy
nazw komrki, na przykad x.(z kropk), i zatwierdzamy klawiszem Enter. Podobnie
zaznaczamy pierwsz komrk zakresu y-w i klikamy myszk pole nazwy. Wpisujemy
nazw komrki, na przykad y., i zatwierdzamy klawiszem Enter. W komrce w lewym
grnym rogu tablicy wynikw (w naszym przykadzie jest to komrka B4) wprowadzamy
formu f(x, y) odwoujc si do nazw x. i y.. Z menu wybieramy Wstaw/Nazwa/Definiuj
(od wersji 2007 Meneder nazw) i edytujemy definicje x. i y. tak, aby zmieni odwoania
absolutne na mieszane z oznaczeniem kolumny poprzedzonym znakiem $ w przypadku x.
i z oznaczeniem wiersza poprzedzonym znakiem $ w przypadku y.. Przed edycj kadego
adresu w oknie dialogowym dogodnie jest nacisn klawisz F2, aby moliwe byo uy-
wanie klawiszy ze strzakami. Nastpnie formu kopiujemy, jak poprzednio, w d, a potem
w prawo a do wypenienia caej tabeli.

d) Wykorzystanie formuy tablicowej z nazwami zakresw x-w i y-w.

Zaznaczamy zakres x-w i klikamy myszk pole nazwy. Wpisujemy nazw zakresu, na
przykad xx, i zatwierdzamy klawiszem Enter. Podobnie zaznaczamy zakres y-w, wpi-
sujemy nazw zakresu, na przykad yy, i zatwierdzamy klawiszem Enter. (Nazwy w tym
samym arkuszu nie mog si powtarza). Zaznaczamy prostoktny zakres wartoci funkcji
(w naszym przykadzie poczwszy od komrki B4). W polu formuy wprowadzamy wy-
raenie f(x, y) odwoujce si do wartoci x i y przez nazwy zakresw. W naszym przy-
kadzie jest to formua = (xx+yy)^2/(1+xx+yy). Nastpnie zatwierdzamy formu tabli-
cow klawiszami Ctrl+Shift+Enter. Rnica pomidzy tym a wariantem b) polega m.in.
na tym, e wzgldne pooenia zakresw x-w, y-w i wynikw s dowolne istotne
jest tylko, by zakres jednej zmiennej by w kolumnie, a drugi w wierszu. Lewy grny rg
zakresu wynikw odpowiada pierwszym wartociom z obu zakresw danych. Metody tej
nie mona stosowa, gdy formua zawiera funkcje inynierskie, wywodzce si z dodatku
Analysis Toolpak.

e) Wykorzystanie specjalnej procedury tworzenia tabeli funkcji dwu zmiennych.

Wpisujemy formu funkcji w komrce na przeciciu list argumentw x i y (w naszym


przykadzie jest to komrka A3). Ta formua nie musi zawiera penej definicji funkcji,
moe by ostatnim ogniwem cigu powizanych formu, ktre prowadz od wartoci
argumentw x i y do wyniku kocowego. Formua (lub cig formu) odwouje si do
komrek wejciowych umieszczonych poza zakresem tabeli (w naszym przykadzie
mog to by, powiedzmy, komrki A2 i B2). Rodzaj adresu (wzgldny, bezwzgldny
czy mieszany) nie ma znaczenia. Zaznaczamy zakres komrek obejmujcy formu,
kolumn x-w, wiersz y-w i obszar wartoci funkcji. W starszych wersjach arkusza
w menu Dane klikamy polecenie Tabela. Od wersji 2007 na karcie Dane w grupie
Narzdzia danych klikamy przycisk Analiza symulacji (w wersji 2010 Analiza warun-
kowa), a nastpnie polecenie Tabela danych. W okienku dialogowym wskazujemy

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


72 Excel w obliczeniach naukowych i inynierskich

komrk wejciow x (A2) w polu Kolumnowa komrka wejciowa i komrk wej-


ciow y (B2) w polu Wierszowa komrka wejciowa. Akceptujemy polecenie przyci-
skiem OK. W tym wariancie zakresy x-w, y-w i wynikw musz do siebie przylega
i tworzy jeden spjny obszar z formu wpisan w jego lewym grnym rogu.

Rezultat dziaania tej procedury zosta zilustrowany na rysunku 4.1.

Rysunek 4.1.
Tablica wartoci
funkcji dwu zmiennych
wygenerowana za
pomoc polecenia
Tabela danych

f) Wykorzystanie tabeli dostpnej w Excelu od wersji 2007.

Tabele dostpne w wersjach 2007 i 2010 mona rwnie zastosowa do tablicowania


funkcji dwu zmiennych, chocia nie jest to tak oczywiste i tak proste jak w przypadku
funkcji jednej zmiennej. Jedn zmienn niezalen, najczciej zmienn x, umieszcza si
w pierwszej kolumnie, natomiast wartoci drugiej zmiennej, zwykle y, umieszcza si
w wierszu nagwkowym, tworzc tyle dodatkowych kolumn, ile jest wartoci tej zmien-
nej. Wykorzystujemy fakt, e co prawda nagwki kolumn s tekstami, lecz mog mie
posta liczbow, ktr mona wykorzysta do oblicze. W naszym przykadzie procedura
postpowania moe by taka.

W komrce A3 umieszczamy nagwek kolumny x-w, na przykad x. Posuy on jako


objanienie nazwy zakresu. Poniej do zakresu komrek od A4 do A10 wprowadzamy
wartoci zmiennej x. Zaznaczamy zakres od A3 do A10 i nadajemy danym nazw x. Wy-
korzystujemy sekwencj Formuy/Nazwy zdefiniowane/Utwrz z zaznaczenia. Do kom-
rek w trzecim wierszu od B3 do H3 wprowadzamy kolejne wartoci y-w, ktre bd
traktowane jak nagwki kolumn. Deklarujemy zakres komrek od A3 do H10 jako tabel
z nagwkami w trzecim wierszu. Sposoby deklarowania tabeli podano w rozdziale 3.
Operacje i funkcje tablicowe albo z karty Wstawianie naley wybra Tabela, a na-
stpnie w okienku dialogowym wskaza zakres komrek tabeli, albo zaznaczy zakres
komrek, ktry ma by przeksztacony w tabel, i z karty Narzdzia gwne/Style wybra
Formatuj jako tabel. Poniewa w pierwszym wierszu tabeli s ju dane, ktre bd pe-
ni funkcj nagwkw kolumn, naley zaznaczy pole Moja tabela ma nagwki. Gdy

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 4. Tablicowanie funkcji jednej i dwu zmiennych 73

tabela jest ju aktywna w dowolnej komrce pierwszej kolumny y-w, na przykad w ko-
mrce B4 naley wpisa formu funkcji w jednym z trzech wariantw:
1. Formu = ($A4+B$3)^2/(1+$A4+B$3), stosujc adresy mieszane odpowiedniej
komrki z kolumny x-w i nagwka kolumny B z wartoci y; warto tekstowa
w nagwku zostanie automatycznie skonwertowana na liczb, a wynik skopiowany
do caej kolumny. Nastpnie naley zaznaczy komrki z formuami w kolumnie B
i skopiowa je w prawo do koca tabeli przy uyciu metody wypeniania. W tym
wariancie mona pomin nadawanie nazwy zakresowi x-w, albo jeeli
nazwa zostaa ju nadana uy jej w formule zamiast $A4.
2. Formu = (x+[[#Nagwki];[1]])^2/(1+x+[[#Nagwki];[-1]]), stosujc
nazw nadan kolumnie x-w oraz niekwalifikowane odwoanie strukturalne
z pierwsz wartoci y ujt w nawiasy kwadratowe, wynik zostanie skopiowany
do caej kolumny. Nastpnie naley zaznaczy komrki z formuami w kolumnie B
i skopiowa je w prawo do ssiednich kolumn a do koca tabeli, stosujc metod
wypeniania. Wane, aby uy nazwy zakresu x-w, a nie specyfikatora
kolumny [x], gdy przy takim kopiowaniu w tabeli nastpuje dostosowanie
adresw kolumn i trzeba by rcznie skorygowa adresy kolumny x-w. Gdy uyje
si nazwy zakresu x-w, odwoanie to pozostanie przy kopiowaniu niezmienione.
3. T sam formu, z tym e tylko nazw x wpisujemy rcznie, natomiast zamiast
wpisywa adresy komrki y-w, klikamy myszk odpowiedni komrk
w komrce pod wartoci y pojawi si formua z kwalifikowanym odwoaniem
do komrki y-w. Jeeli zadeklarowana tabela bya pierwsz w skoroszycie,
bdzie to:
= (x+Tabela1[[#Nagwki];[1]])^2/(1+x+Tabela1[[#Nagwki];[-1]])
Formua zostanie automatycznie skopiowana do wszystkich komrek kolumny
y = 1. Nastpnie naley zaznaczy komrki z formuami w tej kolumnie
i skopiowa je w prawo do ssiednich kolumn a do koca tabeli. Nazw zakresu
x-w naleao wpisa rcznie, gdy kliknicie komrki wprowadzioby odwoanie
strukturalne do niej, ktre przy kopiowaniu byoby modyfikowane wbrew naszej
intencji.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


74 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 5.
Graficzna
prezentacja danych
Rodzaje wykresw dostpnych w Excelu
Arkusz kalkulacyjny jest przede wszystkim narzdziem obliczeniowym, a funkcja wyko-
nywania wykresw stanowi jedynie uzupenienie jego moliwoci. Dziki wykresom
moliwa jest wizualizacja danych i wynikw oblicze, ktra bardzo uatwia ich percepcj.
Lista dostpnych w Excelu wykresw standardowych obejmuje typy:
warstwowy,
kolumnowy,
supkowy,
liniowy,
koowy,
piercieniowy,
giedowy,
XY (punktowy),
bbelkowy,
radarowy,
powierzchniowy,
stokowy, cylindryczny i ostrosupowy.

Oprcz powyszych mona rwnie korzysta z wielu typw mieszanych, zwanych nie-
standardowymi. Wikszo z wymienionych typw wykresw jest wykorzystywana do
prezentacji danych biznesowych i nie bdzie tu omawiana. Ich opisy mona znale w pliku
pomocy Excela [15].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


76 Excel w obliczeniach naukowych i inynierskich

W zastosowaniach naukowych najwiksze znaczenie ma prezentacja zalenoci funkcyj-


nych, czyli zalenoci midzy dwiema, a czasem trzema wielkociami zmieniajcymi si
w sposb cigy. Su do tego wykresy punktowe, zwane te wykresami XY, a w przy-
padku funkcji dwu zmiennych wykresy powierzchniowe. Do prezentacji zalenoci
okrelonych we wsprzdnych biegunowych mona wykorzysta wykresy radarowe.
Na nich koncentrowa bdziemy uwag w tym rozdziale.

Na wykresach punktowych przedstawiane s zbiory punktw okrelonych przez ich wsp-


rzdne. Punkty te mona czy liniami gadkimi lub amanymi, a take konstruowa linie
trendu (regresji), najlepiej dopasowane do wsprzdnych punktw wedug zasady naj-
mniejszej sumy kwadratw odchyle.

Koniecznie naley odrnia wykres punktowy od wykresu liniowego. Ten ostatni cha-
rakteryzuje si tym, e punkty na osi x s zawsze rwnoodlege, tak jakby byy do nich
przypisane kolejne liczby naturalne. Jako opis osi x stosuje si tu najczciej etykiety
tekstowe. Kada seria danych na takim wykresie jest przedstawiana oddzielnie.

Przygotowanie danych
do wykresu punktowego
Do wykonania wykresu punktowego potrzebna jest lista wsprzdnych x-y punktw,
ktre chcemy na nim umieci. Wsprzdne te albo znane s bezporednio (np. jako wy-
niki pomiarw), albo musz by obliczone, w przypadku gdy zaleno jest dana w postaci
wzoru. Listy wartoci x i y mona umieci zarwno w wierszach, jak i w kolumnach.
Najwygodniej wykona wykres, gdy jest jeden zakres x, umieszczony w pierwszym wier-
szu lub w pierwszej kolumnie obszaru danych. Moe by natomiast kilka zakresw y.
Przy kilku zakresach y na wykresie bdzie kilka linii. Wane jest, aby liczba danych
w zakresach x i y bya jednakowa.

Jeeli zaleno jest dana w postaci wzoru lub rwnania, rozpocz naley od wygene-
rowania listy wartoci y i umieszczenia jej obok wartoci x. Mona to zrobi kilkoma
sposobami (opisanymi w rozdziale 4. Tablicowanie funkcji jednej i dwu zmiennych).
Zestaw danych powinien obejmowa tym wicej punktw, im bardziej zoony jest ksztat
opisywanej zalenoci. W przypadku zalenoci prostoliniowej opisanej wzorem wystar-
cz dwa punkty, w przypadku podobnej zalenoci okrelonej przez wyniki pomiarw
potrzeba 4 5 punktw. W przypadku wielomianu stopnia n opisanego wzorem potrzeba
n+1 punktw, kiedy wielomian ma opisywa wyniki pomiarw, potrzeba co najmniej n+3
punkty. Przecitnie wykres powinien opiera si na mniej wicej 10 punktach rozoo-
nych rwnomiernie wzdu linii wykresu.

W komrkach powyej lub na lewo od danych mona umieci nagwki zakresw da-
nych, ktre maj si znale w legendzie wykresu.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 5. Graficzna prezentacja danych 77

Wykonanie wykresu punktowego


Przed wykonaniem wykresu dane, ktre maj by uwzgldnione przy jego tworzeniu, naley
zaznaczy przez podwietlenie. Jeli nie jest to spjny obszar, trzeba zaznacza jego
fragmenty przy wcinitym klawiszu Ctrl. Nastpnie naley wywoa kreatora wykresw,
wybierajc z menu Wstaw/Wykres lub klikajc ikonk na pasku narzdzi (od wersji 2007
Wstawianie/Wykresy).

Kreator pozwala zdefiniowa najwaniejsze elementy wykresu przez wypenienie odpo-


wiednich pl w okienkach dialogowych. Z kreatora korzysta si do intuicyjnie, a oma-
wianie wszystkich moliwych opcji zajoby tu zbyt wiele miejsca. W pierwszym kroku
naley wybra typ wykresu (w naszym przypadku XY-punktowy) oraz odpowiedni pod-
typ. W przypadku danych dowiadczalnych obarczonych bdami pomiaru najlepiej wy-
bra podtyp 1. same punkty bez linii, a w przypadku funkcji okrelonej wzorem lub
danych dowiadczalnych o duej dokadnoci podtyp 2. punkty poczone gadk
lini. W kolejnym kroku okrela si zakresy danych, a nastpnie tytu wykresu i opisy osi.
Jeeli przed wywoaniem kreatora wykresw zaznaczono w arkuszu obszar danych, bdzie
on uwzgldniony automatycznie. W przypadku gdy na wykresie przedstawiono kilka serii
danych, s one zaznaczane innymi kolorami lub innym wygldem linii. Odpowiedni opis
jest umieszczany w legendzie.

Tekst opisu legendy wykresu moe by zoony czcionk jednego rodzaju i jednakowej
wielkoci.

W ostatnim kroku naley zdecydowa, czy wykres ma by umieszczony w biecym ar-


kuszu, czy powinien by dla niego utworzony nowy arkusz. Z reguy przy definiowaniu
wykresu umieszcza si go w biecym arkuszu, aby mc rwnoczenie obserwowa wy-
kres i dane, na podstawie ktrych zosta utworzony. Po wprowadzeniu wszystkich nie-
zbdnych danych wykres jest wstpnie zdefiniowany, lecz mona nadal modyfikowa
jego poszczeglne elementy, takie jak obszar krelenia, serie danych, osie, tytu wykresu
i opisy osi, linie siatki, legend itp. Elementy wykresu s traktowane jak niezalene
obiekty z przypisanymi do nich waciwociami. Klikajc na takim obiekcie dwukrotnie
lewym lub pojedynczo prawym klawiszem myszy, wywoujemy edytor, ktry umoli-
wia modyfikacj wybranego elementu wykresu. Moliwoci edycji jest bardzo duo, naj-
lepiej wyprbowa je samemu na przykadowych wykresach.

Jeeli jaki element (np. opis osi) zosta pominity przy definiowaniu wykresu, zawsze
mona pniej zaznaczy wykres i ponownie wywoa kreator albo z menu Wykres (od
wersji 2007 Narzdzia wykresw) wybra odpowiedni pozycj i uzupeni brakujcy
element. Dotyczy to rwnie nowej serii danych, ktra ma by umieszczona na tym sa-
mym wykresie. Istnieje take uproszczony sposb dodawania serii danych do istniejcego
wykresu, ale dziaa on jedynie w przypadku dodawania nowej serii wartoci funkcji (y)
opartej na tym samym zakresie x, co seria (serie) ju obecna na wykresie. Naley w tym
celu zaznaczy now seri y i skopiowa do schowka (np. przez Ctrl+C), a nastpnie
zaznaczy wykres (cay wykres, a nie tylko obszar krelenia) i wklei seri danych ze
schowka (np. przez Ctrl+V).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


78 Excel w obliczeniach naukowych i inynierskich

Zaznaczenie wykresu lub serii danych powoduje, e obszary danych prezentowane na


nim zostaj chwilowo otoczone w arkuszu kolorow obwdk. Obwdk t mona prze-
suwa myszk, a take powiksza lub pomniejsza, zmieniajc liczb punktw przed-
stawianych na wykresie. Operacja taka powoduje automatyczne przeskalowanie wykresu,
jeeli zachodzi taka potrzeba. Aby operacja si powioda, musimy pamita, eby liczba
punktw w zakresach x i y bya taka sama.

Przy przedstawianiu na wykresie punktw poczonych lini naley pamita o kilku


zasadach:
1. Linia jest prowadzona od punktu do punktu w takiej kolejnoci, w jakiej punkty
zostay umieszczone w zakresie danych. Dlatego przed wykonaniem wykresu
wartoci x powinny zosta uporzdkowane, a przy dodawaniu nowych punktw
do wykresu naley zwraca uwag na ich pooenie wzgldem dotychczasowych
punktw.
2. Jeli przedstawiamy zaleno niecig, zoon z dwu lub kilku gazi, to naley
pozostawia pust komrk w miejscach niecigoci. W przeciwnym razie
punkty nalece do rnych gazi wykresu zostan poczone. Jeli w komrce
znajduje si kod bdu lub jakikolwiek tekst, przy wykonywaniu wykresu jest
on traktowany jako warto 0.
3. Jeeli w czasie wykonywania wykresu nie wszystkie wartoci funkcji s
dostpne, a chcemy zarezerwowa miejsce na ich pniejsze uzupenienie,
naley w komrce, w ktrej brakuje danych, wpisa kod = #N/D! lub wywoanie
funkcji = BRAK(), oznaczajce brak danych. Linia wykresu nie bdzie
przerwana, a brakujca warto zostanie wyznaczona przez interpolacj.

Jako przykad wykresu punktowego na rysunku 5.1 przedstawiono wykres funkcji


x
y= 2 zoony z trzech gazi. Wartoci argumentu x dobrano tak, aby punkty
x + x 0,1
na wykresie byy rozmieszczone moliwie rwnomiernie, i poczono je gadk lini, po-
zostawiajc przerwy w punktach niecigoci.

Dodawanie linii trendu (regresji)


do wykresu
W przypadku wykresu wykonanego na podstawie danych pomiarowych obarczonych b-
dami pomiaru nie naley czy bezporednio punktw na wykresie, gdy otrzymamy
wtedy lini aman lub lini krzyw z wieloma punktami przegicia. Zamiast tego naley
poprowadzi lini najlepszego dopasowania jako lini gadk przebiegajc moliwie blisko
punktw pomiarowych. Lini tak wyznacza si metod najmniejszej sumy kwadratw,
porwnujc zmierzone i obliczone wartoci zmiennej zalenej y. Kreator wykresw pozwala
automatycznie doda do wykresu lini trendu wyznaczon na podstawie wybranego modelu
zalenoci. Do wyboru jest rwnanie liniowe, wykadnicze, logarytmiczne, potgowe, wie-
lomianowe (wielomian stopnia 6) oraz tzw. rednia ruchoma. W przypadku niektrych
zestaww danych pewne typy zalenoci nie mog wystpi s wwczas nieaktywne.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 5. Graficzna prezentacja danych 79

Rysunek 5.1.
Przykad wykresu
punktowego funkcji
jednej zmiennej,
okrelonej wzorem

Kreator wykresw potrafi dopasowa lini trendu rwnie do danych, w ktrych za-
kresie wystpuj puste komrki. Linia trendu pozostanie ciga pomimo przerwy w linii
czcej punkty wykresu. Przy dodawaniu linii trendu do serii danych mona zaznaczy
w opcjach, aby wywietla na wykresie rwnanie linii trendu i/lub kwadrat wspczyn-
nika korelacji R2 (zwany rwnie wspczynnikiem determinacji). Porwnanie warto-
ci wspczynnikw korelacji przy rnych modelach linii trendu pozwala wybra ten
najbardziej odpowiedni.

Przy wyborze modelu linii trendu naley uwzgldnia wymienione poniej przesanki:
Jeli istnieje model teoretyczny opisywanej zalenoci, to naley go uwzgldni
i stara si, by linia trendu bya z nim zgodna.
Jeli nie istnieje model teoretyczny, naley stara si opisa seri danych moliwie
najprostszym rwnaniem, zapewniajcym jednak do wysok warto
wspczynnika korelacji. Jeli mamy do wyboru dwa lub wicej modeli
wykorzystujcych t sam liczb wspczynnikw, wybieramy ten, ktry zapewnia
najwysz warto wspczynnika korelacji. Jeeli porwnywane s modele
z rn liczb wspczynnikw, naley oczekiwa, e przy wyszej liczbie
wspczynnikw modelu wspczynnik korelacji bdzie mia wiksz warto.
Przyjcie modelu z wiksz liczb wspczynnikw jest uzasadnione, jeeli daje
to znaczcy, a nie tylko symboliczny wzrost wspczynnika korelacji.

Przy wyborze postaci funkcji do opisu danych naley zwrci uwag, czy linia trendu ma
przechodzi przez jaki stay punkt (czsto jest to pocztek ukadu wsprzdnych). W takim
przypadku naley zaznaczy odpowiedni opcj, ktra powoduje, e staa (wyraz wolny)
w rwnaniu nie jest obliczana, lecz przyjmowana zgodnie z deklaracj uytkownika.

Linia trendu jest wykrelana standardowo dla wartoci x pomidzy najmniejsz a najwik-
sz wartoci argumentu. Czasami zachodzi potrzeba jej przeduenia poza zakres okrelony

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


80 Excel w obliczeniach naukowych i inynierskich

przez dane. W tym przypadku w opcjach linii trendu naley zaznaczy prognoz do
przodu, czyli dla wikszych wartoci x, lub do tyu, czyli dla mniejszych wartoci x.
Prognozowany zakres podaje si zawsze jako liczb dodatni w skali wartoci x.

Jeeli wykres powstaje na podstawie wzoru, wyznaczanie linii trendu ma sens tylko wte-
dy, gdy posta wzoru odpowiada jednemu z modeli linii trendu albo gdy poszukujemy
uproszczonego modelu zbyt zoonej zalenoci. W innych przypadkach naley po pro-
stu wyznaczy odpowiednio du liczb punktw i poczy je gadk lini.

Czsto zdarza si, e przy wyznaczaniu linii trendu po zaznaczeniu opcji wywietlania
jej rwnania stwierdzamy, e wspczynniki w rwnaniu s wywietlane ze zbyt ma
dokadnoci. Naley wtedy klikn to rwnanie dwukrotnie lewym lub pojedynczo
prawym klawiszem myszy i sformatowa wspczynniki z wiksz dokadnoci lub
w formacie naukowym. Alternatywnie mona odpowiednio przeskalowa o x, mnoc
lub dzielc wartoci przez odpowiednio dobrany wspczynnik, aby unikn zbyt maych
lub zbyt duych wartoci wspczynnikw w rwnaniu linii trendu.

Gdy dysponujemy du liczb punktw pomiarowych o wysokiej dokadnoci, a brakuje


nam modelu teoretycznego, dopasowanie jednej linii trendu do danych w caym zakresie
zmiennej niezalenej moe dawa niezadowalajce wyniki. W takim przypadku uzasad-
nione jest podzielenie caego przedziau zmiennoci x na podprzedziay (serie danych)
i dopasowanie linii trendu osobno w kadym podprzedziale. Jeeli opisywana zaleno
jest ciga, punkty graniczne naley uwzgldni w obu ssiadujcych seriach danych.

Na rysunku 5.2 przedstawiono wykres obrazujcy zaleno tzw. wspczynnika ci-


liwoci Z pary wodnej jako funkcji cinienia p, wykonany na podstawie danych dowiad-
czalnych. Wykres pokazuje punkty pomiarowe oraz dopasowan do nich lini trendu
w formie wielomianu trzeciego stopnia. Wywietlono rwnanie linii trendu oraz wsp-
czynnik determinacji R2. Z definicji wspczynnika ciliwoci i znanych waciwoci
pary wodnej jako gazu wynika, e przy p 0 Z 1. Dlatego przy okrelaniu postaci
rwnania linii trendu ustalono, e wyraz wolny ma warto 1. Ponadto wartoci cinienia
na osi odcitych podzielono przez 100, aby wspczynniki w rwnaniu linii trendu miay
wartoci dogodne do oblicze.

Wykresy radarowe
Jestemy przyzwyczajeni do posugiwania si kartezjaskim ukadem wsprzdnych,
w ktrym pooenie punktu na paszczynie okrela para liczb (x, y), interpretowanych
jako odlegoci punktu od osi ukadu, przecinajcych si pod ktem prostym w punkcie
zwanym rodkiem ukadu wsprzdnych. Alternatywnie pooenie punktu mona opisa
za pomoc tzw. wsprzdnych biegunowych. W parze liczb (r, ) reprezentujcej punkt
w tym ukadzie r oznacza odlego punktu od rodka ukadu, a jest miar kta midzy
osi odcitych a wektorem czcym rodek ukadu z opisywanym punktem. Jeeli ogra-
niczymy si do zmiennoci kta w przedziale (, ], to oba opisy s rwnowane i mo-
na atwo przeliczy wsprzdne kartezjaskie punktu na wsprzdne biegunowe i od-
wrotnie. Su do tego wzory:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 5. Graficzna prezentacja danych 81

Rysunek 5.2.
Przykad wykresu
zalenoci empirycznej
opisanej lini trendu
(regresji)

r = x2 + y2 x = r cos
y
= arc tg y = r sin
x

Odpowiednikiem funkcji arc tg (y/x) w Excelu jest funkcja ATAN2(x; y). Lini na pasz-
czynie mona opisa przez podanie zarwno zalenoci y = f(x), jak i zalenoci r = f().
Posta formuy jest oczywicie w kadym przypadku inna, a jej stopie zoonoci zale-
y od opisywanej linii. Nie zawsze obie formuy da si zapisa w jawnej postaci.

Jednym z typw wykresw dostpnych w arkuszu kalkulacyjnym Excel jest tzw. wykres
radarowy. Jest on odmian wykresu we wsprzdnych biegunowych. Ukad wsprzd-
nych ma posta rodziny wsprodkowych okrgw, reprezentujcych izolinie wartoci
funkcji. Argumenty zostaj przeliczone na kty, przy czym pierwszej wartoci na licie
argumentw zostaje przypisany kt 0 (kierunek pionowo do gry), a pozostae wartoci
s rozmieszczane rwnomiernie, a do wypenienia kta penego (360 lub 2 w mierze
ukowej). Jeeli na licie argumentw jest na przykad 12 wartoci, to drugiej wartoci
odpowiada kt 30, a ostatniej kt 330. Kierunek wzrostu kta zgodny z ruchem
wskazwek zegara. Wartoci argumentw s tu w istocie bez znaczenia, mog to by na-
wet etykiety tekstowe, zawsze zostan rozmieszczone rwnomiernie dookoa rodka wy-
kresu. Wartoci funkcji s odkadane wzgldem rodka wykresu tak, e domylnie od-
powiada on wartoci 0 lub najmniejszej wartoci funkcji, jeli jest ona ujemna (oczywicie
rcznie mona zmodyfikowa zakres wartoci). W przeciwiestwie do klasycznego wy-
kresu biegunowego s tu dopuszczalne ujemne wartoci funkcji.

Aby okreli dokadnie relacj pomidzy wsprzdnymi wykresw punktowego i rada-


rowego, musimy uwzgldni, e na wykresie biegunowym kt jest liczony od osi pozio-
mej, a na wykresie radarowym od osi pionowej (rnica 90 lub /2 w mierze ukowej), kie-
runek wzrostu kta na wykresie biegunowym jest przeciwny do ruchu wskazwek zegara,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


82 Excel w obliczeniach naukowych i inynierskich

a na wykresie radarowym zgodny, wreszcie na wykresie biegunowym rodek wykresu


odpowiada wartoci r = 0, a na wykresie radarowym r = rmin. Po uwzgldnieniu tego
wszystkiego otrzymamy zmodyfikowane wzory przeliczeniowe:

r = rmin + x 2 + y 2 x = (r rmin ) sin


x
= arc tg y = (r rmin ) cos
y

Jeli wzi pod uwag, e w praktyce wygodniejsze jest uycie stopniowej miary k-
tw, powysze wzory w Excelu naleaoby zapisa w postaci:
r : = r_min+PIERWIASTEK(x^2+y^2) x : = (rr_min)*SIN(RADIANY(fi))
fi : = STOPNIE(PI()ATAN2(y; x)) y : = (rr_min)*COS(RADIANY(fi))

sin
W charakterze przykadu mona rozpatrzy funkcj r = . Wartoci funkcji zmieniaj
cos 2
si od do +. Aby wykona wykres, naley ograniczy zakres wartoci funkcji na
przykad do przedziau [10, 10]. Jeeli przyj, e wartoci argumentu bd si zmie-
nia z krokiem 10, to przy obliczaniu wartoci funkcji naley pomin argumenty 80,
90 i 100 oraz 260, 270 i 280. Po wykonaniu wykresu radarowego uzyskamy obraz
widoczny na rysunku 5.3 po lewej stronie. Podobny przebieg zalenoci mona przed-
stawi na tradycyjnym wykresie punktowym po zastosowaniu przeksztacenia podanego
powyej. Jako warto r_min naley przyj 10 warto graniczn odpowiadajc
rodkowi wykresu radarowego. Aby grna ga wykresu zachowaa wizualn cigo
w pobliu wartoci x = 0, naley uwzgldni dodatkowy punkt odpowiadajcy ktowi
bliskiemu 360, na przykad 359.

Rysunek 5.3. Porwnanie wykresu radarowego (z lewej) z typowym wykresem punktowym (z prawej)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 5. Graficzna prezentacja danych 83

Wykresy powierzchniowe
Funkcja wykonywania wykresw jest pomocnicz funkcj arkusza kalkulacyjnego Excel.
Dlatego wykres powierzchniowy stanowi tylko namiastk wykresu funkcji dwu zmien-
nych. Jest on wykonywany raczej w konwencji wykresu liniowego ni punktowego. Je-
dynie wartoci funkcji, odkadane na osi pionowej, tworz zbir cigy, natomiast o x,
zwana tu osi kategorii, jest osi rwnoodlegych etykiet, podobnie o y, zwana tu osi
gbokoci lub serii. Aby wykres by wykonany prawidowo, wartoci obu zmiennych
niezalenych musz by rwnoodlege. Linie czce punkty nie s wygadzone, jedynie
obszary o zblionych wartociach funkcji s zaznaczone tym samym kolorem. W sumie
poytek z wykresw funkcji dwu zmiennych jest niewielki mog to by tylko wykresy
pogldowe. Mona obraca wykres i oglda go pod rnymi ktami (opcja Obrt 3-W).
Ze wzgldu na perspektyw trudno odczyta z wykresu warto funkcji. Do dokadniej-
szej interpretacji zdecydowanie lepiej wykona seri wykresw funkcji jednej zmiennej,
a drug zmienn potraktowa jako parametr.

Jeeli mimo wszystko zdecydujemy si wykona taki wykres, lepiej umieci go w osob-
nym arkuszu, jest on wtedy bardziej czytelny. Po wprowadzeniu zmian w wersji Excela
2007 wykresy powierzchniowe s nieco dokadniejsze, zmieniona zostaa ich domylna
kolorystyka (to kady moe sam ustawi wedug swojego upodobania), najistotniejsze
wady i ograniczenia jednak pozostay. Niezbyt wygodny jest te sposb zaznaczania da-
nych do wykresu. Jeeli zaznaczymy cay obszar danych, obejmujcy wartoci x, y i z
(w ukadzie tablicy dwuwymiarowej), podobnie jak to si robi w przypadku wykresw
punktowych, otrzymamy wykres zafaszowany. Naley wczeniej zaznaczy tylko zakres
wartoci z, a po wykonaniu wykresu zaznaczy go i rcznie wskaza zakres etykiet na osi
kategorii (x) oraz poszczeglne wartoci na osi gbokoci (y) jako nagwki serii da-
nych. Jako serie danych traktowane s kolumny lub wiersze domylnie te, ktrych jest
mniej, ale mona to rcznie skorygowa. Po ustaleniu, na ktrej osi maj by wartoci x,
a na ktrej y, naley wskaza odpowiednie zakresy etykiet. W Excelu 2007 i 2010 wska-
zuje si je po wybraniu z menu Narzdzia wykresw/Projektowanie/Zaznacz dane, we
wczeniejszych wersjach mona to zrobi w drugim kroku uycia kreatora wykresw lub
pniej wywoujc z menu Wykres/Dane rdowe/Serie.

W charakterze przykadu wykonano wykres powierzchniowy na podstawie zredukowanego


rwnania stanu gazu van der Waalsa. Rwnanie to zapisywane jest zazwyczaj w postaci:
3
pr + 2 (3Vr 1) = 8Tr
Vr

Z rwnania wyznaczono cinienie zredukowane pr jako funkcj objtoci zredukowanej Vr


i temperatury zredukowanej Tr : pr = f(Vr, Tr) i przedstawiono na wykresie powierzchnio-
wym. Wykresy wykonane w Excelu w wersjach 2000 i 2007 umieszczono w osob-
nych arkuszach wykresw. Wyniki zaprezentowano na rysunkach 5.4 i 5.5.

Wariantem wykresu powierzchniowego jest paski wykres izolinii przypominajcy map


albo widok z gry na klasyczny wykres powierzchniowy. Linie na tym wykresie s in-
terpolowane i odpowiadaj jednakowym wartociom funkcji. Obszary midzy liniami
maj kolory odpowiadajce kolorom warstw na wykresie trjwymiarowym.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


84 Excel w obliczeniach naukowych i inynierskich

Rysunek 5.4. Rwnanie van der Waalsa przedstawione w postaci wykresu powierzchniowego w Excelu 2000

Rysunek 5.5.
Rwnanie van der
Waalsa przedstawione
w postaci wykresu
powierzchniowego
w Excelu 2007

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 5. Graficzna prezentacja danych 85

Wykresy dynamiczne
Wykres funkcji dwu zmiennych mona przedstawi take w postaci animowanego wy-
kresu funkcji jednej zmiennej. Druga zmienna jest traktowana jako parametr, ktry w da-
nym momencie przyjmuje okrelon warto, i wykres przedstawia funkcj jednej zmien-
nej. Poprzez zmian wartoci parametru w czasie mona uzyska efekt animacji.

Jako przykad wykonamy wykres krzywych Lissajous opisujcych superpozycj drga


harmonicznych w dwu prostopadych kierunkach. Krzywe te mona opisa rwnaniami:
x = A1cos(1t)
y = A2cos(2t+)
gdzie:
x, y oznaczaj wsprzdne punktu na wykresie,
A1, A2 amplitudy drga odpowiednio w kierunku x i y,
1, 2 czstoci drga w kierunku x i y odpowiednio,
t czas,
przesunicie fazowe.

Krzywa Lissajous jest zbiorem punktw o wsprzdnych (x, y) wyznaczonych dla r-


nych wartoci zmiennej t. Peny obraz krzywej uzyskamy dla t z zakresu [0, 1], jeeli
czstoci 1, 2 bd wielokrotnociami 2. Amplitudy A1, A2 nie wpywaj na ksztat
krzywych, powoduj tylko przeskalowanie osi x i y. Dla uproszczenia mona przyj
A1 = A2 = 1. Wartoci 1 i 2 wpywaj na ksztat krzywej. Parametrem modyfikowalnym
moe by przesunicie fazowe .

Do modyfikacji parametru wykorzystamy zamierzone odwoania cykliczne. (Dokad-


niejszy opis tego sposobu oblicze znale mona w rozdziale 12. Rozwizywanie rw-
na nieliniowych, w podrozdziale Zamierzone uycie odwoa cyklicznych przy roz-
wizywaniu rwna). Trzeba ustali krok zmiany , nazwijmy go dfi, oraz zarezerwowa
komrk na zmienn sterujc st. Parametr (fi) wyznacza si ze wzoru:
fi : = JEELI(st = 0; 0; fi+st*dfi)

Zmienna sterujca st powinna przyjmowa wartoci 0, +1 lub 1. Gdy do komrki st


wpiszemy 0, komrka (lub zmienna) fi zostanie wyzerowana, gdy wpiszemy st = 1, fi
zostanie zwikszone o dfi, a w przypadku gdy st = 1, fi zostanie odpowiednio zmniej-
szone. Operacje te bd wykonywane przy kadym przeliczeniu arkusza (po wprowa-
dzeniu jakichkolwiek danych lub naciniciu klawisza F9). Oczywicie iteracje musz
by dozwolone, a maksymalna liczba iteracji ustawiona na 1. W tym celu naley w menu
Narzdzia/Opcje/Przeliczanie zaznaczy kwadrat Iteracja (w wersji 2007 Przycisk pakietu
Office/Opcje programu Excel/Formuy/Opcje obliczania zaznaczy pole Wcz obliczenia
iteracyjne, w wersji 2010 Plik/Opcje/Formuy i dalej jak w wersji 2007). Wtedy Excel
nie traktuje odwoa cyklicznych jako bdu i wykonuje obliczenia iteracyjne zgodnie

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


86 Excel w obliczeniach naukowych i inynierskich

z ustalonymi parametrami: Maksymalna liczba iteracji i Maksymalna zmiana. Aby wy-


kres by za kadym przeliczeniem arkusza wykrelany na nowo, naley jako Maksymaln
liczb iteracji wpisa 1, natomiast parametr Maksymalna zmiana nie moe by wikszy
ni nasze dfi.

Dane do wykresu i sam wykres przygotowuje si zgodnie z podanymi wzorami jako wy-
kres punktowy XY. Gdy teraz wprowadzimy st = 1, za kadym naciniciem klawisza
F9 komrka fi bdzie zwikszana o dfi i wykres bdzie odpowiednio modyfikowany.
Podobnie przy st = 1 warto fi bdzie zmniejszana o dfi, wreszcie przy st = 0 obli-
czenia bd rozpoczynane od nowa.

Na rysunku 5.6 przedstawiono przykadowy wykres krzywej Lissajous, ktry mona


oywi przez naciskanie klawisza F9.

Rysunek 5.6. Wykres krzywej Lissajous przy parametrach 1 = 2*2 i 2 = 3*2

Mae wykresy dostpne w Excelu 2010


W najnowszej wersji arkusza z roku 2010 dostpne s dodatkowo mae wykresy, ktre
umieszcza si w pojedynczych komrkach arkusza. Mog by one przydatne do szybkiej
oceny trendu zmiennoci analizowanych wielkoci na podstawie danych zawartych w ar-
kuszu. Oficjalnie wykresy te nosz nazw Wykresy przebiegu w czasie, lecz ich zasto-
sowanie nie ogranicza si do treci tej nazwy. Mona je wykorzysta do przedstawienia
dowolnej zalenoci, gdzie zmienna niezalena zmienia si rwnomiernie (odpowiednik

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 5. Graficzna prezentacja danych 87

wykresu liniowego), jak rwnie przyblionego przedstawienia zalenoci, w ktrej


zmienna niezalena zmienia si nierwnomiernie (odpowiednik wykresu punktowego XY).
Zdefiniowano trzy podtypy tych wykresw: Liniowy, Kolumnowy oraz Zysk/strata. Na
wykresie liniowym punkty reprezentujce wartoci danych s poczone lini aman, na
wykresie kolumnowym kady punkt danych jest reprezentowany przez supek o wysoko-
ci uzalenionej od jego wartoci, na wykresie zysk/strata rwnie s supki, ale o jedna-
kowej wysokoci skierowane w gr lub w d od linii rodkowej, w zalenoci od znaku
danych. Szczegy dotyczce wygldu wykresu (kolory, widoczno znacznikw danych
itp.) ustala si przez wybr odpowiednich opcji projektowania. Opcje te opisane s do
intuicyjnie, warto moe jedynie zwrci uwag, e aby zmieni grubo linii wykresu,
naley wybra opcj Kolor wykresu przebiegu w czasie, a dopiero pniej Grubo.

W celu wywietlenia wykresu w komrce naley przygotowa dane w formie zakresu war-
toci y (w wierszu lub kolumnie) oraz ewentualnie zakresu wartoci x. Nastpnie z paska
Wstawianie naley wybra Wykresy przebiegu w czasie, wskazujc jednoczenie jeden
z dostpnych podtypw. Wywietli si okno dialogowe w nim naley poda zakres
danych y do prezentacji na wykresie i adres komrki, w ktrej ma by wykres. Jeeli
przed wyborem typu wykresu zaznaczymy zakres danych y albo komrk docelow, ich
adresy zostan automatycznie przyjte jako domylne. Wstpnie wykres jest wykonywany
w wersji z rwnomiernie rozoonymi punktami (Typ osi oglnej). Jeeli odlegoci mi-
dzy punktami danych s rne, naley dodatkowo zdefiniowa o x na wykresie. W tym
celu trzeba w trybie projektowania wykresu (zaznaczona komrka lub zakres komrek
z wykresem/wykresami) wybra opcje O, a nastpnie Typ osi daty. W oknie dialogo-
wym naley poda zakres danych osi x. Mog to by dowolne dane cakowitoliczbowe,
nie tylko daty (ewentualne czci uamkowe s pomijane). Pozostae dostpne opcje osi
pozwalaj zdecydowa, czy ma by widoczna o x wskazujca poziom odniesienia war-
toci y oraz jaki zakres wartoci y ma by uwzgldniony na wykresie, jak rwnie umo-
liwiaj odwrcenie kolejnoci danych. Naley rwnie zwrci uwag, e w przeci-
wiestwie do tradycyjnych wykresw punktowych wartoci na osi x s automatycznie
sortowane w kolejnoci rosncej lub malejcej. Dlatego gdy lista argumentw nie jest
uporzdkowana, ksztaty miniwykresu i tradycyjnego wykresu punktowego s rne.

Wielko wykresu jest automatycznie dopasowywana do rozmiarw komrki. Mona


zdefiniowa jednoczenie grup wykresw umieszczonych w ssiednich komrkach, po-
dajc w okienku definicyjnym kilka zakresw danych oddzielonych rednikami oraz ad-
resy odpowiedniej liczby komrek na wykresy (oddzielne adresy rozdzielone rednikami
lub zakres komrek). Mona rwnie umieci wykres w kilku poczonych komrkach,
jest on wwczas przypisany do lewej grnej komrki zakresu poczonych komrek.

Wykres umieszczony w komrce stanowi jej to. Pozwala to na umieszczenie w tej ko-
mrce dodatkowego opisu wykresu jako jej gwnej zawartoci.

Jako przykad pokazano zmienno gstoci pierwiastkw w pocztkowych okresach


ukadu okresowego Mendelejewa. Wykorzystano zarwno wykres liniowy, jak i kolum-
nowy. Aby wykresy byy bardziej czytelne, umieszczono je w poczonych komrkach.
Numery okresw stanowi w komrkach ich gwn zawarto, sam wykres jest tem.
Rezultat wida na rysunku 5.7.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


88 Excel w obliczeniach naukowych i inynierskich

Rysunek 5.7.
Przykad
wykorzystania
wykresw przebiegu
w czasie, dostpnych
w Excelu 2010, do
prezentacji zalenoci
gstoci pierwiastkw
w okresach tablicy
Mendelejewa

Na kolejnym rysunku (rysunek 5.8) pokazano przykad miniwykresu z osi x typu daty.
Zakres danych x celowo jest nieuporzdkowany, aby pokaza rnice w wygldzie tego
wykresu w porwnaniu z tradycyjnym wykresem punktowym.

Rysunek 5.8.
Porwnanie
miniwykresu liniowego
z osi x typu daty
z tradycyjnym wykresem
punktowym z punktami
poczonymi lini
aman

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 6.
Rniczkowanie
numeryczne
Pojcie pochodnej
Pochodna jest miar szybkoci zmian wielkoci funkcji w stosunku do zmian jej argu-
mentu. Formalnie definiuje si j jako granic ilorazu rnicowego, gdy przyrost argu-
mentu maleje do zera. Operacj obliczania pochodnej nazywa si rniczkowaniem.

Jeeli y = f(x), to pochodna oznaczana symbolem y' = f'(x) w punkcie x = x0 jest rwna
(alternatywnym symbolem pochodnej jest stosunek dy/dx):
dy y y y0
y = = lim = lim
dx x0 x x x0 x x0

W przypadku funkcji cigych nie ma znaczenia, czy x > x0, czy odwrotnie, granica ma
tak sam warto. Gdy dysponujemy tylko wartociami funkcji w wybranych punktach,
moemy wyznaczy przyblienie pochodnej, obliczajc iloraz rnicowy, czyli stosunek
zmiany wartoci funkcji y do odpowiadajcej jej zmiany wartoci argumentu x. Im
mniejsza warto x, tym lepsze przyblienie pochodnej mona wyznaczy (przy zao-
eniu, e obliczenia odbywaj si na podstawie dokadnych wzorw, a nie obarczonych
bdami wynikw pomiarw).

Jeli funkcja jest opisana wzorem, to jej pochodn take mona opisa pewnym wzorem.
Czasem jednak wzr ten moe by bardzo zoony i niedogodny do oblicze. Wtedy wy-
godniej jest zastosowa rniczkowanie numeryczne. Drugi przypadek, kiedy stosuje si
rniczkowanie numeryczne, zachodzi wtedy, gdy funkcja dana jest jako zbir punktw,
na przykad wynikw pomiarw.

Przy rniczkowaniu numerycznym bdzie miao znaczenie, czy obliczajc warto po-
chodnej w punkcie x = x0, korzystamy z punktw o wartoci argumentu mniejszej, czy
wikszej od x0. W zwizku z tym stosuje si trzy rodzaje ilorazw rnicowych: oparte

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


90 Excel w obliczeniach naukowych i inynierskich

na rnicach wstecznych, przednich i centralnych. Jeli zastosujemy indeksy 1 i 1


odpowiednio do punktu poprzedzajcego x0 i nastpujcego po x0, otrzymamy aproksy-
macje pochodnej w punkcie x0 wyraone trzema sposobami:
y y 0 y 1
za pomoc rnic wstecznych =
x x 0 x 1
y y1 y0
za pomoc rnic przednich =
x x1 x0
y y1 y 1
za pomoc rnic centralnych =
x x1 x1

Teoretycznie w przypadku funkcji cigej, gdy x 0, te trzy oszacowania powinny


dawa taki sam wynik. W rzeczywistoci x ma zawsze warto skoczon, wic warto-
ci ilorazw rnicowych mog si rni. Ktre oszacowanie naley zatem wybra? Jeli
dysponujemy punktami pooonymi symetrycznie wok x0, najdokadniejszym oszaco-
waniem pochodnej w punkcie x0 jest zwykle to oparte na rnicach centralnych. Czsto
jednak w trakcie oblicze wartoci x i f(x) s wyliczane sukcesywnie i znane s tylko
wartoci wczeniejsze. Wtedy z koniecznoci stosujemy rnice wsteczne.

Analogicznie do pochodnych pierwszego rzdu mona aproksymowa pochodne drugiego


i wyszych rzdw. Oszacowanie drugiej pochodnej angauje wsprzdne trzech punk-
tw. Stosujc oznaczenia takie jak poprzednio, mona zapisa oszacowania drugiej po-
chodnej wzorami:
2 y y 0 2 y 1 + y 2
za pomoc rnic wstecznych =
x 2 ( x0 x 1 ) 2

2 y y 2 2 y1 + y 0
za pomoc rnic przednich =
x 2 ( x1 x 0 ) 2

2 y y 2 y 0 + y 1
za pomoc rnic centralnych = 1
x 2
0,25 ( x1 x 1 ) 2

W powyszych wzorach zaoono, e punkty s rwnoodlege, tzn. x2x1 = x1x0 w przy-


padku rnic przednich, x1x2 = x0x1 w przypadku rnic wstecznych oraz x1x0 = x0x1
w przypadku rnic centralnych. Gdy ten warunek nie jest speniony, wzory s bardziej
rozbudowane. Przykadowo w przypadku rnic wstecznych naley uy wzoru:
2 y 2 y0 2 y 1 2 y 2
= +
x 2
( x0 x 1 )( x0 x 2 ) ( x0 x 1 )( x 1 x 2 ) ( x 1 x 2 )( x0 x 2 )

Drug pochodn moemy te traktowa po prostu jak pochodn pochodnej i zastosowa


dwukrotnie wzory na pierwsz pochodn.

Z reguy obiektem najwikszego zainteresowania s punkty, w ktrych pochodne przyj-


muj warto zero lub osigaj ekstremum. S to tzw. punkty krytyczne. Przykadowo
punkt, w ktrym druga pochodna osiga warto zero, nazywany jest punktem przegicia.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 6. Rniczkowanie numeryczne 91

Numeryczne obliczanie
pochodnej funkcji danej wzorem
W przypadku funkcji danej wzorem bezporednie zastosowanie ilorazu rnicowego jako
przyblienia pochodnej nie stanowi problemu i moe by efektywnie wykorzystane do
obliczenia pochodnych w sytuacji, gdy trudno jest znale odpowiedni formu funkcji
pochodnej. Jedynym problemem jest dobr optymalnej wartoci x. Obliczenia wykonywa-
ne s w Excelu z dokadnoci do okoo 15 cyfr znaczcych, w zwizku z tym zastoso-
wanie bardzo maej wartoci x moe prowadzi do niedokadnoci wywoanej ograniczo-
n dokadnoci stosowanej arytmetyki. Z kolei due wartoci x powoduj bd zwizany
z pominiciem w rozwiniciu funkcji w szereg Taylora wyrazw wyszych rzdw.

Rozwinicie funkcji w szereg Taylora ma posta:


f ( x) f ( x) 2 f ( n ) ( x) n
f ( x + x) = f ( x) + x + x + K + x + K
1! 2! n!

Jeeli z tego rozwinicia wyznaczymy I pochodn, otrzymamy:


f ( x + x) f ( x) f ( x) f ( n ) ( x) n 1
f ( x) = x K x + K
x 2! n!

Wynik ten pokazuje, e przyblienie pochodnej ilorazem rnicowym, obliczanym z uy-


ciem rnic przednich, generuje bd proporcjonalny w przyblieniu do x. Lepszym roz-
wizaniem jest zastosowanie rnic centralnych. Mamy bowiem
f ( x) f ( x) 2 f ( n ) ( x) n
f ( x x) = f ( x) x + x + K + (1) n x + K
1! 2! n!
skd pierwsza pochodna wyraa si wzorem:
f ( x + x) f ( x x) f ( x) 2 f ( n ) ( x) n 1
f ( x) = x K x + K
2x 3! n!

W tym wzorze wystpuj tylko czony z nieparzystymi wartociami n. Wida, e bd


oszacowania pochodnej za pomoc rnic centralnych jest w przyblieniu proporcjo-
nalny do x2.

W praktyce trzeba poszuka kompromisu midzy tymi uwarunkowaniami. Przykadowe


obliczenia przeprowadzono dla wielomianu 3. stopnia. Wyniki tych oblicze wida na ry-
sunku 6.1. W przypadku przyblienia z rnicami przednimi najmniejszy bd wzgldny
oblicze uzyskano dla x 1108|x|, z tym e dla |x| < 1 naley przyj x 1108.
W przypadku przyblienia z rnicami centralnymi najmniejszy bd wzgldny oblicze
uzyskano dla x 1105|x|, z tym e dla |x| < 0,1 naley przyj x 1106.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


92 Excel w obliczeniach naukowych i inynierskich

Rysunek 6.1. Ocena dokadnoci oszacowania pochodnej za pomoc ilorazu rnicowego

Numeryczne rniczkowanie
danych pomiarowych
Jeeli wartoci funkcji pochodz z pomiarw, to trzeba mie wiadomo, e bdy po-
miarw w sposb bardzo istotny wpywaj na oszacowanie pochodnej. Iloraz rnicowy
jest stosunkiem rnic wartoci funkcji i argumentu w pobliskich punktach, a wic jest to
stosunek dwu maych, w porwnaniu z wartoci funkcji, liczb. Jeeli bdy pomiarw
maj przeciwne znaki, moe nastpi kumulacja bdw i w efekcie bd oszacowania po-
chodnej bdzie bardzo duy. Dlatego bezpieczniej jest przeprowadzi najpierw aproksy-
macj badanej funkcji na przykad wielomianem i obliczy pochodn wielomianu aprok-
symacyjnego zamiast bezporedniego obliczania pochodnej z danych dowiadczalnych.

Bezporednie oszacowanie wartoci pochodnych


na podstawie danych pomiarowych
Jako przykad bezporedniego rniczkowania rozpatrzymy typow w chemii analitycznej
krzyw miareczkowania kwasowo-zasadowego. Jest to zaleno pH roztworu od iloci
dodanego odczynnika miareczkujcego. Charakterystyczne punkty tej zalenoci wyka-
zuj najszybsz (lokalnie) zmian pH. Na krzywej pochodnej wystpi w tych punktach
maksima, a na wykresie drugiej pochodnej bd punkty zerowe. Dokadna lokalizacja
tych punktw pozwoli okreli zawarto skadnikw w badanej prbce. Dane liczbowe
przykadu zamieszczono na rysunku 6.2.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 6. Rniczkowanie numeryczne 93

Rysunek 6.2.
Numeryczne
obliczenia pierwszej
i drugiej pochodnej
na przykadzie krzywej
miareczkowania

Przykad 6.1.
Tabelka przedstawia krzyw miareczkowania prbki 20 cm3 mieszaniny roztworw sa-
bego i mocnego kwasu 0,1-molowym roztworem NaOH. Wykonano wykres zalenoci
pH od objtoci dodanego odczynnika miareczkujcego oraz wykres ilorazu rnicowego
pH/V jako funkcji V, ktry jest przyblieniem pochodnej. Warto ilorazu rnicowe-
go przypisano do rodka przedziau V, dla ktrego zostaa obliczona. Wykonano rwnie
wykres drugiej pochodnej. Z wykresw odczytano, przy jakich wartociach V pH zmienia
si najszybciej. Na wykresie I pochodnej na osi rzdnych zastosowano skal logarytmiczn.

Na wykresach mona zauway dwa punkty krytyczne, pierwszy skok pH wystpuje przy
V = 24,4 cm3 i jest prawie niewidoczny przy zastosowaniu skali liniowej na wykresie po-
chodnej. Dopiero uycie skali logarytmicznej ujawnia ten punkt krytyczny. Drugi skok pH
jest bardzo wyrany i wystpuje przy V = 55,0 cm3. Na wykresie II pochodnej skal na osi
rzdnych celowo ograniczono do 1, aby mona byo zauway pierwszy may skok pH.

Aproksymacj pochodnej ilorazem rnicowym stosunkowo rzadko wykorzystuje si do


obrbki danych dowiadczalnych ze wzgldu na ryzyko kumulacji bdw, natomiast
do czsto w przypadku funkcji okrelonych wzorem. Powrcimy do tego zagadnienia
przy okazji metod numerycznych rozwizywania rwna algebraicznych i rniczkowych.

Obliczenie pochodnej
za porednictwem funkcji aproksymujcej
Gdy zachodzi potrzeba wyznaczenia pochodnej zalenoci okrelonej przez wyniki do-
wiadcze, rozwizaniem lepszym od bezporedniego rniczkowania jest aproksymacja
badanej zalenoci odpowiednio dobran funkcj, na przykad wielomianem, a nastpnie

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


94 Excel w obliczeniach naukowych i inynierskich

zrniczkowanie funkcji aproksymujcej. (Kwesti aproksymacji zalenoci dowiadczal-


nej omwiono dokadnie w rozdziale 15. Regresja liniowa). Potrzebne bd wartoci
liczbowe wspczynnikw, musimy wic uy funkcji REGLINP lub REGEXPP.

Jeeli do aproksymacji wybierzemy wielomian n-tego stopnia


n
f ( x) = a 0 + a1 x + a 2 x 2 + K + a n x n = a x
k =0
k
k

to po wyznaczeniu wspczynnikw ai moemy atwo obliczy pochodne a do n-tego


rzdu. Najczciej potrzebne s pierwsza i druga pochodna:
n
f ( x) = a1 + 2a 2 x + 3a3 x 2 + K + na n x n1 = ka x
k =1
k
k 1

n
f ( x) = 2a 2 + 2 3a3 x + 3 4a 4 x 2 + K + (n 1)na n x n 2 = (k 1)ka x
k =2
k
k 2

W przypadku gdy do aproksymacji danych chcemy uy wielomianu 3. stopnia, pierwsz


pochodn moemy obliczy w Excelu w nastpujcy sposb (zapisy dotycz wersji 2007
i wczeniejszych, w wersji 2010 ; w staej tablicowej naley zamieni na \):
= SUMA(REGLINP(znane_y; znane_x^{1;2;3})*x^{2;1;0;0}*{3;2;1;0})
a drug pochodn:
= SUMA(REGLINP(znane_y; znane_x^{1;2;3})*x^{1;0;0;0}*{6;2;0;0})

znane_y i znane_x reprezentuj zbiory danych pomiarowych zmiennych y i x, kady z tych


zakresw musi stanowi kolumn danych; x jest wartoci argumentu, dla ktrej obli-
czamy pochodn. Przy obliczeniach tego typu moe wystpi problem, gdy x = 0. Pojawia
si tu bowiem symbol nieokrelony 00 i Excel sygnalizuje bd. Aby go unikn, trzeba
do zerowego argumentu doda jak bardzo ma sta, na przykad 108 (1E-08), ktra
nie bdzie miaa wpywu na wyniki oblicze.

Z koniecznoci obliczenia pochodnej spotka si moemy na przykad przy obliczeniach


czstkowych wielkoci molowych w chemii fizycznej. Jako ilustracj rozpatrzymy pro-
cedur wyznaczania czstkowych objtoci molowych etanolu i wody w mieszaninie
tych skadnikw. Dana jest zaleno redniej objtoci molowej mieszaniny V od uam-
ka molowego etanolu x1. Objtoci molowe czystych skadnikw V1 (etanol) i V2 (woda)
s znane. Naley wyznaczy czstkowe objtoci molowe skadnikw w funkcji skadu
roztworu. Wielkoci te wylicza si ze wzorw:
dV
V1 = V + (1 x1 )
dx1

dV
V2 = V x1
dx1

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 6. Rniczkowanie numeryczne 95

Wiksz dokadno mona osign, jeeli zamiast objtoci molowej V jako zmienn ro-
bocz wemie si zmian objtoci mieszaniny na skutek zmieszania, czyli wielko
Vmix = Vx1V1x2V2. Uwzgldniajc, e x1+x2 = 1, atwo wykaza, e
d (Vmix ) dV
= V 1 +V 2
dx1 dx1

i dalej
d (Vmix )
V1 = V 1 + Vmix + (1 x1 )
dx1

d (Vmix )
V2 = V 2 + Vmix x1
dx1

Vmix = 0 na kocach przedziau zmiennoci dla x1 = 0 i dla x2 = 0. Zatem jeli Vmix


przedstawimy w postaci wielomianu, to x1 i x2 s pierwiastkami tego wielomianu.

Vmix = x1 x2y(x1)

y(x1) jest pomocniczym wielomianem, ktrego pochodn bdziemy chcieli wyznaczy


w nastpujcy sposb:
d (Vmix ) d ( x1 x 2 y ) dy
= = x 2 y x1 y + x1 x 2
dx1 dx1 dx1

a wic
dy
V1 = V 1 + x1 x 2 y + x 22 y x1 x 2 y + x1 x 22
dx1

dy
V1 = V 1 + x 22 y + x1
dx1

Podobnie

dy
V2 = V 2 + x1 x 2 y x1 x 2 y x1 y + x1 x 2
dx1

dy
V2 = V 2 + x12 y x 2
dx1

Zadanie obliczenia czstkowych objtoci molowych sprowadza si do obliczenia po-


chodnej funkcji pomocniczej y wzgldem x1.

Funkcj y aproksymowano odcinek po odcinku wielomianami 3. stopnia, biorc pod uwag


za kadym razem cztery kolejne punkty. Wyznaczone wspczynniki wielomianu uwzgld-
niono przy obliczaniu pochodnej w dwch punktach wewntrznych przedziau, dla ktrego

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


96 Excel w obliczeniach naukowych i inynierskich

zostay wyznaczone. Zatem poza skrajnymi dwoma pierwszymi i dwoma ostatnimi punkta-
mi, dla ktrych jest dostpny tylko jeden zestaw wspczynnikw, dla pozostaych punktw
dostpne s po dwa zestawy wspczynnikw, ktre uredniono. Wyniki oblicze pokazano
na rysunku 6.3. Do obliczenia pochodnych zastosowano wzory podobne do proponowa-
nych powyej. Przykadowo (zapis dotyczy wersji 2007 i wczeniejszych, w wersji 2010 ;
w staej tablicowej naley zamieni na \):
= SUMA(REGLINP($D$7:$D$10; $A$7:$A$10^{1;2;3})*A8^{2;1;0;0}*{3;2;1;0})

Rysunek 6.3. Wyniki obliczenia pochodnej z wykorzystaniem wspczynnikw wielomianu aproksymacyjnego

Wartoci funkcji pomocniczej y na kocach przedziau, czyli dla x1 = 0 i x1 = 1, nie mona


obliczy bezporednio (symbol nieoznaczony 0/0). W tym przypadku oszacowano wartoci
funkcji na podstawie aproksymacji wielomianem 3. stopnia wartoci funkcji w punktach
ssiednich, a nastpnie wzito wartoci tych wielomianw w punktach x1 = 0 i x1 = 1.
W pierwszym przypadku jest to wyraz wolny wielomianu (zapisy dotycz wersji 2007
i wczeniejszych, w wersji 2010 ; w staej tablicowej naley zamieni na \):
= INDEKS(REGLINP(D$7:D$10; A$7:A$10^{1;2;3}); 4)
a w drugim suma wspczynnikw:
= SUMA(REGLINP(D$22:D$25; A$22:A$25^{1;2;3}))

Dane do tego przykadu i koncepcj rozwizania zaczerpnem z ksiki [10].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 7.
Obliczanie
caek oznaczonych
z wykorzystaniem
ich interpretacji
geometrycznej
Pojcie caki oznaczonej
W interpretacji geometrycznej caka oznaczona jest rwna polu powierzchni obszaru mi-
dzy wykresem funkcji a osi odcitych. Ta interpretacja w sposb naturalny sugeruje
moliwo obliczania caki oznaczonej jako granicy cigu sum pl podobszarw, na ktre
podzielono obszar pod wykresem funkcji. Jeeli przedzia cakowania zostanie podzielony
na n podprzedziaw, to caka w caym przedziale jest rwna sumie pl podobszarw
odpowiadajcych tym podprzedziaom.

Sposoby obliczania caek


metod kwadratur
Obliczenie pola takiego podobszaru jest moliwe, gdy oryginalny przebieg funkcji pod-
cakowej zostanie zastpiony przez stosunkowo prost funkcj aproksymujc. W praktyce
wchodzi w gr funkcja staa, funkcja liniowa oraz wielomiany stopnia drugiego i trzeciego.
W zalenoci od uytej funkcji aproksymujcej otrzymuje si rne warianty tej metody ca-
kowania, zwane odpowiednio metodami prostoktw, trapezw i Simpsona (w dwch

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


98 Excel w obliczeniach naukowych i inynierskich

wersjach). Poprzez zwikszenie liczby podprzedziaw n uzyskuje si coraz lepsze przy-


blienia poszukiwanej caki. Analizujc, jak zmieniaj si przyblienia caki ze wzrostem n,
mona oszacowa granic tego cigu przyblie przy n , rwn poszukiwanej cace.
Oczywicie taka procedura sprawdzi si tylko wtedy, gdy funkcja podcakowa jest okre-
lona wzorem i moliwe jest obliczenie jej wartoci dla dowolnego argumentu. W przy-
padku cakowania zalenoci bdcej wynikiem pomiarw, gdy znamy tylko wartoci
funkcji w wybranych punktach, musi wystarczy oszacowanie caki na podstawie tych
wartoci (bez aproksymacji do n ).

Ze wzgldw praktycznych najczciej przedzia cakowania dzieli si na rwne podprze-


dziay. Otrzymuje si wwczas najprostsze wzory. Ale czasem, gdy jest to uzasadnione
zmiennoci funkcji albo dugoci przedziau cakowania, dogodniej jest podzieli wstpnie
przedzia cakowania na sekcje i dla kadej z nich prowadzi obliczenia przy innej dugoci
podprzedziaw.

Wprowadzimy nastpujce oznaczenia: zmienn cakowania oznaczymy liter x, funkcj


podcakow f(x), pocztek i koniec przedziau cakowania odpowiednio a i b.
Podprzedziay oznaczane bd indeksem i zmieniajcym si od 1 do n, punkty graniczne
i-tego podprzedziau bd miay wsprzdne xi1 oraz xi. Zatem a = x0, a b = xn. Dugo
podprzedziau cakowania: hi = xixi1, w przypadku rwnego podziau: hi = h = (ba)/n.
Pole powierzchni pod wykresem funkcji w i-tym podprzedziale oznaczymy oglnie Ai.
Zatem
b n n

f ( x)dx = lim
n A = lim f ( x)h
i =1
i
n
i =1
i i
a

Pole powierzchni podobszaru Ai mona opisa iloczynem dugoci podprzedziau hi


przez pewn redni warto funkcji podcakowej w i-tym podprzedziale f i (x) . Sposb
wyliczenia tej redniej rnicuje metody cakowania, zwane oglnie metodami kwa-
dratur. W najprostszym przypadku aproksymacji funkcj sta (metoda prostoktw)

f i ( x) = f ( xi 1 + 0,5hi ) = f (0,5( xi 1 + xi ))

bierze si warto funkcji w rodku kadego podprzedziau. W najczciej uywanej


metodzie trapezw (aproksymacja funkcj liniow) bierze si redni arytmetyczn warto-
ci funkcji na kocach podprzedziau

f i ( x) = 0,5( f ( xi 1 ) + f ( xi 1 + hi )) = 0,5( f ( xi 1 ) + f ( xi ))

W najdokadniejszych metodach Simpsona redni wylicza si jako redni waon


wartoci funkcji na kocach podprzedziau i w punktach porednich. W metodzie parabol,
opartej na aproksymacji wielomianem drugiego stopnia, jest to dodatkowo rodek pod-
przedziau
f i ( x) = ( f ( xi 1 ) + 4 f ( xi 1 + 0,5hi ) + f ( x i 1 + hi )) / 6
= ( f ( xi 1 ) + 4 f (0,5( xi 1 + x i )) + f ( xi )) / 6

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 7. Obliczanie caek oznaczonych 99

Wartoci na kocach przedziau bierze si z wag 1/6, a warto w rodku przedziau


z wag 4/6. Wreszcie w (najrzadziej stosowanej) metodzie opartej na wielomianie trzeciego
stopnia (zwanej metod 3/8) uwzgldnia si wartoci funkcji na kocach podprzedziau
i w dwch punktach porednich.
f i ( x) = ( f ( xi 1 ) + 3 f ( xi 1 + hi / 3) + 3 f ( xi 1 + 2hi / 3) + f ( xi 1 + hi )) / 8
= ( f ( xi 1 ) + 3 f ((2 xi 1 + xi ) / 3) + 3 f (( xi 1 + 2 xi ) / 3) + f ( xi )) / 8

Ta ostatnia metoda jest mao popularna, gdy jest bardziej zoona rachunkowo od meto-
dy parabol, cho wcale nie jest od niej dokadniejsza. Jej zastosowanie ma sens jedynie
w przypadku, gdy liczba punktw pomiarowych narzuca nam liczb podprzedziaw nie-
parzyst i podzieln przez 3.

Przy wykonywaniu oblicze zgodnie z powyszymi schematami naley pamita, e punkty


graniczne podprzedziaw (z wyjtkiem pocztku pierwszego podprzedziau i koca
ostatniego) bd liczone dwukrotnie raz jako koniec poprzedniego (i1)-szego pod-
przedziau, a drugi raz jako pocztek podprzedziau i-tego. Jeeli dugoci podprzedziaw
s rne, trzeba obliczy pola kadego podobszaru pod krzyw, a nastpnie je zsumowa.

Przy rwnych dugociach podprzedziaw mona wykonywa sumowanie na samych


wartociach funkcji, a dopiero wynik pomnoy przez dugo podprzedziau h. W przy-
padku poszczeglnych metod prowadzi to do nastpujcych wzorw oglnych:
n n

A = h f ( x
i =1
i
i =1
i 1 + 0,5h) metoda prostoktw

n n 1

A
i =1
i = h(0,5 f ( x 0 ) + f ( x ) + 0,5 f ( x ))
i =1
i n metoda trapezw

n
n 1 n 1

A = 16 h f ( x ) + 4 f ( x
i =1
i 0
i=0
i + 0,5h) + 2 f ( x ) + f ( x )
i =1
i n metoda parabol

n
n 1 n 1 n 1

A
i =1
i = 1 h f ( x 0 ) + 3
8
i =0

f ( xi + 13 h) + 3
i =0

f ( xi + 23 h) + 2
i =1

f ( xi ) + f ( x n )

metoda 3/8 Simpsona

Obliczenia caek w Excelu


W charakterze przykadu obliczymy cak funkcji f(x) = ex/x w przedziale od 1 do 5 rnymi
metodami, wykorzystujc podzia przedziau cakowania na n = 4 podprzedziay rwnej
dugoci. W tym przypadku h = (ba)/n = 1. Na rysunku 7.1 zaprezentowano obraz ekranu
Excela ilustrujcy przeprowadzone obliczenia.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


100 Excel w obliczeniach naukowych i inynierskich

Rysunek 7.1. Ekran z obliczeniem caki oznaczonej czterema metodami

Obliczenia kad metod wykonano w dwu wariantach w pierwszym wariancie obli-


czano odrbnie pola podobszarw Ai odpowiadajce podprzedziaom, na ktre podzielono
przedzia cakowania, po czym podsumowano te pola; w drugim wariancie w kolumnie
przygotowano list wspczynnikw, przez ktre naley pomnoy wartoci funkcji, a na-
stpnie w polu wyniku obliczono sum iloczynw kolumny wartoci funkcji i kolumny
wspczynnikw (funkcja Excela SUMA.ILOCZYNW), a wynik pomnoono przez dugo
podprzedziau h.

Przy przygotowywaniu tego arkusza naley wykorzystywa funkcj kopiowania i auto-


wypeniania. Poza komrkami, ktre zawieraj parametry cakowania a, b, n, h i ktrym
nadano nazwy tych parametrw (mona te wykorzysta odwoania absolutne), do wszyst-
kich innych komrek mona stosowa odwoania wzgldne.

Jak atwo zauway, kad metod otrzymano inny wynik. Na tym etapie oblicze trudno
oceni, jak dokadne s te wyniki. Bez oszacowania dokadnoci s one praktycznie bez-
wartociowe. Istniej wzory pozwalajce na ocen dokadnoci otrzymanych przyblie,
odmienne dla kadej metody, ale sdz, e wygodniej jest po prostu powtrzy oblicze-
nia przy wikszej liczbie podprzedziaw i porwna uzyskane wyniki. Dogodnie jest
zwikszy dwukrotnie liczb podprzedziaw, czyli w naszym przykadzie nowa warto
n wyniesie 8, a h = 0,5. Procedura obliczeniowa jest taka sama, wic wystarczy kilka
operacji kopiowania i modyfikacja zakresw sumowania, aby uzyska nowy, dokadniej-
szy wariant oblicze. Poprzednie obliczenia trzeba jednak zachowa do porwnania.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 7. Obliczanie caek oznaczonych 101

Po powtrzeniu jeszcze raz oblicze dla tym razem 16 podprzedziaw otrzymamy


po trzy przyblienia caki dla kadej metody cakowania. Mona teraz porwna otrzymane
wyniki, obliczajc rnice pomidzy kolejnymi przyblieniami, a nastpnie ich stosunek.
Wyniki tych oblicze pokazano na rysunku 7.2.

Rysunek 7.2. Ekstrapolacja wynikw cakowania do h 0

Mona zauway, e w przypadku metody prostoktw i metody trapezw dwukrotne


zmniejszenie kroku cakowania prowadzi do okoo 4-krotnego zmniejszenia bdu przy-
blienia, natomiast w przypadku obu metod Simpsona zmniejszenie bdu jest mniej wicej
16-krotne. Mwimy, e metody prostoktw i trapezw s rzdu drugiego, bo 22 = 4,
a metody Simpsona s rzdu czwartego, bo 24 = 16. Zaleno ta nie dla wszystkich funkcji
podcakowych jest tak dokadnie speniona, ale w miar obniania kroku cakowania po-
winna by speniana coraz lepiej. Mona przyj, e gdybymy kontynuowali t procedur
zmniejszania kroku cakowania o poow, otrzymalibymy cig rnic zbliony do szere-
gu geometrycznego o ilorazie 1/4 w przypadku metody prostoktw i trapezw lub 1/16
w przypadku metod Simpsona. Sumaryczna poprawka s, ktr naley doda do ostatnio
uzyskanego wyniku cakowania, jest sum nieskoczonego szeregu geometrycznego o ilo-
razie q = 1/4 lub 1/16. Pierwszym wyrazem tego szeregu jest pierwsza oszacowana poprawka,
rwna d*q, gdzie d jest ostatni obliczon rnic przyblie. Szereg jest zbieny, gdy
jego iloraz jest dodatni i mniejszy od 1, a jego suma jest rwna
dq d d
s = lim s n = = lub
n 1 q 3 15

Wielko tej sumarycznej poprawki jest zarazem oszacowaniem od gry bdu obliczonej
ostatecznie wartoci caki.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


102 Excel w obliczeniach naukowych i inynierskich

W naszym przykadzie metod prostoktw i trapezw uzyskano wynik 38,29; natomiast


wynik otrzymany metodami Simpsona jest znacznie dokadniejszy i wynosi 38,290158.

W przykadowych obliczeniach dwukrotnie zwikszalimy liczb podprzedziaw ca-


kowania, aby uzyska trzy przyblienia caki i na tej podstawie okreli rzd metody.
Normalnie, gdy rzd metody jest znany, wystarcz dwa przyblienia. Jeeli jednak stwier-
dzamy du rnic w wynikach (sab zbieno) po dwch seriach oblicze, to warto
wykona jeszcze jedn lub dwie nastpne serie, aby zmniejszy bd wyniku. Jeeli obli-
czony stosunek rnic po dwu- i czterokrotnym zwikszeniu liczby podprzedziaw istot-
nie rni si od przewidywanych wartoci (1/4 w przypadku metody prostoktw i trapezw
lub 1/16 w przypadku metod Simpsona), lepiej przyj jako iloraz q szeregu geometrycz-
nego warto stosunku wynikajc z oblicze.

W ten sposb obliczy mona cak oznaczon kadej funkcji danej wzorem. Aby uzy-
ska wystarczajco dokadny wynik, trzeba jednak wykona sporo oblicze, wprawdzie
prostych, ale ich przygotowanie zajmuje duo czasu i miejsca w arkuszu. Wyniki pored-
nie wartoci funkcji i pola podobszarw s potrzebne tylko przejciowo i nie musz
by wywietlane w arkuszu. W praktyce, gdy takich oblicze musimy przeprowadza
wicej, praca z tak du liczb wynikw porednich staje si niewygodna i wymaga
usprawnienia. Wyjcia s dwa: albo napisa procedur w Visual Basicu (powrcimy do
tego w rozdziale 22. Elementy jzyka VBA (Visual Basic for Applications)), albo wy-
korzysta dostpne w Excelu operacje tablicowe takie rozwizanie pojawi si w na-
stpnym podrozdziale.

Wykorzystanie operacji tablicowych


do skrcenia zapisu oblicze
Zapis tablicowy pozwala uproci obliczenia polegajce na sumowaniu skadnikw wy-
liczanych wedug powtarzalnego schematu. Tu mamy do czynienia z tak wanie sytu-
acj. Przygotowanie odpowiednich formu nie jest ju jednak tak proste jak przy podej-
ciu tradycyjnym.

Za zadanie postawimy sobie konstrukcj jednej formuy tablicowej, ktra bdzie dawa
od razu podany wynik, pobierajc z komrek arkusza parametry cakowania, tzn.
granice cakowania a i b oraz liczb podprzedziaw n. Posta funkcji podcakowej
bdzie zawarta w formule.

Pierwszym elementem bdzie konstrukcja zakresu podprzedziaw w formie wyraenia


tablicowego, ktre zapamitamy pod nazw zakres. Powinna to by tablica liczb natural-
nych od 1 do n, gdzie warto n pobierana jest z komrki arkusza o takiej nazwie. Sposb
wygenerowania takiej tablicy opisano w rozdziale 3. Operacje i funkcje tablicowe.

Do zdefiniowania tablicy uyjemy wyraenia:


= WIERSZ(ADR.POR("1:"&n))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 7. Obliczanie caek oznaczonych 103

To wyraenie naley zapamita pod nazw zakres, wybierajc z menu polecenie Wstaw/
Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj nazw), i w polu Nazwy w skoroszycie:
wpisa wybran nazw, a w polu Odwouje si do: wpisa podane powyej odwoanie,
po czym zatwierdzi to przyciskiem OK. Nadawanie nazw formuom omwiono dokad-
niej w rozdziale 2. Podstawowe operacje w arkuszu.

Teraz, uywajc nazwy zakres, mona odwoywa si do cigu kolejnych liczb natural-
nych od 1 do n, tak jakby byy zapisane w kolumnie arkusza. Nastpnym krokiem bdzie
obliczenie pl podobszarw odpowiadajcych podprzedziaom z zakresu. W ramach tego
kroku wyrni mona nastpujce etapy:
a) okrelenie wartoci x, jako funkcji numeru podprzedziau i, w ktrych naley
obliczy warto funkcji podcakowej f(x);
b) wstawienie x do formuy funkcji;
c) okrelenie wag liczbowych, z jakimi maj by wzite wartoci funkcji, i zapisanie
ich w formie staej tablicowej;
d) obliczenie sumy iloczynw wartoci funkcji i wag, pomnoonej przez dugo
podprzedziau.

Ostatnim krokiem bdzie sumowanie pl podobszarw.

Przytoczone poniej wzory zawieraj zapisy staych tablicowych stosowane w wersji


2007 i wczeniejszych, w wersji 2010 \ naley zamieni na ; i odwrotnie.

Ad a) Warto x na pocztku kadego podprzedziau jest rwna a+(i1)*h, na rodku


a+(i0,5)*h, na kocu a+(i0)*h, w 1/3 i 2/3 przedziau odpowiednio a+(i2/3)*h
i a+(i1/3)*h.

Zatem w metodzie prostoktw bdzie jedna warto: a+(i0,5)*h, w metodzie trapezw


dwie wartoci: a+(i{1;0})*h, w metodzie parabol trzy wartoci: a+(i{1;0,5;0})*h,
w metodzie 3/8 Simpsona cztery wartoci: a+(i{3;2;1;0}/3)*h.

Wprowadzimy wyrniki metod cakowania, o nazwie metoda, numerujc je od 1 do 4,


co odpowiada kolejno metodzie prostoktw, trapezw, parabol i 3/8 Simpsona, a na-
stpnie utworzymy list wsprzdnych i nadamy jej nazw punkty. Bdzie miaa form
tablicy, kolejne wiersze odnosi si bd do kolejnych metod. Tablica zostanie zdefi-
niowana w formie:
punkty : = {0,5;0;0;0\1;0;0;0\1;0,5;0;0\1;0 2/3;0 1/3;0}

Tablica ma wymiary 44. Poniewa definicja tablicy musi by pena, w miejsce brakuj-
cych danych wpisano zera (s one tu zaznaczone pogrubion kursyw jest to zabieg
troch sztuczny, ale umoliwia uzyskanie wynikw w sposb najbardziej efektywny). Ta-
blic mona zdefiniowa przez Wstaw/Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj
nazw), wpisujc nazw punkty w polu Nazwy w skoroszycie:, a definicj w polu Odwouje
si do:. Odwoanie do wierszy tej tablicy wymaga uycia funkcji:
= INDEKS(punkty; metoda; 0)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


104 Excel w obliczeniach naukowych i inynierskich

Wreszcie tworzymy tablic argumentw, nadajc jej nazw x zdefiniowan jako:


= a+(zakresINDEKS(punkty; metoda; 0))*h

Zamiast definiowa sta tablicow punkty, mona potrzebne wartoci wyliczy z od-
powiedniego wzoru. Odpowiednikiem wyraenia INDEKS(punkty; metoda; 0) moe
by formua:
= JEELI(metoda=1;0,5;(TRANSPONUJ(WIERSZ(ADR.POR("1:"&metoda)))-1)/
(metoda-1))

Kolejno punktw jest tu odwrcona, ale nie ma to znaczenia w dalszych obliczeniach.


Formua generuje tyle wartoci, ile potrzeba do oblicze, nie ma wic potrzeby stosowania
sztuczki z zerami. Formule mona nada nazw podzia.

W drugim wariancie oblicze tablicy argumentw moemy nada nazw xp, definiujc
j jako:
= a+(zakrespodzia)*h

Zgodnie z zasadami wykonywania operacji tablicowych, poniewa zakres jest wektorem


kolumnowym, a INDEKS(punkty; metoda; 0) lub podzia wektorem wierszowym, wy-
nik bdzie tablic o takiej liczbie wierszy jak zakres i takiej liczbie kolumn jak punkty
(w drugim wariancie liczba kolumn bdzie rwna wartoci zmiennej metoda) i bdzie
zawiera wszystkie moliwe kombinacje danych utworzonych z obu wektorw.

Ad b) Znajc formu funkcji, wpisujemy j jako formu tablicow. Obliczenia zilustru-


jemy na przykadzie caki funkcji f(x) = EXP(x)/x. W wyniku otrzymujemy tablic warto-
ci funkcji o rozmiarach tablicy x. W drugim wariancie oblicze zamiast x uyjemy xp.

Ad c) Wspczynniki wag stanowi wektor wierszowy, ktry musi by pomnoony


przez kady wiersz tablicy f(x). Wspczynniki s zrnicowane w zalenoci od meto-
dy cakowania, wic znowu zdefiniujemy tablic wspczynnikw wsp; w kolejnych
wierszach tej tablicy umiecimy wspczynniki liczbowe odpowiadajce stosowanym
metodom od 1 do 4. Staa tablicowa ma posta wsp ={1;0;0;0\0,5;0,5;0;0\0 1/6;0 2/3;
0 1/6;0\0 1/8;0 3/8;0 3/8;0 1/8} i tak jak poprzednio zostaa uzupeniona zerami.
Odwoanie do wierszy tej tablicy wymaga uycia funkcji INDEKS(wsp; metoda; 0).

W drugim wariancie oblicze moemy wykorzysta funkcj WYBIERZ. Jej skadni opisano
dokadnie w rozdziale 12. Rozwizywanie rwna nieliniowych. W tym przypadku mo-
na zapisa formu:
= WYBIERZ(metoda; 1; {1;1}/2; {1;4;1}/6; {1;3;3;1}/8)
i nada jej nazw wagi. Formua ta zastpi wywoanie funkcji INDEKS(wsp; metoda; 0).

Ad d) Tworzymy iloczyn = INDEKS(wsp; metoda; 0)*f(x)*h lub = wagi*f(x)*h. W naszym


przykadzie bdzie to = INDEKS(wsp; metoda; 0)*EXP(x)/x*h lub = wagi*EXP(xp)/xp*h.

Ostatnim krokiem oblicze jest przeprowadzenie sumowania. Dziki wpisaniu zer w miej-
scu brakujcych wspczynnikw niewykorzystywane w danej metodzie kolumny s wy-
penione zerami i nie przeszkadzaj w sumowaniu. W metodzie prostoktw wartociami

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 7. Obliczanie caek oznaczonych 105

niezerowymi wypeniona jest jedna kolumna, w metodzie trapezw wypenione s


dwie, w metodzie parabol trzy, a tylko w metodzie 3/8 wszystkie cztery.

Wynik cakowania otrzymamy po wprowadzeniu formuy:


= SUMA(INDEKS(wsp; metoda; 0)*EXP(x)/x*h)

W drugim wariancie oblicze uyjemy formuy:


= SUMA(wagi*EXP(xp)/xp*h)

Kad z formu trzeba zatwierdzi klawiszami Ctrl+Shift+Enter.

Przykadowy wygld fragmentw arkusza z tymi obliczeniami przedstawiono na rysun-


kach 7.3 i 7.4.

Rysunek 7.3. Przykad obliczenia caki z wykorzystaniem formu tablicowych

Uzyskany wynik ma bardzo zwiz posta, mona teraz elastycznie modyfikowa me-
tod i parametry cakowania, przeprowadza ekstrapolacj lub poprawia wynik przez
zwikszanie liczby podprzedziaw cakowania. W ostatecznej wersji arkusza porednie
wyniki oblicze s niepotrzebne, jednak na etapie opracowania formu niezbdne jest wy-
wietlanie wynikw porednich w celu sprawdzenia poprawnoci wszystkich krokw
obliczeniowych. Dlatego te w arkuszu prezentowanym na rysunku 7.3 zachowano
porednie etapy oblicze.

Powyszy przykad opracowano jako ilustracj moliwoci arkusza przy wykorzystaniu


operacji tablicowych. W praktyce moemy wybra jedn z metod cakowania i do obli-
cze wykorzysta prostsze wzory. Definiujc x jako
= a+zakres*h

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


106 Excel w obliczeniach naukowych i inynierskich

Rysunek 7.4.
Przykad obliczenia
caki z wykorzystaniem
innego wariantu
formu tablicowych

i stosujc metod trapezw, cak obliczymy ze wzoru:


= (f(a)/2+SUMA(f(x))f(b)/2)*h

W przypadku metody parabol mona zastosowa wzr:


= (f(a)+2*SUMA(f(x))+4*SUMA(f(x0,5*h))f(b))/6*h

Litera f symbolizuje funkcj podcakow, w naszym przykadzie zamiast f(x) naley wpi-
sa EXP(x)/x. Formuy zawierajce sumy musz by wprowadzane jako formuy tablicowe.

Kade z powyszych wyrae bazuje na definicji tablicy zakres, ktra obejmuje konkretn
liczb elementw, okrelon jako n. Zmieniajc n, otrzymamy inne przyblienia caki.
Aby sporzdzi zestawienie wynikw oblicze dla rnych wartoci n, najwygodniej po-
suy si sposobem opisanym w rozdziale 4. Tablicowanie funkcji jednej i dwu zmien-
nych, w podrozdziale Funkcje jednej zmiennej, w punkcie e). Naley tylko pamita,
by komrka zadeklarowana jako Kolumnowa komrka wejciowa bya t komrk,
do ktrej odwouje si definicja tablicy zakres.

Na rysunku 7.5 pokazano takie zestawienie. Do obliczenia caki wykorzystano metod


trapezw. Obliczenia wykonano wedug wzorw podanych powyej, z wykorzystaniem za-
pisu tablicowego, pocztkowo przy podziale przedziau cakowania na n = 8 podprzedzia-
w. Wynik uzyskano w komrce B37. Aby przeanalizowa, jak zmienia si obliczona war-
to caki w miar zwikszania liczby podprzedziaw, wykonano zestawienie tabelaryczne
z uyciem procedury Tabela danych, ktra pozwala w najprostszy sposb przeprowadzi
tak symulacj. Kolumna po lewej stronie zawiera list wartoci n, a kolumna po prawej
wyniki oblicze caki. W pierwszym wierszu tabeli umieszczono wyjciow warto n,
a obok odwoanie do komrki z wynikiem przeprowadzonych oblicze. W kolumnie n
umieszczono list wartoci do przetestowania powinny to by stae. Zaznaczono cay
zakres wartoci n wraz z ssiedni kolumn przewidzian na wyniki, a nastpnie wywoano
procedur Tabela danych, podajc jako Kolumnow komrk wejciow nazw n.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 7. Obliczanie caek oznaczonych 107

Rysunek 7.5.
Zestawienie
tabelaryczne wynikw
oblicze caki metod
trapezw przy rnej
liczbie podprzedziaw
n, na ktre podzielono
przedzia cakowania
dwie metody
oblicze

Uzyskane wyniki mona porwna z otrzymanymi wczeniej metod Simpsona z ekstra-


polacj. Obliczenia wykonane metod Simpsona przy n = 8 i 16 po ekstrapolacji s zbli-
one pod wzgldem dokadnoci do wynikw oblicze bezporednich metod trapezw
przy n 4000. Wskazuje to na znacznie wiksz dokadno metody Simpsona. Z drugiej
strony prostota implementacji oblicze przy praktycznie dowolnej wartoci n moe ska-
nia do wyboru metody prostszej obliczeniowo. W przypadku bardzo zoonych oblicze
i bardzo duych wartoci n pewn barier moe stanowi tylko czas potrzebny na wyko-
nanie oblicze, ale w tym przykadzie nie odgrywa on jeszcze adnej roli.

Alternatywnym w stosunku do Tabeli danych sposobem przeprowadzenia oblicze caki


przy rnej liczbie podprzedziaw n moe by wykorzystanie w definicji n adresu wzgld-
nego (lub mieszanego). W takim przypadku wyniki oblicze uzyskamy przez zwyke
kopiowanie formu, nie bdzie problemw z ewentualnym zastosowaniem formu w ko-
lumnie n, musimy natomiast tak zorganizowa obliczenia, aby dla konkretnej wartoci n
zmieci wszystkie obliczenia w jednej komrce lub przynajmniej w jednym wierszu.

Obliczenia naley rozpocz od zdefiniowania formuy:


ww : = WIERSZ(ADR.POR("1:"&nw))

nw jest adresem wzgldnym lub mieszanym komrki zawierajcej liczb podprzedziaw.


Wane jest, by w momencie wprowadzania definicji nw do Menedera nazw komrk
aktywn bya komrka, do ktrej potem wpiszemy kocow formu. Nastpnie naley
okreli:
hw : = (b-a)/nw
xw : = a+ww*hw
i wreszcie wynik cakowania:
wynik : = ((EXP(a)/a-EXP(b)/b)/2+SUMA(EXP(xw)/xw))*hw

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


108 Excel w obliczeniach naukowych i inynierskich

Wynik cakowania mona umieci w komrce arkusza, wprowadzajc formu jako ta-
blicow lub definiujc j jako formu nazwan w Menederze nazw. W tym drugim przy-
padku w komrce arkusza wpisuje si tylko odwoanie = wynik. Jeeli teraz w kolumnie
pod komrk nw umiecimy list liczb podprzedziaw, to do komrek ssiednich moe-
my skopiowa odwoanie: = wynik, ktre jest w tym przypadku odwoaniem wzgldnym.
Warto zwrci uwag, e wprowadzajc formu tablicow do Menedera nazw, zatwier-
dzamy j tylko klawiszem Enter. Rwnie odwoanie: = wynik, ktre wpisujemy do arku-
sza, jest zwykym odwoaniem.

Trzeba si te liczy z niespodziankami, ktre czasem Excel sprawia w odpowiedzi na


prby uywania formu tablicowych. Niektre funkcje nie akceptuj argumentw tabli-
cowych i wywietlaj komunikaty bdw. S to albo niedoskonaoci implementacji,
albo skutki niedokadnego opisu dziaania tych funkcji. Potrzeba wic troch cierpliwoci
i pokory, zanim uzyska si zadowalajcy rezultat.

Wykorzystanie iteracji
i odwoa cyklicznych
do obliczania caek
Zamiast zapisu tablicowego do uproszczenia obliczenia caki mona wykorzysta ide
iteracji polegajc na sumowaniu czstkowych wynikw oblicze w tej samej komrce.
Z punktu widzenia arkusza kalkulacyjnego w obliczeniach wykorzystuje si zamierzone
odwoania cykliczne, czyli wielokrotn modyfikacj zawartoci tej samej komrki. Obli-
czenia takie naley zainicjowa przez rczne ustawienie wartoci zmiennej sterujcej.

Przebieg oblicze oparty jest na podobnej idei, jak stosowano dotychczas. Wyjanimy
to na przykadzie metody trapezw. Potrzebnych bdzie kilka komrek roboczych:
komrka sterujca start, ktrej bdziemy nadawa warto 1 lub 0 (albo PRAWDA
lub FASZ) warto 1 inicjuje obliczenia, ustawiajc wartoci pocztkowe
w innych komrkach roboczych, warto 0 uruchamia proces iteracyjny;
zakoczenie oblicze jest automatyczne, po spenieniu okrelonego warunku;
komrka i, przechowujca numer podprzedziau;
komrka x, przechowujca warto zmiennej niezalenej, odpowiadajc
kocowi kadego podprzedziau;
komrka wynik, w ktrej obliczana jest warto caki.

Tak jak poprzednio pocztek i koniec przedziau cakowania oznaczymy odpowiednio


przez a i b, liczb podprzedziaw przez n, dugo podprzedziau h obliczon jako (ba)/n.

Obliczenia wykonujemy wedug wzoru:


wynik : = (f(a)/2+SUMA(f(x))+f(b)/2)*h dla a < x < b

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 7. Obliczanie caek oznaczonych 109

Przy inicjacji oblicze (start = 1) i przyjmuje warto 0, x przyjmuje warto a, a wynik


warto = (f(a)+f(b))/2*h.

Kontynuujc obliczenia, zmieniamy warto start na 0, do wartoci i dodajemy 1,


obliczamy x, a do komrki wynik dodajemy f(x)*h.

Operacje te powtarzamy, a i osignie warto n, lecz przy i = n ju nie dodajemy f(x)*h


do wyniku.

Aby przeoy powyszy opis na jzyk formu Excela, naley zapisa w poszczegl-
nych komrkach wyraenia warunkowe:
i : = JEELI(start; 0; JEELI(i < n; i+1; n))
x : = a+i*h
wynik := JEELI(start; (f(a)+f(b))/2*h; JEELI(i < n; wynik+f(x)*h; wynik))

Poniewa odwoania cykliczne s zazwyczaj konsekwencj bdw w formuach, musimy


zasygnalizowa intencj ich wykorzystania w arkuszu. W tym celu w opcjach arkusza trzeba
zaznaczy pole iteracji (w starszych wersjach w menu Narzdzia/Opcje/Przeliczanie za-
znaczy kwadrat Iteracja, w wersji 2007 Przycisk pakietu Office/Opcje programu Excel/
Formuy/Opcje obliczania, a w wersji 2010 Plik/Opcje/Formuy/Opcje obliczania i za-
znaczy pole Wcz obliczenia iteracyjne). Aby przeledzi, jak przebiegaj obliczenia
krok po kroku, naley wpisa Maksymaln liczb iteracji rwn 1, zazwyczaj jednak na-
daje si temu parametrowi warto 100. Rozpoczynamy obliczenia od wpisania do ko-
mrki start wartoci 1. Po naciniciu Enter obliczenia zostan zainicjowane. Teraz na-
ley wpisa do komrki start warto 0 i ponownie nacisn Enter. Wykonana zostanie
druga iteracja. Kolejne wyrazy obliczymy i zsumujemy, naciskajc klawisz funkcyjny F9
(przeliczanie arkusza). Gdy warto x osignie warto b, obliczenia zostan zakoczone
i kolejne nacinicia klawisza F9 nie zmieni ju wyniku. Jeeli Maksymalna liczba ite-
racji jest rwna lub wiksza od liczby podprzedziaw, obliczenia zakocz si jedno-
etapowo i naciskanie klawisza F9 jest niepotrzebne. W obliczeniach ilustrujcych nasz
przykad oznaczenie wartoci funkcji f(x) naley zastpi funkcj EXP(x)/x.

Jeeli wykorzystamy dodatkowo funkcj OBLICZ pozwalajc na obliczanie wartoci funkcji


danej w postaci tekstowej (w jaki sposb zdefiniowa t funkcj, opisano w rozdziale 22.
Elementy jzyka VBA (Visual Basic for Applications)), moemy tak zorganizowa ob-
liczenia, aby definicja funkcji podcakowej bya podana jeden raz w wybranej komrce
arkusza. W ten sposb proces obliczania caki bdzie niezaleny od funkcji podcakowej.
Oprcz komrek zawierajcych granice cakowania a i b, liczb podprzedziaw n, obli-
czon dugo podprzedziau h, numer podprzedziau i oraz zmienn sterujc start nada-
my nazw fun komrce, do ktrej wprowadzimy wzr funkcji jako tekst ze zmienn x.
Posta wzoru musi by zgodna z angielsk wersj arkusza.

Warto funkcji oblicza bdziemy wzgldem wartoci argumentu umieszczonego w ko-


mrce po lewej stronie. W tym celu zdefiniujemy za pomoc Menedera nazw nazw arg,
nadajc j komrce po lewej stronie komrki aktywnej (adres wzgldny). Nastpnie nadamy
nazw wart formule obliczajcej warto funkcji
wart : = OBLICZ(PODSTAW(fun; "x"; PODSTAW(arg;",";".")))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


110 Excel w obliczeniach naukowych i inynierskich

Komrka i zawiera jak poprzednio formu iteracyjn:


i : = JEELI(start; 0; JEELI(i < n; i+1; n))
x : = a+i*h

Obok komrek a, b i x umieszczamy wywoania = wart, aby obliczy wartoci funkcji.


Wreszcie w komrce wynik umieszczamy formu:
wynik : = JEELI(start; (f(a)+f(b))/2*h; JEELI(i < n; wynik+f(x)*h; wynik))

W tym wzorze f(a), f(b) i f(x) oznaczaj adresy komrek, w ktrych znajduj si obliczone
wartoci funkcji.

Gdy posugujemy si Excelem w wersji 2000, moemy zastosowa prostsz formu


do obliczania wartoci funkcji.

Za pomoc polecenia Wstaw/Nazwa/Definiuj nadajemy nazw x komrce po lewej stronie


komrki aktywnej (adres wzgldny). Nastpnie nadajemy nazw wart formule obliczajcej
warto funkcji
wart : = OBLICZ(fun&"")

Niestety w pniejszych wersjach Excela zmieniono sposb obliczania wartoci w arku-


szu przy obliczeniach iteracyjnych i ta prosta, naturalna formua nie moe by uyta
do oblicze iteracyjnych, gdy daje nieprawidowe wyniki.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 8.
Obliczanie caek
niewaciwych
Pojcie caki niewaciwej
Z cak niewaciw mamy do czynienia wtedy, gdy jedna lub obie granice cakowania
s rwne plus lub minus nieskoczonoci albo gdy w zakresie cakowania lub na jego
kocach wystpuje punkt (lub punkty), w ktrym funkcja podcakowa dy do niesko-
czonoci. Caka w takim przypadku jest interpretowana jako granica cigu caek waci-
wych, o ile taka granica istnieje. Obliczanie caek niewaciwych sprowadza si do oblicze-
nia cigu caek i przeprowadzenia ekstrapolacji. Niektre caki niewaciwe mona rwnie
przeksztaci w caki waciwe przez zastosowanie odpowiedniego podstawienia, na przy-
kad czsto stosowanym podstawieniem jest x = 1/t, a oglniej x = ta (a jest odpowiednio
dobranym wykadnikiem potgowym). Przykadowo cak niewaciw z wielomianem
w mianowniku moemy obliczy, stosujc przeksztacenie:
1
dx dx dx

0
3 2
= 3 2 +
ax + bx + cx + e 0 ax + bx + cx + e 1 ax + bx 2 + cx + e
3
Pierwsz cak obliczamy w zwyky sposb, do drugiej zastosujemy podstawienie x = 1/t,
wtedy dx = dt/t2, przy czym grna granica cakowania zmieni si z na 0, zamiana granic
cakowania powoduje zmian znaku funkcji podcakowej. Otrzymamy zatem:
0 1
dx dt / t 2 tdt

1
ax 3 + bx 2 + cx + e
= at
1
3
=
+ bt 2 + ct 1 + e 0 a + bt + ct 2 + et 3

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


112 Excel w obliczeniach naukowych i inynierskich

Przykad obliczenia caki


metod ekstrapolacji
Jako przykad rozpatrzymy ciekaw funkcj, ktra jest uoglnieniem funkcji silnia na ar-
gumenty niecakowite. Jak wiadomo SILNIA(n) jest definiowana jako iloczyn kolejnych
liczb cakowitych od 1 do n. Dodatkowo SILNIA(0) = 1. (W matematyce symbolem silni
jest wykrzyknik: !). Przy takiej definicji silnia jest nieokrelona dla argumentw nieca-
kowitych, a take ujemnych. W przypadku argumentw dodatnich uoglnieniem silni jest
funkcja (x) okrelona wanie jako caka niewaciwa.


( x) = e t t x dt
0

Zmienn cakowania jest t, argument funkcji jest w funkcji podcakowej parametrem


i jego warto pozostaje staa w trakcie procedury cakowania. Cakowanie mona prze-
prowadzi bezporednio, gdy w miar wzrostu wartoci t funkcja podcakowa szybko
maleje. Gdy jej warto obniy si wyranie (przynajmniej o rzd wielkoci) poniej ocze-
kiwanej dokadnoci, mona przerwa obliczenia. Ze wzgldu na szybkie zmniejszanie
si wartoci funkcji podcakowej celowe jest zastosowanie pocztkowo mniejszej szero-
koci podprzedziaw cakowania, a w miar wzrostu t mona t szeroko zwikszy. Pro-
wadzc ekstrapolacj, naley zachowa te same punkty zmiany szerokoci podprzedzia-
w i przy tej samej wartoci t przerywa obliczenia.

Alternatywnym sposobem przeprowadzenia oblicze jest zastosowanie podstawienia z = 1/t.


Odpowiada to zamianie zmiennej t na 1/z, a dt na dz/z2. Oczywicie nie ma sensu stoso-
wanie tego podstawienia w caym przedziale cakowania, bo zamienilibymy jedn cak
niewaciw na inn cak niewaciw. Trzeba podzieli przedzia cakowania wzgldem t
na dwie czci od 0 do t1 oraz od t1 do . W pierwszej czci cakowanie odbywa si wzgl-
dem t, natomiast w drugiej czci po podstawieniu z = 1/t cakowanie prowadzimy wzgl-
dem z, po zmianie granicy cakowania t1 na 1/t1 i na 0.

Funkcja podcakowa zostanie przeksztacona tak:


t1


( x) = e t t x dt + e t t x dt
0

t1

0 1 / t1
dz

t1
e t t x dt =
1 / t1
e 1 / z z x
z2
= e 1 / z ( 1z ) x + 2 dz
0

W punkcie z = 0, czyli na pocztku zmodyfikowanego przedziau cakowania, funkcja


podcakowa jest nieokrelona (symbol nieoznaczony 0*), ale atwo sprawdzi, e w punk-
cie tym funkcja ma granic rwn 0, wic mona przyj w tym punkcie warto granicy
zamiast wartoci funkcji (w Excelu mona unikn problemw z bdem, wpisujc jako
doln granic cakowania zamiast zera jak ma liczb, na przykad 1E8).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 8. Obliczanie caek niewaciwych 113

Przykadowe obliczenia przeprowadzono dla x = 1,5, przyjmujc jako warto graniczn


t1 = 4. Wyniki oblicze pokazano na rysunku 8.1: w 1. kolumnie przedzia t od 0 do 4, w 2.
kolumnie przedzia t od 4 do 28 (teoretycznie do , lecz przy t = 28 warto funkcji jest
ju bardzo maa i praktycznie nie wpywa na wynik, wic mona przerwa obliczenia),
w 3. kolumnie po zmianie zmiennej przedzia z od 0 do 0,25. Pierwszy etap cakowania jest
zapisany w sposb jawny, dalsze etapy z wiksz liczb podprzedziaw cakowania zo-
stay zapisane za pomoc formu tablicowych, a wyniki wpisane do zestawienia umoli-
wiajcego ekstrapolacj.

Rysunek 8.1. Przykad obliczenia caki niewaciwej metod Simpsona z ekstrapolacj. Dwa warianty
oblicze, w tym jeden z zamian zmiennej

Jako ciekawostk mona doda, e funkcja (x) moe by obliczona w Excelu bezpo-
rednio, gdy istnieje prosty zwizek pomidzy t funkcj a zaimplementowan w arkuszu
funkcj ROZKAD.LIN.GAMMA, mianowicie:
(x) = EXP(ROZKAD.LIN.GAMMA(x+1))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


114 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 9.
Obliczanie grnej
granicy cakowania
Zagadnieniem zblionym do obliczania caek oznaczonych jest obliczanie jednej z granic
cakowania (najczciej grnej) przy danej wartoci caki. Chodzi zatem o znalezienie war-
toci x takiej, e
x

f (t )dt = I
a

Posta funkcji f(t), dolna granica cakowania a oraz warto caki I s dane. Naturalnym
rozwizaniem tego problemu jest przyjcie pewnej pocztkowej wartoci x0, obliczenie
wartoci caki I0, ktra odpowiada przyjtemu x0, a nastpnie iteracyjna korekta x a do
uzyskania poprawnej wartoci I. Ten ostatni etap (dopasowanie wartoci x) mona po-
wierzy narzdziom takim jak Szukaj wyniku lub Solver. Istotne jednak jest takie zorga-
nizowanie oblicze, aby wszystkie parametry cakowania byy wyliczane, tak by po korekcie
grnej granicy cakowania nastpio automatyczne dopasowanie dugoci podprzedzia-
w cakowania i przeliczenie wartoci funkcji podcakowej w nowych punktach.

Alternatywnie problem mona rozwiza, wykorzystujc metod Newtona rozwizywania


rwna nieliniowych, najlepiej w wersji z zamierzonymi odwoaniami cyklicznymi. Obie
metody omwiono dokadniej w rozdziale 12. Rozwizywanie rwna nieliniowych.

Opisane powyej operacje s moliwe, jeeli funkcja podcakowa jest opisana wzorem
i moe by obliczona dla dowolnej wartoci argumentu. Moe rwnie wystpi sytuacja,
e funkcja f(t) znana jest tylko jako zbir punktw (np. pomiarowych), wtedy nasze za-
danie mona rozwiza tylko metod interpolacji. Rozwizanie tego zagadnienia najlepiej
przeledzi na przykadach.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


116 Excel w obliczeniach naukowych i inynierskich

Funkcja podcakowa opisana wzorem


Pierwszy przykad dotyczy bdzie funkcji okrelonej wzorem. Naley znale grn gra-
nic cakowania w przypadku funkcji y = et^2:
x

e
t 2
dt = 0,7
0

Cak obliczamy w zwyky sposb, przyjmujc warto startow x0 = 0,8. Zastosowano


metod Simpsona bez ekstrapolacji. atwo sprawdzi, e ju przy n = 10 wynik stabilizuje
si z dokadnoci do 7 miejsc po przecinku. Wynik rwny I0 = 0,6576699 zosta przeka-
zany do Solvera jako funkcja celu. Warto docelow ustalono na 0,7, a komrk zmie-
nian bya grna granica przedziau cakowania, ktrej pocztkowo nadano warto 0,8.
Po wykonaniu oblicze Solver zmienia warto x na 0,886144. Odpowiadajca jej warto
caki wynosi I = 0,7000005. Raport z przeprowadzonych oblicze wida na rysunku 9.1.

Rysunek 9.1.
Znajdowanie grnej
granicy cakowania
z wykorzystaniem
Solvera i metod
Newtona

Analogiczne obliczenia mona wykona za pomoc narzdzia Szukaj wyniku (od wer-
sji 2007 Dane/Narzdzia danych/Analiza symulacji (wersja 2007) lub Analiza warun-
kowa (wersja 2010)/Szukaj wyniku). Po ustawieniu parametru Maksymalna zmiana
w Opcjach/Przeliczanie (w wersji 2007 Przycisk pakietu Office/Opcje programu Excel/
Formuy/Opcje obliczania, w wersji 2010 Plik/Opcje/Formuy/Opcje obliczania) na
1E8 otrzymamy wynik 0,8861429 odpowiadajcy dokadnie zaoonej wartoci ca-
ki I = 0,7.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 9. Obliczanie grnej granicy cakowania 117

Funkcja podcakowa
w postaci zbioru punktw pomiarowych
W charakterze kolejnego przykadu rozwaymy funkcj I = f(E) okrelon jako zbir
punktw wyznaczonych dowiadczalnie. Funkcja jest dana jako lista par wsprzdnych
(E, I). S to wyniki pewnego eksperymentu elektrochemicznego. Pierwsza wsprzdna,
E, oznacza zmierzon warto potencjau w woltach, ktra wzrasta liniowo z upywem
czasu z zaprogramowan szybkoci r = 0,010 V/s.
E = E0+r*t

E0 oznacza pocztkow warto potencjau w chwili t = 0.

Druga wsprzdna, I, oznacza natenie prdu w amperach. Naszym zadaniem jest okre-
lenie, przy jakich wartociach potencjau Ex przepuszczony adunek elektryczny, Qx, osiga
zadane wartoci. adunek elektryczny jest rwny cace z natenia prdu wzgldem czasu.
x

I (t )dt = Q
0
x

W tym przypadku dE = r*dt, mona zamieni zmienne na te dostpne eksperymentalnie.


Otrzymamy zaleno:
Ex

I ( E )dE = r * Q
E0
x

Poniewa odlegoci midzy punktami w danych eksperymentalnych nie musz by


rwne, jedyn moliw w tej sytuacji metod cakowania jest metoda trapezw. Dane
eksperymentalne umiecimy w arkuszu w dwu ssiadujcych ze sob kolumnach. Zakre-
som komrek z danymi nadajemy nazwy odpowiednio TABE i TABI. Zakadam, e dane nie
zawieraj bdw (wartoci przypadkowych) i w kolumnie TABE wartoci s uporzdko-
wane rosnco. Pierwsza komrka z zakresu TABE zawiera warto pocztkow E0. Na po-
cztku sprawdzamy, ile danych zawieraj nasze tablice (obie powinny zawiera tyle sa-
mo liczb, wystarczy wic sprawdzi jedn) zrobimy to za pomoc wywoania funkcji
= ILE.LICZB(TABE). Otrzymany wynik bdziemy nazywa Liczba_danych. Poniewa za-
kres cakowania nie jest znany, musimy sformuowa wyraenie, ktre bdzie oblicza
cak dla dowolnej liczby podprzedziaw. Podprzedziay bd numerowane od 1, mak-
symalna liczba podprzedziaw jest o 1 mniejsza od liczby danych. Wprowadzimy zmien-
n o nazwie Koniec, ktr umiecimy w arkuszu, w komrce F11. Zmienna ta bdzie okre-
la numer ostatniego podprzedziau cakowania. Do tej komrki naley wprowadzi
jak warto cakowit z przedziau od 1 do Liczba_danych2.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


118 Excel w obliczeniach naukowych i inynierskich

Do obliczania caki wykorzystamy sposb opisany ju w rozdziale 7. Obliczanie caek


oznaczonych z wykorzystaniem ich interpretacji geometrycznej. Najpierw skonstruujemy
zakres podprzedziaw w formie wyraenia tablicowego, ktre zapamitamy pod nazw
rob. Jest to tablica liczb naturalnych od 1 do Koniec. Uzyskuje si j za pomoc wyraenia:
= WIERSZ(ADR.POR("1:"&Koniec))

Temu wyraeniu naley nada nazw w tym celu trzeba wybra z menu Wstaw pole-
cenie Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj nazw) i w polu Nazwy w skoro-
szycie: wpisa rob, a w polu Odwouje si do: wpisa podane powyej odwoanie, po
czym zatwierdzi to przyciskiem OK.

Wartoci funkcji i argumentw pobiera bdziemy z tablic TABE i TABI. Wartoci z tablic
odczytuje si za pomoc funkcji INDEKS, podajc nazw tablicy i numer elementu. W miej-
scu numeru elementu w odwoaniach tablicowych mog wystpi rwnie zakresy ko-
mrek zawierajcych numery. Nastpnym krokiem bdzie obliczenie pl podobszarw
odpowiadajcych podprzedziaom z zakresu rob. Pole pierwszego trapezu obliczylibymy
z wyraenia:
= (INDEKS(TABI;1)+INDEKS(TABI;2))/2*(INDEKS(TABE;2)INDEKS(TABE;1))

Aby obliczy cak w caym zakresie, naley dokona sumowania pl trapezw w za-
kresie indeksw okrelonych przez tablic rob. Dokadniej: kady trapez wymaga
uwzgldnienia dwch punktw pierwszy o indeksie z zakresu od 1 do Koniec, dru-
gi o indeksie o 1 wikszym, czyli z zakresu od 2 do Koniec+1. Po zastosowaniu notacji
tablicowej odpowiednie wyraenie bdzie miao form:
= SUMA((INDEKS(TABI;rob)+INDEKS(TABI;rob+1))/2*(INDEKS(TABE; rob+1)
-INDEKS(TABE;rob)))

Formu t trzeba zatwierdzi klawiszami Ctrl+Shift+Enter. Ale jest jeszcze pewien


problem. W zasadzie powinno wystarczy wprowadzenie formuy do jednej komrki,
tymczasem okazuje si, e Excel nie chce poprawnie przeprowadzi sumowania. Poprawny
wynik uzyskamy dopiero po zaznaczeniu co najmniej dwch ssiednich komrek, w ka-
dej z nich pojawi si ten sam wynik. (Ten problem sygnalizowaem ju wczeniej, pod
koniec rozdziau 3. Operacje i funkcje tablicowe).

Zamiast funkcji INDEKS mona wykorzysta funkcj PRZESUNICIE. W tym przypadku nie
potrzeba definiowa formuy rob. Rwnowan formu tablicow mona zapisa w formie:
= SUMA((PRZESUNICIE(TABI;0;0;Koniec)+PRZESUNICIE(TABI;1;0;Koniec))
/2* (PRZESUNICIE(TABE;1;0;Koniec)PRZESUNICIE(TABE;0;0;Koniec)))

Po zmianie wartoci zmiennej Koniec otrzymujemy odpowiadajce jej wartoci caki. Na-
ley dobra warto zmiennej Koniec tak, aby warto caki odpowiadaa zadanej wartoci
adunku Qx pomnoonej przez szybko skanowania r (w arkuszu oznaczanej ra). Do-
kadniej warto ta (Qx*r) powinna zawiera si pomidzy cakami odpowiadajcymi
liczbie podprzedziaw rwnej Koniec, a Koniec+1.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 9. Obliczanie grnej granicy cakowania 119

Rnica midzy tymi cakami odpowiada polu trapezu o numerze Koniec+1. Pole to obli-
czymy ze wzoru:
= (INDEKS(TABI;Koniec+1)+INDEKS(TABI;Koniec+2))/2*(INDEKS(TABE;Koniec+2)
INDEKS(TABE;Koniec+1))
lub
= (PRZESUNICIE(TABI;Koniec;0;1)+PRZESUNICIE(TABI;Koniec+1;0;1))
/2* (PRZESUNICIE(TABE;Koniec+1;0;1)PRZESUNICIE(TABE;Koniec;0;1))

Warto zwrci uwag na rnic w numeracji indeksw funkcja INDEKS numeruje


elementy tablicy od 1, funkcja PRZESUNICIE od 0.

Symbolicznie moemy zapisa warunek:


Caka(Koniec) <= Qx*r <= Caka(Koniec)+Trapez(Koniec+1)

Ta posta nierwnoci odpowiada sytuacji, gdy funkcja podcakowa ma wartoci dodat-


nie i wartoci caki zwikszaj si. W przeciwnym razie zwroty nierwnoci zmieniaj
si na przeciwne. W kadym przypadku warunek bdzie speniony, jeeli iloczyn rnic
bdzie ujemny:
(Qx*rCaka(Koniec))*(Qx*rCaka(Koniec)Trapez(Koniec+1)) <= 0

Jeeli zmienna Koniec ma odpowiednio dobran warto, to powyszy warunek jest spe-
niony i mona przeprowadzi interpolacj liniow w celu wyznaczenia dokadnej wartoci
argumentu Ex. Odpowiednie wzory podano w rozdziale 14. Wyszukiwanie danych w ta-
blicach i interpolacja. W tym przypadku interpolacj przeprowadzamy wedug wzoru:
= E(Koniec)+(E(Koniec+1)E(Koniec))*(Qx*rCaka(Koniec))/Trapez(Koniec+1)

W tym momencie do rozwizania zadania wystarczy odnale odpowiedni warto


zmiennej Koniec. Zmienna ta musi przyjmowa wartoci cakowite z zakresu od 1 do
Liczba_danych 2. Warto graniczna wynika std, e maksymalna liczba podprze-
dziaw jest mniejsza o 1 od liczby punktw pomiarowych, a ostatni podprzedzia mu-
si by dostpny do interpolacji. Mona te ograniczenia zapisa, posugujc si menu
Dane/Sprawdzanie poprawnoci/Ustawienia (od wersji 2007 Dane/Narzdzia danych/
Poprawno danych)/ Dozwolone: Pena liczba, Wartoci danych midzy: Minimum 1,
Maksimum Liczba_danych 2. Zapewni to wywietlenie komunikatu ostrzegawczego
w razie prby podstawienia niedozwolonej wartoci.

Warto zmiennej Koniec mona dobra metod prb i bdw, zwaszcza e warunek
ujemnej wartoci iloczynu rnic jest speniony tylko jeden raz (przy zaoeniu, e caka
zmienia si monotonicznie). Bardziej elegancko byoby wykorzysta do tego Solvera, ale
ten, niestety, nie radzi sobie z tym zadaniem (sygnalizuje jaki niesprecyzowany bd).
Mona napisa w Visual Basicu prost makroinstrukcj, ktra przeskanuje cay zakres
moliwych wartoci zmiennej Koniec a do spenienia warunku kocowego. Do tej sprawy
powrcimy przy omawianiu elementw programowania w VBA (rozdzia 22. Elementy
jzyka VBA (Visual Basic for Applications)).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


120 Excel w obliczeniach naukowych i inynierskich

Na rysunku 9.2 zaprezentowano obraz ekranu ilustrujcy opisane powyej obliczenia.

Rysunek 9.2. Ekran z obliczeniem grnej granicy cakowania metod interpolacji w przypadku danych
eksperymentalnych

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 10.
Obliczanie
caek oznaczonych
z wykorzystaniem
szeregw potgowych
Podstawowe pojcia
dotyczce cigw i szeregw
Cigiem liczbowym nazywamy funkcj okrelon na zbiorze liczb naturalnych. Cig taki
oznaczamy oglnie symbolem {an}. Oto kilka przykadw cigw: cig harmoniczny
{ 1n } , czyli cig o wyrazach 1, 12 , 13 , 14 , 15 , ... ; cig arytmetyczny {a + ( n 1) d } , o wyrazach
a, a+d, a+2d, a+3d, (d nazywamy rnic cigu arytmetycznego); cig geometryczny
{aq n 1 } o wyrazach a, aq, aq2, aq3, (q nazywamy ilorazem cigu geometrycznego).

Po dodaniu do siebie kolejnych wyrazw cigu, poczwszy od pierwszego, otrzymu-


jemy szereg liczbowy. Wyrazy cigu staj si skadnikami szeregu. Nieskoczony
szereg liczbowy oparty na cigu {an} moemy opisa za pomoc symbolu sumy

a
n =1
n . Przykadowo szereg geometryczny zapiszemy w postaci aq
n =1
n 1
. Praktyczne

znaczenie maj szeregi zbiene, tzn. takie, dla ktrych istnieje skoczona granica sum
czciowych przy n . Szereg geometryczny jest zbieny, gdy warto bez-
wzgldna jego ilorazu jest mniejsza od 1 (|q| < 1). Suma n skadnikw szeregu geo-
metrycznego jest rwna

1 qn a
sn = a , a jej granica s = lim s n = .
1 q n 1 q

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


122 Excel w obliczeniach naukowych i inynierskich

Oglnie warunkiem koniecznym zbienoci szeregu jest to, aby jego skadniki dyy do
zera. Ale nie jest to warunek wystarczajcy; przykadowo szereg harmoniczny jest roz-
bieny, chocia jego skadniki d do zera. Jeeli jednak szereg jest naprzemienny, tzn.
jego kolejne skadniki s na przemian dodatnie i ujemne, a ich warto bezwzgldna dy
do zera, to taki szereg zawsze jest zbieny.

Jeeli kadej liczbie naturalnej n przyporzdkowana zostanie pewna funkcja fn(x), otrzy-
mamy cig funkcyjny {fn(x)}. Sum funkcji tworzcych cig funkcyjny

f1(x)+f2(x)+f3(x)+ = f
n =1
n ( x)

okrelamy mianem szeregu funkcyjnego (analogicznie do szeregu liczbowego). Jeeli


dla dowolnego x, dla ktrego okrelone s funkcje fn(x), ich suma ma warto skoczon,
to mwimy, e szereg funkcyjny jest zbieny do pewnej funkcji s(x).

Szczeglnie wane w teorii i praktyce s szeregi potgowe, czyli szeregi o postaci


wielomianu:

a 0 + a1 x + a 2 x 2 + K + a n x n + K = a x
k =0
k
k

Kad funkcj cig i rniczkowaln f(x) mona przedstawi w postaci rozwinicia


w szereg potgowy szereg Maclaurina lub szereg Taylora. Rozwinicie w szereg
Maclaurina ma posta:
f (0) f (0) 2 f ( n ) (0) n
f ( x) = f (0) + x+ x +K+ x +K
1! 2! n!
i stanowi rozwinicie funkcji f(x) w szereg potgowy wok punktu x = 0.

Analogiczne rozwinicie wok punktu x = a otrzymujemy ze wzoru Taylora:


f (a) f (a ) f ( n ) (a )
f ( x) = f (a ) + ( x a) + ( x a) 2 + K + ( x a) n + K
1! 2! n!

Wzory Maclaurina i Taylora pozwalaj na obliczenie wartoci numerycznej kadej funkcji,


dla ktrej potrafimy efektywnie obliczy wartoci pochodnych kolejnych rzdw. Wzory
te mona rwnie cakowa wyraz po wyrazie, co stwarza dalsze moliwoci obliczeniowe.

Przykadowo rozwinicie funkcji ex (czyli EXP(x) w notacji Excela) w szereg Maclaurina


ma posta:
x x2 xn
exp( x) = 1 + + +K+ +K
1! 2! n!
a rozwinicie tej funkcji w szereg Taylora wyglda nastpujco:

x a ( x a) 2 ( x a) n
exp( x) = exp(a )1 + + +K+ + K
1! 2! n!

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 10. Obliczanie caek oznaczonych z wykorzystaniem szeregw potgowych 123

Szeregi s szczeglnie przydatne do obliczania caek, ktre nie s funkcjami elementar-


nymi. Prostym przykadem niech bdzie funkcja EXP(x)/x. Aby j scakowa, przekszta-
cimy rozwinicie funkcji EXP(x) w szereg Maclaurina, dzielc obustronnie przez x, a na-
stpnie scakujemy to rozwinicie wyraz po wyrazie:
exp( x) 1 1 x x n 1
= + + +K+ +K
x x 1! 2! n!
exp( x) dx dx x x n 1
x
dx = x
+ 1!
+2!
dx + K + n!
dx + K

exp( x) x x2 xn
x
dx = ln | x | + +
1 1! 2 2!
+K+
n n!
+K+ C


exp( x) xk
x
dx = ln | x | +
k =1

k k!
+C

Obliczenia sum szeregw w Excelu


Naturalnym sposobem oblicze jest zapis poszczeglnych skadnikw szeregu w kolum-
nie, a nastpnie obliczenie sumy tych skadnikw. Aby uproci konstrukcj formu opi-
sujcych skadniki szeregu, tworzymy po lewej stronie (np. w kolumnie A) kolumn in-
deksow z ich numerami. Liczb skadnikw dobieramy na bieco w trakcie oblicze,
obserwujc, jak zmieniaj si ich wartoci. Ostatni uwzgldniony skadnik powinien by
okoo 10 razy mniejszy od podanej dokadnoci oblicze.

Obliczenia zilustrujemy na przykadzie funkcji EXP(x)/x. Chcemy obliczy cak ozna-


czon tej funkcji w przedziale od a = 1 do b = 5. Wynik jest rwny rnicy wartoci
funkcji pierwotnej F(x) na granicach przedziau cakowania (funkcja pierwotna jest okre-
lona z dokadnoci do staej):
b
exp( x)

a
x
dx = F (b) F (a)

W komrce B7 umiecimy warto argumentu x, na przykad x = b = 5, dla ktrej wyko-


nujemy obliczenia. Doln granic cakowania i ewentualne kolejne argumenty mona
umieci w nastpnych kolumnach w tym samym wierszu. Dlatego w formuach korzyst-
nie bdzie posugiwa si mieszanym adresem tej komrki w postaci B$7, co umoliwi
prawidowe kopiowanie wyrae.

Wiersz 8. pozostawiamy wolny, aby komrki zawierajce argumenty (w wierszu 7.) byy
odseparowane od skadnikw szeregu.

W komrce B9 umiecimy formu = LN(MODU.LICZBY(B$7)), obliczajc pocztkowy


skadnik rozwinicia. (Jeeli przewidujemy tylko dodatnie argumenty, moemy pomin

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


124 Excel w obliczeniach naukowych i inynierskich

wywoanie funkcji MODU.LICZBY). Nastpna wpisywana formua bdzie ju odpowiada


schematowi skadnika szeregu, wic wystarczy wpisa j raz, a nastpnie skopiowa do
komrek poniej.

W kolumnie A, poczwszy od 1 w wierszu 10., tworzymy list kolejnych liczb natural-


nych stanowicych indeksy skadnikw szeregu. W komrce B10 umieszczamy formu
xk
= B$7^$A10/($A10*SILNIA($A10)), czyli . Po zatwierdzeniu formuy klawiszem Enter
k k!
lub przez kliknicie myszk pola akceptacji D kopiujemy komrk z formu w d,
obserwujc, jak zmieniaj si wartoci kolejnych skadnikw szeregu. Jeeli chcemy ob-
liczy sum szeregu z dokadnoci do szeciu cyfr po przecinku, koczymy kopiowanie,
gdy warto skadnika obniy si poniej 107 (1E-07). W tym przypadku, gdy x ma war-
to 5, jest to wyraz o indeksie 22. Pozostaje jeszcze wykona automatyczne sumowanie
skadnikw i umieci wynik na przykad w komrce B33.

Analogiczne obliczenia wykonuje si dla x = a = 1, tym razem wystarczy zsumowa 10


skadnikw szeregu. Przykadowy wygld fragmentu arkusza z tymi obliczeniami przed-
stawiono na rysunku 10.1.

Rysunek 10.1.
Przykad obliczenia
caki z wykorzystaniem
szeregu potgowego

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 10. Obliczanie caek oznaczonych z wykorzystaniem szeregw potgowych 125

Jeli znamy i dobrze rozumiemy struktur oblicze z wykorzystaniem szeregw, moemy


pokusi si o uproszczenie zapisu oblicze z wykorzystaniem idei operacji tablicowych.
Mona pomin odrbny zapis skadnikw szeregu i oblicza sum w jednej komrce.
Przy uyciu indeksw z poprzedniej wersji oblicze, zawartych w komrkach A10:A31,
mona obliczy od razu sum skadnikw w tym celu naley wpisa formu tablicow:
= LN(MODU.LICZBY(B$7))+SUMA(B$7^$A10:$A31/($A10:$A31*SILNIA($A10:$A31)))

Formu t trzeba zatwierdzi klawiszami Ctrl+Shift+Enter.

Konieczne pozostaje jednak osobne obliczenie ostatniego skadnika w celu okrelenia


liczby niezbdnych skadnikw szeregu.

Nastpnym etapem uproszczenia zapisu jest wyeliminowanie jawnego zakresu indeksw.


Wymaga to posuenia si funkcj WIERSZ(zakres). Wicej na ten temat napisaem ju
w rozdziale 3. Operacje i funkcje tablicowe. W naszym przykadzie zamiast zakresu
indeksw z komrek A10:A31 mona wygenerowa tablic w formie wektora kolumno-
wego, posugujc si wywoaniem = WIERSZ(ADR.POR("A1:A22")). Moliwe jest te uycie
wersji uproszczonej = WIERSZ(ADR.POR("1:22")). Wywoanie to mona podstawi do
formuy sumy zamiast zakresu A10:A31, ale lepiej nada mu nazw, na przykad indeksy,
i uywa jej zamiast penego wywoania.

W tym celu naley otworzy okno dialogowe Wstaw/Nazwa/Definiuj (od wersji 2007
Formuy/Definiuj nazw) i w polu Nazwy w skoroszycie: wpisa nazw indeksy, a w polu
Odwouje si do: odwoanie = WIERSZ(ADR.POR("1:22")), po czym zatwierdzi to
przyciskiem OK. Teraz mona ju uy nazwy w formule:
= LN(MODU.LICZBY(B$7))+SUMA(B$7^indeksy/(indeksy*SILNIA(indeksy)))

Jeeli przewidujemy wykonywanie wielokrotnych oblicze dla rnych wartoci argu-


mentu x, liczba skadnikw szeregu bdzie si zmienia. Wymagaoby to kadorazowej
rcznej korekty indeksu kocowego, ktry w naszym przykadzie jest rwny 22. Mona
t procedur czciowo zautomatyzowa, umieszczajc w parze komrek indeks kocowy
i warto ostatniego skadnika szeregu. Indeks kocowy mona dobra rcznie na pod-
stawie wartoci ostatniego skadnika.

Jednak korekta zakresu indeksw powinna ju by automatyczna. Zamy, e indeks ko-


cowy umieszczono w komrce C31. Definicj nazwy indeksy zmodyfikujemy do postaci
= WIERSZ(ADR.POR("1:"&$C$31))

Wygld okna definicji nazwy indeksy pokazano na rysunku 10.2. Teraz kada zmiana
zawartoci komrki C31 bdzie powodowa zmian zakresu indeksw.

Dobr indeksu kocowego rwnie mona zautomatyzowa. W tym celu naley zdefi-
niowa i nazwa formu analogiczn do definicji indeksw, lecz z wartoci kocow
ustalon na stae na dostatecznie wysokim poziomie, na przykad 50. Formule nadamy
nazw m.
m : = WIERSZ(ADR.POR("1:50"))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


126 Excel w obliczeniach naukowych i inynierskich

Rysunek 10.2.
Wygld okna
dialogowego, w ktrym
definiuje si nazw
indeksy

Formua ta posuy do skonstruowania wzorcowej tablicy skadnikw szeregu, ktr


mona przeszuka za pomoc funkcji PODAJ.POZYCJ lub WYSZUKAJ w celu znalezienia
skadnika o zaoonej wartoci. Skadni tych funkcji opisano w rozdziale 14. Wyszu-
kiwanie danych w tablicach i interpolacja. Uywajc wyraenia:
= PODAJ.POZYCJ(1E-7; B$7^m/(m*SILNIA(m)); -1)
przeszukujemy tablic 50 skadnikw szeregu w poszukiwaniu wyrazu o wartoci 1E-7.
Poniewa ostatni argument ma warto -1, w tablicy zostanie znaleziony wyraz najbli-
szy, wikszy lub rwny 1E-7, a cilej jego numer. Wyraenie musi by wprowadzone jako
tablicowe, bo tablica do przeszukania nie jest okrelona wprost, lecz musi by wyliczona.
Analogicznie mona uy wyraenia:
= WYSZUKAJ(-1E-7; -(B$7^m/(m*SILNIA(m))); m)

W tym przypadku naley zmieni znaki porwnywanych wyrazw ze wzgldu na to, e


funkcja WYSZUKAJ wymaga rosncego uporzdkowania wartoci w przeszukiwanym wek-
torze. Wyraenie nie musi (ale moe) by wprowadzone jako tablicowe.

Wynik zwrcony przez funkcje PODAJ.POZYCJ lub WYSZUKAJ naley zwikszy o 1, po-
niewa ostatni skadnik wzity do oblicze powinien by mniejszy od 1E-7. Jeeli wyko-
rzystamy to wyraenie w komrce C31, obliczenia bd wykonane automatycznie.

Jeli w Excelu mamy zainstalowany dodatek Analysis Toolpak (od wersji 2007 doda-
tek ten jest zintegrowany z arkuszem), do dyspozycji dostajemy specjaln funkcj
uatwiajc obliczenia z uyciem szeregw potgowych. Jest to funkcja SERIESSUM(x;
n; m; wspczynniki), ktrej naley przekaza nastpujce dane: x argument
funkcji, n pocztkowy wykadnik potgowy przy x, m krok, o jaki naley zwik-
sza n w kolejnych wyrazach, wspczynniki zbir wspczynnikw, przez ktre
mnoy si kad kolejn potg x. Liczba wartoci we wspczynnikach wyznacza
liczb skadnikw w szeregu potgowym. Jeli na przykad s to trzy wartoci, w sze-
regu potgowym bd trzy skadniki. W Excelu 2010 nazwa tej funkcji zostaa prze-
tumaczona na SUMA.SZER.POT.

W odniesieniu do naszego przykadu wywoanie tej funkcji miaoby posta:


= LN(MODU.LICZBY(B$7))+SERIESSUM(B$7; 1; 1; 1/($A10:$A31*SILNIA($A10:$A31)))
albo po zdefiniowaniu zakresu indeksy, jak opisano wyej:
= LN(MODU.LICZBY(B$7))+SERIESSUM(B$7; 1; 1; 1/(indeksy*SILNIA(indeksy)))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 10. Obliczanie caek oznaczonych z wykorzystaniem szeregw potgowych 127

W obu wersjach formu trzeba zatwierdzi klawiszami Ctrl+Shift+Enter.

Starajc si o zwizo zapisu, mona zastosowa jeszcze inne podejcie do tych oblicze.
Mona mianowicie wykorzysta zamierzone odwoania cykliczne i obliczenia przeprowa-
dzi w sposb pautomatyczny w jednej komrce. Takie obliczenia musz by jednak
zainicjowane rcznie. Utworzymy tabelk, ktrej lewa kolumna bdzie zawiera opisy da-
nych, a w dwu nastpnych obliczymy sumy szeregw dla grnej i dolnej granicy cako-
wania. Wreszcie obliczymy rnic obu sum, ktra bdzie poszukiwan wartoci caki.

W pierwszym wierszu umiecimy zmienn start suc do rcznego uruchamiania ob-


licze. Jest to zmienna logiczna o wartociach PRAWDA lub FASZ bd liczbowa o warto-
ciach 1 lub 0. Wpisanie do tej komrki wartoci 1 lub PRAWDA spowoduje uruchomienie
procesu obliczeniowego od pocztku. Nastpnie trzeba do tej komrki wpisa 0 lub
FASZ, aby przeprowadzi i zakoczy obliczenia. Poniej umieszczamy warto argu-
mentu x, ktry bdzie przyjmowa warto grnej lub dolnej granicy cakowania. W ko-
lejnej komrce poniej umiecimy numer iteracji nr_it. Wpiszemy tam wyraenie:
= JEELI(start; 0; JEELI((nr_it = 0)+(wyraz>dokadno); nr_it+1; nr_it))

W momencie rozpoczynania oblicze, gdy zmienna start ma warto 1 lub PRAWDA, nr_it
jest zerowany; w przeciwnym razie (start = 0 lub FASZ) sprawdzany jest warunek za-
koczenia oblicze: jeeli dopiero rozpoczlimy obliczenia (nr_it = 0) lub biecy wyraz
jest wikszy ni zaoona dokadno, nr_it jest zwikszany o 1, w przeciwnym razie
pozostaje niezmieniony (jest to warunek zakoczenia oblicze).

Kolejna komrka poniej zawiera sta dokadno okrelajc prg, poniej ktrego
wyrazy nie bd ju zliczane. Ta warto nie moe by zbyt dua, aby unikn przedwcze-
snego przerwania oblicze w niektrych szeregach pierwsze wyrazy s stosunkowo
mae, potem rosn i dopiero po osigniciu jakiego maksimum zaczynaj male.

Nastpna komrka zawiera formu obliczajc wyraz szeregu o numerze okrelonym


przez nr_it. S tu poczone dwie formuy, pierwsza pocztkowa i druga, obliczajca
nastpne wyrazy:
= JEELI(nr_it = 0; LN(MODU.LICZBY(x)); x^nr_it/(nr_it*SILNIA(nr_it)))

Ostatni komrk w tej grupie jest suma, gdzie zliczane s poszczeglne wyrazy szeregu.
Zawiera ona formu:
= JEELI(start; wyraz; JEELI(wyraz > dokadno; suma+wyraz; suma))

Na pocztku, gdy start ma warto 1 lub PRAWDA, sumie nadaje si warto pocztkowego
wyrazu szeregu, potem jeli wyraz jest wikszy od dokadnoci, zostaje on dodany do sumy,
wreszcie gdy wyraz stanie si mniejszy od dokadnoci, suma pozostaje bez zmiany.

Przy obliczaniu nr_it i sumy wystpuj odwoania cykliczne. Dlatego aby obliczenia si
powiody, w opcjach arkusza trzeba zaznaczy pole iteracji (w wersji 2007 Przycisk pakietu
Office/Opcje programu Excel/Formuy/Opcje obliczania, a w wersji 2010 Plik/Opcje/
Formuy/Opcje obliczania zaznaczy pole Wcz obliczenia iteracyjne). Aby przeledzi,
jak przebiegaj obliczenia krok po kroku, naley wpisa Maksymaln liczb iteracji rw-
n 1. Rozpoczynamy obliczenia od wpisania do komrki start wartoci 1. Poniewa s

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


128 Excel w obliczeniach naukowych i inynierskich

dwie komrki start, kada w swojej kolumnie, tylko do jednej z nich wpisujemy warto-
ci, a druga musi zawiera odwoanie do tej pierwszej. Po naciniciu Enter obliczenia
zostan zainicjowane. Teraz naley wpisa do komrki start warto 0 i ponownie naci-
sn Enter. Wykonana zostanie druga iteracja. Kolejne wyrazy obliczymy i zsumujemy,
naciskajc klawisz funkcyjny F9 (przeliczanie arkusza). Gdy warto wyrazu spadnie po-
niej zaoonej dokadnoci, obliczenia zostan zakoczone i kolejne nacinicia klawi-
sza F9 nie zmieni ju wyniku. Oczywicie gdy obliczamy rwnoczenie warto caki
dla grnej i dolnej granicy cakowania, zakoczenie kadego z oblicze moe nastpi
po rnej liczbie wyrazw. Kocowa warto caki jest rnic sum obliczonych dla obu
kocw przedziau cakowania.

Gdy poprawno procedury obliczeniowej zostanie zweryfikowana, mona zwikszy


Maksymaln liczb iteracji do standardowej wartoci 100. Wtedy obliczenia po zainicjo-
waniu zmienn start bd przebiega automatycznie, a w komrkach nr_it zostanie
wywietlona liczba faktycznie zsumowanych wyrazw.

Na rysunku 10.3 wida fragment ekranu z obliczeniami wykonanymi wedug przedsta-


wionej powyej koncepcji. Przy tego typu obliczeniach z wykorzystaniem odwoa cy-
klicznych naley pamita o zaprogramowaniu pocztku i koca oblicze. Jeeli bdzie
brakowa warunku koca oblicze, wykonana zostanie maksymalna liczba iteracji. Z kolei
jeli bdzie brakowa fragmentu inicjujcego obliczenia, nie bdzie mona tych ob-
licze powtrzy na przykad po zmianie parametrw czy wartoci x.

Rysunek 10.3.
Zastosowanie
zamierzonych
odwoa
cyklicznych
do iteracyjnego
obliczenia sumy
szeregu

Przy obliczaniu sum szeregw moemy napotka zagadnienie sformuowane w ten spo-
sb, e kolejny skadnik szeregu jest okrelony nie tylko jako funkcja numeru skadnika,
ale rwnie poprzedniego skadnika (czasem kilku poprzednich).
ak = f ( ak 1 , g ( k ))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 10. Obliczanie caek oznaczonych z wykorzystaniem szeregw potgowych 129

W przypadku szeregu potgowego zaleno midzy skadnikami mona zapisa w postaci:


ak x k = ak 1 x k 1 xg ( k )

Sumowanie skadnikw przebiega wedug schematu:


ak 1 x k 1 + ak x k = ak 1 x k 1 (1 + xg (k ))
ak 2 x k 2 + ak 1 x k 1 + ak x k = ak 2 x k 2 + ak 2 x k 2 xg (k 1)(1 + xg (k )) = ak 2 x k 2 (1 + xg (k 1)(1 + xg (k ))) itd.

Przykadowo w rozpatrywanym wczeniej szeregu mamy zaleno:


a0 = ln x a1 = 1
k 1
ak x k = ak 1 x k 1 x dla k = 2, 3, ...
k2

Suma bdzie opisana wzorem:



a0 + a1 x + a2 x 2 + K + an x n + K = a x
k =0
k
k
=

2 1 3 1 4 1 n 1
= ln x + x(1 + x (1 + x 2 (1 + x 2 ( ... + x 2 )...)
22 3 4 n

Iteracyjny proces obliczeniowy musi przebiega od koca:


a) inicjujemy zmienne wynik = 1, nr_it = n;
b) obliczamy wynik = wynik*x*(nr_it1)/nr_it^2+1;
c) zmniejszamy nr_it o 1;
d) jeeli nr_it = 1, to wynik = wynik*x+LN(MODU.LICZBY(x)) (koniec oblicze),
w przeciwnym razie wracamy do punktu b).

Jak poprzednio musimy przeznaczy jedn komrk na zmienn inicjujc start, drug na
nr_it, trzeci na wynik. Zmiennej start nadajemy pocztkowo warto 1, a po zainicjo-
waniu zmiennych zmieniamy j na 0. Do komrek nr_it i wynik wpisujemy formuy:
nr_it : = JEELI(start; n; JEELI(nr_it > 0; nr_it1; 0))
wynik : = JEELI(start; 1; JEELI(nr_it > 1; wynik*x*(nr_it 1)/nr_it^2+1;
JEELI(nr_it = 1; wynik*x+LN(MODU.LICZBY(x)); wynik)))

Przy obliczeniach prowadzonych t metod unika si obliczania silni, co zwykle powiksza


zakres dostpnych wartoci n. Z kolei okrelenie pocztkowej wartoci nr_it na podstawie
znanej wymaganej dokadnoci wyniku nie jest proste. Mona szacunkowo przyj, e n-ty
skadnik szeregu ma warto zblion do xn/n! Ostatni uwzgldniony skadnik powinien
by kilka razy mniejszy od wymaganej dokadnoci.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


130 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 11.
Ukady rwna liniowych
Zapis ukadu rwna i jego
rozwizania w formie macierzowej
Istnieje wiele metod rozwizywania ukadw rwna liniowych metody te dobiera si
w zalenoci od liczby rwna i struktury ukadu. W Excelu niezbyt due ukady rwna
(do 52 rwna) najwygodniej rozwizywa przy uyciu operacji na macierzach. W tym
celu ukad rwna do rozwizania naley zapisa w formie macierzowej. Zgodnie z za-
sadami mnoenia macierzy zapis AX = B, w ktrym litery symbolizuj odpowiednie
macierze:

a11 a12 L a1n x1 b1


a a22 L a2 n x b
A = 21 X = 2 B = 2
M M M M M M

an1 a n 2 L a nn xn bn

odpowiada ukadowi n rwna liniowych z n niewiadomymi. A oznacza macierz wsp-


czynnikw, a X i B odpowiednio wektor niewiadomych i wektor wyrazw wolnych.
W klasycznym zapisie jest to ukad rwna:
a11 x1 + a12 x2 L + a1n x n = b1
a 21 x1 + a 22 x2 L + a 2 n x n = b2
L
a n1 x1 + a n 2 x 2 L + a nn x n = bn

W notacji macierzowej rozwizanie ukadu rwna polega na lewostronnym pomno-


eniu obu stron rwnania macierzowego przez macierz odwrotn do macierzy A.
A1AX = A1B
EX = A1B

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


132 Excel w obliczeniach naukowych i inynierskich

Poniewa w myl definicji macierzy odwrotnej iloczyn macierzy odwrotnej i danej jest
rwny macierzy jednostkowej, a iloczyn macierzy jednostkowej i macierzy X jest rwny
macierzy X, otrzymujemy rozwizanie ukadu rwna w postaci macierzowej:
X = A1B

W praktyce rozwizanie sprowadza si do obliczenia macierzy odwrotnej do macierzy


wspczynnikw A, a nastpnie pomnoenia tej macierzy (odwrotnej) przez macierz wy-
razw wolnych B. W wyniku otrzymuje si wektor (kolumn) X zawierajcy rozwizania.

Weryfikacja poprawnoci rozwizania nastpuje przez obliczenie iloczynu AX. Otrzy-


many wynik powinien by taki sam jak macierz B.

Przebieg rozwizania w Excelu


Naley rozpocz od utworzenia tablicy (macierzy) wspczynnikw A i wektora ko-
lumnowego wyrazw wolnych B. Poszczeglne wartoci liczbowe naley wprowadzi do
ssiednich komrek arkusza, tak aby macierz A bya macierz kwadratow, a wektor B
mia tyle samo wierszy, co macierz A. Mona rwnie wprowadzi macierze A i B jako
stae tablicowe, ale jest to chyba mniej wygodne.

Nastpnie tworzymy macierz odwrotn do macierzy wspczynnikw A1. W tym celu


zaznaczamy w arkuszu obszar o rozmiarach takich jak rozmiar macierzy A. Nastpnie
wywoujemy funkcj = MACIERZ.ODW(macierz_A), podajc jako argument zakres komrek
macierzy A. Poniewa jest to funkcja tablicowa, zatwierdza si j kombinacj klawiszy
Ctrl+Shift+Enter.

Ostatnim etapem jest obliczenie iloczynu A1B. Zaznaczamy obszar na wynik (o rozmia-
rach wektora B) i wywoujemy funkcj = MACIERZ.ILOCZYN(odwr_macierz_A; macierz_B).
Naley pamita o zachowaniu waciwej kolejnoci czynnikw i zatwierdzeniu operacji
przez Ctrl+Shift+Enter.

Na rysunku 11.1 przedstawiono przykad rozwizania ukadu czterech rwna liniowych.

Obliczenia mona uproci: nie wywietla w arkuszu macierzy odwrotnej A1, lecz po-
czy obie operacje tablicowe w jedn:
= MACIERZ.ILOCZYN(MACIERZ.ODW(macierz_A); macierz_B)

Wynik macierz_X musi mie oczywicie rozmiary wektora B.

Po zakoczeniu oblicze warto sprawdzi ich poprawno, obliczajc iloczyn = MACIERZ.


ILOCZYN(macierz_A; macierz_X). Wynik powinien by zgodny z wektorem B. Jeeli
ktra ze skadowych wektora B bya rwna 0, moe si zdarzy, e po wykonaniu
oblicze sprawdzajcych w wyniku otrzymamy nie 0, lecz jak ma liczb typu 1E12.
Jest to konsekwencja ograniczonej dokadnoci oblicze w Excelu i nie powinno to nas
niepokoi.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 11. Ukady rwna liniowych 133

Rysunek 11.1.
Rozwizanie ukadu
czterech rwna
liniowych metod
macierzow

Wykorzystanie Solvera
do rozwizywania
ukadu rwna liniowych
Zamiast obliczania macierzy odwrotnej do macierzy wspczynnikw mona wykorzy-
sta moliwo minimalizacji odpowiednio skonstruowanej funkcji celu, co umoliwia
Solver. Dokadniejsze informacje o uruchamianiu i uywaniu tej nakadki podano w roz-
dziale 12. Rozwizywanie rwna nieliniowych.

Naley przyj dowolne przyblienie wektora rozwiza X, a nastpnie obliczy rnic


AXB. Gdyby udao si odgadn rozwizanie, wszystkie elementy otrzymanej r-
nicy byyby rwne zeru. W przeciwnym razie w wyniku mona otrzyma rne wartoci,
dodatnie lub ujemne. Po podniesieniu tych liczb do kwadratu otrzymamy wycznie war-
toci nieujemne. Ich suma jest te nieujemna, przy czym warto zero to minimum, ktre
wyznacza rozwizanie ukadu rwna.

W Excelu omawian sum kwadratw moemy zapisa jako formu:


= SUMA.KWADRATW(MACIERZ.ILOCZYN(macierz_A; macierz_X)macierz_B)

Formu naley wprowadzi jako tablicow. Komrk z t sum deklarujemy jako komrk
celu Solvera, komrkami zmienianymi bd komrki macierzy_X. Szukamy minimum.
Jeeli Solver znajdzie rozwizanie i okae si ono rwne zeru (praktycznie: bliskie zeru),
bdzie to poszukiwane rozwizanie ukadu rwna (jeeli ukad jest oznaczony, bdzie to
jedyne rozwizanie, a jeli nieoznaczony jedno z nieskoczenie wielu rozwiza).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


134 Excel w obliczeniach naukowych i inynierskich

Na rysunku 11.2 przedstawiono rozwizanie ukadu rwna liniowych t metod. Nastpny


rysunek (11.3) ilustruje wygld okna dialogowego Solvera, w ktrym zdefiniowano zada-
nie minimalizacji funkcji celu.

Rysunek 11.2. Rozwizanie ukadu czterech rwna liniowych za pomoc Solvera wygld arkusza
z zapisem oblicze

Rysunek 11.3.
Okno dialogowe
Solvera z zapisem
zadania minimalizacji
funkcji celu, ktra
prowadzi do
rozwizania ukadu
czterech rwna
liniowych

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12.
Rozwizywanie
rwna nieliniowych
Rwnanie kwadratowe
Rozwizywanie rwna, tzn. znajdowanie ich miejsc zerowych, jest chyba najczciej
spotykanym zagadnieniem numerycznym. Rwnania f(x) = 0 nie da si w oglnym przy-
padku rozwiza analitycznie, tzn. niemoliwe jest znalezienie wzoru na rozwizanie.
Czasem, na przykad w przypadku rwna wielomianowych 3. i 4. stopnia, mimo istnie-
nia rozwiza analitycznych s one do niewygodne w praktycznym uyciu i z tego po-
wodu rzadko stosowane. Powszechnie stosuje si rozwizania analityczne tylko w odnie-
sieniu do rwna liniowych i kwadratowych oraz do rwna, ktre przez odpowiednie
przeksztacenia mona do tych postaci sprowadzi.

Rwnanie kwadratowe, czyli rwnanie typu


ax2+bx+c = 0, gdzie a 0

rozwizuje si dwuetapowo. Najpierw oblicza si tzw. wyrnik, oznaczany zwykle


greck liter delta :
= b24ac

Liczba i charakter pierwiastkw rwnania zale od znaku wyrnika: jeeli > 0, rw-
nanie ma dwa pierwiastki rzeczywiste, jeeli = 0, rwnanie ma jeden pierwiastek tzw.
podwjny, wreszcie jeeli < 0, rwnanie nie ma pierwiastkw rzeczywistych, ale ma
dwa pierwiastki bdce liczbami zespolonymi.

W kadym z tych przypadkw pierwiastki rwnania kwadratowego mona opisa wzorem:

b
x1, 2 =
2a

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


136 Excel w obliczeniach naukowych i inynierskich

Jeden pierwiastek otrzymujemy, biorc znak +, a drugi znak . Gdy = 0, oba pier-
wiastki zlewaj si w jeden, gdy maj t sam warto. Gdy < 0, symbol naley
rozumie jako | |i , gdzie i oznacza jednostk urojon.

Chcc zapisa to rozwizanie w Excelu, tak aby byo uniwersalne, tzn. dawao poprawne
wyniki niezalenie od wartoci wyrnika , musimy rozwiza kilka problemw. Pierw-
szym jest kwestia wyboru wariantu rozwizania w zalenoci od wartoci wyrnika. Mamy
tu do dyspozycji dwie funkcje realizujce wybr funkcj JEELI i funkcj WYBIERZ.
Pierwsza pozwala na wybr jednej z dwch moliwoci, w zalenoci od wartoci logicz-
nej jej pierwszego argumentu. Jeeli mamy wicej opcji do wyboru, funkcja JEELI mu-
si by uyta kilkakrotnie. Funkcja WYBIERZ oblicza warto wyraenia wskanikowego,
a nastpnie dokonuje wyboru wartoci z listy maksimum 29 moliwoci (od wersji 2007
254 moliwoci) ten wariant jest wic wygodniejszy przy wikszej liczbie moli-
woci, problemem jest tylko takie skonstruowanie wyraenia wskanikowego, aby przyj-
mowao ono odpowiednie wartoci cakowite od 1 wzwy.

Skadnia funkcji JEELI jest taka jak poniej:


JEELI(test_logiczny; warto_jeeli_prawda; warto_jeeli_fasz)

Test_logiczny jest dowoln wartoci lub wyraeniem logicznym sprawdzanym, czy jest
to PRAWDA, czy FASZ. Na przykad A2 = 10 jest wyraeniem logicznym; jeli warto w ko-
mrce A2 jest rwna 10, wyraenie ma warto PRAWDA. W innym przypadku wyraenie
przyjmuje warto FASZ. Alternatywnie mona w tym miejscu poda wyraenie aryt-
metyczne jeli ma warto 0, jest to rwnoznaczne z wartoci logiczn FASZ, jeli
ma warto niezerow, jest to rwnoznaczne z wartoci logiczn PRAWDA.

Warto_jeeli_prawda oznacza warto wyniku w przypadku, gdy zmienna test_logiczny


ma warto PRAWDA. Na przykad jeli ten argument jest acuchem tekstowym "Wynik",
a wyraenie test_logiczny ma warto PRAWDA, to funkcja JEELI wywietla tekst "Wynik".
Jeli test_logiczny rwna si PRAWDA, a warto_jeeli_prawda jest pusta, to zwracana
jest warto 0 (zero). Warto_jeeli_prawda moe by dowoln formu dajc wynik
liczbowy, tekstowy lub logiczny.

Warto_jeeli_fasz oznacza warto wyniku w przypadku, gdy argument test_logiczny


ma warto FASZ. Na przykad jeli ten argument jest acuchem tekstowym "Brak
wyniku", a wyraenie test_logiczny ma warto FASZ, to funkcja JEELI wywietla tekst
"Brak wyniku". Jeeli komrka ma pozosta pusta, naley poda tekst pusty (""). Jeli
test_logiczny rwna si FASZ, a warto_jeeli_fasz jest pominita (tzn. po
warto_jeeli_prawda nie ma rednika), to zwracana jest logiczna warto FASZ.
Jeli test_logiczny ma warto FASZ, a warto_jeeli_fasz jest pusta (tzn. po
warto_jeeli_prawda jest rednik i zaraz za nim zamykajcy nawias), to zwracana
jest warto 0 (zero). Warto_jeeli_fasz moe by dowoln formu.

Mona zagniedzi do siedmiu (od wersji 2007 do 64) funkcji JEELI, stosujc je jako
argumenty warto_jeeli_prawda i warto_jeeli_fasz w celu sprawdzenia bardziej
zoonych warunkw.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 137

Jeli pewne argumenty w funkcji JEELI s tablicami, to w trakcie wykonywania funkcji


obliczane s wszystkie elementy tablicy.

W naszym przypadku wyraenie obliczajce x1 mogoby mie posta:


= JEELI(delta>0; (b+PIERWIASTEK(delta))/(2*a); JEELI(delta=0; b/(2*a);
COMPLEX(b/(2*a); PIERWIASTEK(MODU.LICZBY(delta))/(2*a)))

delta musi by wczeniej obliczona ze wzoru: = b^24*a*c.

Funkcja JEELI zostaa uyta dwukrotnie, najpierw sprawdzany by warunek delta>0,


nastpnie delta=0, trzeciego warunku sprawdza ju nie trzeba, bo innej moliwoci nie
ma. W istocie zagniedanie funkcji JEELI nie jest w tym przypadku konieczne, chodzio
tylko o zilustrowanie takiej moliwoci. Warunki delta>0 i delta=0 mog by poczone
w jeden delta>=0, wprawdzie w przypadku gdy delta=0, obliczanie pierwiastka bdzie
bezproduktywne, ale za to formua bdzie krtsza i przez to bardziej czytelna. Nowa
wersja formuy bdzie miaa posta:
= JEELI(delta>=0; (b+PIERWIASTEK(delta))/(2*a); COMPLEX(-b/(2*a);
PIERWIASTEK(MODU.LICZBY(delta))/(2*a))

Mona j jeszcze uproci, rezygnujc z funkcji MODU.LICZBY i zastpujc j operatorem


negacji (wiemy, e w tym miejscu delta musi by ujemna). Funkcj PIERWIASTEK mona
te zastpi potgowaniem:
= JEELI(delta>=0; (b+delta^0,5)/(2*a); COMPLEX(b/(2*a); delta^0,5/(2*a))

Drugi pierwiastek rwnania x2 naley opisa analogicznym wzorem, dodajc tylko w od-
powiednim miejscu znak (warto zwrci uwag na konieczno uycia dodatkowych
nawiasw):
= JEELI(delta>=0; (bdelta^0,5)/(2*a); COMPLEX(b/(2*a);
(delta^0,5)/(2*a))

Kilku sw komentarza wymaga te uycie funkcji COMPLEX. Funkcja ta wchodzi w skad


dodatku Analysis Toolpak (od wersji Excel 2007 jest ju zintegrowana z arkuszem, w wer-
sji polskiej Excela 2010 jej nazwa zostaa przetumaczona na LICZBA.ZESP). Suy ona do
przedstawienia pary liczb rzeczywistych jako liczby zespolonej. Przedstawienie to ma po-
sta tekstow. Wywoanie COMPLEX(x; y)lub LICZBA.ZESP(x; y) daje w wyniku tekst
"x+yi", gdzie i jest symbolem jednostki urojonej. W miejscu x i y wstawiane s wartoci
liczbowe zmiennych x i y obliczone z pen dokadnoci. (Operacje na liczbach zespo-
lonych omwiono szczegowo w rozdziale 20. Liczby i funkcje zespolone). Moe to
spowodowa, e zapis liczby zespolonej bdzie zajmowa duo miejsca i stanie si nie-
czytelny albo zostanie obcity, jeeli ssiednie komrki s zajte. Na poziomie funkcji
COMPLEX nie ma moliwoci formatowania zapisu, dlatego ju argumenty funkcji musz
by tak przygotowane, aby day si dogodnie wywietli. Trzeba je zatem odpowiednio
zaokrgli, zanim zostan przekazane do funkcji COMPLEX. Tu przykadowo zastosowano
zaokrglenie do trzech miejsc po przecinku. Suy do tego funkcja ZAOKR(liczba; 3).
W Excelu jest wiele funkcji zaokrglajcych liczby w rny sposb. Maj one gwnie
przeznaczenie ekonomiczne. Do celw naukowych najbardziej przydaje si najprostsza
z tych funkcji ZAOKR, ktra zaokrgla liczby w gr lub w d do najbliszej cyfry na okre-
lonym miejscu po przecinku.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


138 Excel w obliczeniach naukowych i inynierskich

Po uwzgldnieniu zaokrglenia wyraenie obliczajce x1 ma posta:


= JEELI(delta>=0; (b+delta^0,5)/(2*a); COMPLEX(ZAOKR(b/(2*a);3);
ZAOKR(delta^0,5/(2*a);3))

Mona rwnie w trosce o czytelno i przejrzysto zapisu zdefiniowa zmienne po-


mocnicze:
p : = b/(2*a) oraz q : = MODU.LICZBY(delta)^0,5/(2*a)

Z uyciem tych zmiennych zapis wyrae do obliczenia x1 i x2 bdzie ju zupenie przej-


rzysty:
x1 : = JEELI(delta>=0; p+q; COMPLEX(ZAOKR(p;3);ZAOKR(q;3))
x2 : = JEELI(delta>=0; pq; COMPLEX(ZAOKR(p;3);ZAOKR(q;3))

Zamiast funkcji JEELI moemy uy funkcji WYBIERZ. W zasadzie jest ona przeznaczona
do sytuacji, gdy liczba wariantw wyboru jest wiksza, ale do ilustracji jej uycia mona
wykorzysta rwnie rozwizanie rwnania kwadratowego. Skadnia tej funkcji jest taka:
WYBIERZ(nr_arg; warto1; warto2; ...)

Nr_arg podaje, ktr z wartoci argumentw wybrano. Nr_arg musi by liczb pomidzy
1 a 29 (254 od wersji 2007) lub formu albo adresem komrki zawierajcej liczby z poda-
nego przedziau. Jeli nr_arg jest rwny 1, funkcja WYBIERZ poda w wyniku warto1,
jeli 2, to funkcja WYBIERZ poda w wyniku warto2 itd.

Jeli nr_arg jest mniejszy od 1 lub wikszy ni numer ostatniej wartoci w spisie argu-
mentw, to funkcja WYBIERZ da w wyniku warto bdu #ARG!.

Jeli nr_arg jest uamkiem, to zostanie on zaokrglony w d (obcity) do najbliszej


liczby cakowitej.

Warto1, warto2, ... to od 1 do 29 (lub 254) wartoci argumentw funkcja WYBIERZ


wybiera spord nich warto lub akcj, ktra ma by wykonana na bazie nr_arg. Argu-
mentami mog by pojedyncze liczby, stae tablicowe, adresy komrek, zdefiniowane
nazwy, formuy, funkcje lub tekst.

Warto umieszczona na licie argumentw funkcji WYBIERZ moe by zarwno zakre-


sem adresw, jak i pojedynczym adresem. Na przykad podane poniej formuy daj takie
wyniki:
SUMA(WYBIERZ(2; A1:A9; B1:B9; C1:C9)) daje w wyniku SUMA(B1:B9)
SUMA(A1:WYBIERZ(3; A10; A20; A30)) jest rwna SUMA(A1:A30)

Jeli nr_arg ma posta tablicy, to dla kadej pozycji w tej tablicy jest wyznaczana war-
to z listy wyboru funkcji WYBIERZ; wynik jest tablic o rozmiarach takich jak nr_arg.
Na przykad:
WYBIERZ({3;1}; "pierwszy"; "drugi"; "trzeci") daje w wyniku tablic
{"trzeci";"pierwszy"}

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 139

W odniesieniu do rozwizania rwnania kwadratowego przed uyciem funkcji WYBIERZ


musimy okreli wyraenie wskanikowe, ktre bdzie przyjmowa wartoci 1, 2, 3 od-
powiednio w przypadku ujemnej, zerowej i dodatniej wartoci wyrnika delta. Mona
w tym celu wykorzysta funkcj ZNAK.LICZBY, ktra przyjmuje warto 1 przy ujemnej
wartoci argumentu, 0 przy zerowej, a 1 przy dodatniej. Jeeli do wyniku tej funkcji do-
damy 2, to otrzymamy potrzebne wyraenie wskanikowe. Mona ju teraz zapisa wy-
raenia obliczajce x1 i x2:
x1 : = WYBIERZ(ZNAK.LICZBY(delta)+2; COMPLEX(ZAOKR(p;3);ZAOKR(q;3)); p; p+q)
x2 : = WYBIERZ(ZNAK.LICZBY(delta)+2; COMPLEX(ZAOKR(p;3);ZAOKR(q;3)); p; pq)

Przykadowe rozwizania rwna kwadratowych pokazano na rysunku 12.1.

Rysunek 12.1.
Obraz ekranu
z przykadowymi
rozwizaniami
rwna
kwadratowych

Graficzne oszacowanie pierwiastkw


Rwnania, dla ktrych nie istniej rozwizania analityczne lub w ktrych przypadku ist-
niejce rozwizania s niewygodne w uyciu, mog by zawsze rozwizywane metodami
numerycznymi. Maj one charakter iteracyjny, tzn. s to metody kolejnych przyblie.
Zastosowanie ktrej z nich wymaga prawie zawsze podania przyblienia startowego
(czasem wymagane s dwa punkty startowe), ktre powinno by moliwie najbardziej
zblione do poszukiwanego pierwiastka. Jest to szczeglnie istotne, gdy rwnanie ma kilka
pierwiastkw. Wwczas od przyblienia startowego zaley, ktry z pierwiastkw zosta-
nie obliczony.

Pierwszym etapem na drodze do wyznaczenia pierwiastkw rwnania powinno by spraw-


dzenie, ile pierwiastkw ma (jeli ma) rozwizywane rwnanie, oraz ich wstpne osza-
cowanie. Najwygodniej mona to zrobi metod graficzn, wykonujc wykres lewej strony
rwnania i sprawdzajc, czy i w ilu punktach przecina on o odcitych (o x). W tym celu

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


140 Excel w obliczeniach naukowych i inynierskich

naley sporzdzi tabelk wartoci funkcji oraz wykona odpowiedni wykres. W opcjach
wykresu naley wybra poczenie punktw lini wygadzon. Dobr liczby punktw do
wykonania wykresu zaley od charakteru funkcji bardziej szczegowo pisz o tym
w rozdziale 5. Graficzna prezentacja danych.

Po wykonaniu wykresu obejmujcego cay przedzia okrelonoci funkcji lub t jego cz,
w ktrej mog wystpi pierwiastki, mamy ju pogld na liczb i przyblione wartoci
pierwiastkw. Mona w tym momencie zrobi dodatkowe wykresy i na kadym z nich
ograniczy skal na osi do najbliszego otoczenia pierwiastka. Z tych wykresw mona
dokadniej odczyta wartoci liczbowe pierwiastkw. Naley jednak pamita, e s to
tylko wartoci przyblione. Excel nie prezentuje bowiem dokadnie badanej funkcji, tylko
jak jej aproksymacj zgodn z badan funkcj w punktach wzowych. Dlatego jeli
wartoci funkcji, ktre suyy do sporzdzenia wykresu, le blisko pierwiastka, jego
oszacowanie bdzie do dokadne, jeeli le dalej bd moe by znaczcy.

Na rysunku 12.2 pokazano wykres przykadowej funkcji bdcej wielomianem 3. stop-


nia, ktra posuy nam jeszcze dalej do ilustracji rnych metod rozwizywania rwna.
Powikszono rwnie fragment wykresu, aby uatwi odczyt dokadniejszej wartoci
jednego z pierwiastkw. W tym celu wystarczy zmodyfikowa zakresy wartoci na osiach
wsprzdnych.

Rysunek 12.2. Oszacowanie wartoci pierwiastkw przykadowego rwnania na podstawie wykresu

Metoda iteracji prostej


Iteracyjne metody rozwizywania rwna polegaj na konstrukcji, wedug pewnego
schematu, cigu przyblie zbienego do pierwiastka (miejsca zerowego). Najprostsz,
cho nie zawsze efektywn metod rozwizywania rwna nieliniowych jest metoda ite-
racji prostej. Aby zastosowa t metod, trzeba przeksztaci rwnanie do postaci
x = f(x)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 141

Kade rwnanie mona przeksztaci do tej postaci wieloma sposobami. Ale nie kady
sposb jest w tym przypadku dobry. Warunkiem, aby cig przyblie by zbieny do gra-
nicy, ktr stanowi pierwiastek, jest to, aby w otoczeniu pierwiastka by speniony waru-
nek |f'(x)| < 1, czyli pochodna funkcji po prawej stronie rwnania musi by co do wartoci
bezwzgldnej mniejsza od 1. Na og atwiej jest obliczy kilka przyblie i porwnujc
je, sprawdzi, czy cig przyblie jest zbieny (rnice midzy kolejnymi wartociami
s coraz mniejsze), ni oblicza warto pochodnej. Jeeli cig przyblie okae si roz-
bieny, a uda si obliczy x z prawej strony rwnania, czyli wyznaczy funkcj odwrotn
do f(x), to tak przeksztacone rwnanie na pewno da zbieny cig przyblie (bo pochodna
funkcji odwrotnej jest odwrotnoci pochodnej). Jeeli nie da si obliczy funkcji odwrot-
nej, trzeba prbowa innych moliwych przeksztace.

Cig przyblie czsto jest powoli zbieny, tym szybciej, im mniejsza co do moduu jest
warto pochodnej f'(x). W praktyce metod iteracji prostej stosuje si najczciej w sy-
tuacji, gdy rwnanie do rozwizania mona rozdzieli na skadniki znacznie rnice
si wartoci, na przykad rwnanie wyjciowe ma posta
x = g(x)+h(x)
przy czym |h(x)| << |g(x)|. Ponadto funkcja g(x) musi si da atwo odwrci. Prze-
ksztacamy rwnanie do postaci
x = g1(xh(x))

Taki cig przyblie najczciej jest zbieny.

Funkcj h(x) traktujemy jako poprawk, o ktr naley skorygowa warto pier-
wiastka x.

Uycie tej metody mona zilustrowa na przykadzie rwnania:


x = x30,1*(x2+2)

W tym przypadku g(x) = x3, h(x) = 0,1*(x2+2).

Poszukujemy pierwiastka x 1. Zatem g(x) 1, a h(x) 0,3; a wic jest speniony wa-
runek |h(x)| << |g(x)|. Ponadto funkcja g(x) daje si atwo odwrci: g1(x) = x1/3. Prze-
ksztacamy wic wyjciowe rwnanie do postaci:
x = (x+0,1*(x2+2))1/3
przyjmujemy przyblienie startowe x0 = 1, podstawiamy t warto do prawej strony
przeksztaconego rwnania i obliczamy nowe przyblienie x1 = 1,091393. Kontynuujc
obliczenia w ten sposb, dochodzimy do przyblie x12 i x13, ktrych wartoci 1,135639
s identyczne z dokadnoci do szeciu miejsc po przecinku. Jeeli taka dokadno jest
wystarczajca, moemy uzna ten wynik za ostateczny.

Podobnie rozpoczwszy przyblienia od x0 = 1, dochodzimy do drugiego pierwiastka


0,821176 po 14 krokach iteracji.

Trzeci pierwiastek rwnania ma warto blisk zeru, ale aby go obliczy, trzeba inaczej
przeksztaci wyjciowe rwnanie. Mona uy formuy:
x = 0,2/(1x2+0,1*x)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


142 Excel w obliczeniach naukowych i inynierskich

W tym przypadku x2+0,1*x << 1 i to wyraenie spenia funkcj poprawki. Jeli iteracje
rozpoczn si od x0 = 0, ju przy smym przyblieniu wynik stabilizuje si przy wartoci
0,214464.

Do obliczenia trzeciego pierwiastka mona rwnie wykorzysta wyjciowe rwnanie bez


przeksztacania:
x = x30,1*(x2+2)

W arkuszu rozwizanie najlepiej zaplanowa w formie kolumny. W pierwszym wierszu


wpisujemy przyblienie startowe jako sta, w drugim wierszu formu korzystajc z warto-
ci z wiersza poprzedniego. Naley posugiwa si adresami wzgldnymi, dziki ktrym
formu mona atwo skopiowa do komrek poniej i uzyska cig przyblie pier-
wiastka rwnania. Kade kolejne przyblienie jest obliczane na podstawie wartoci otrzy-
manej w poprzednim kroku.

Na rysunku 12.3 zilustrowano przebieg rozwizania rwnania metod iteracyjn.

Rysunek 12.3.
Ilustracja metody
iteracji prostej
w odniesieniu
do rwnania
wielomianowego 3.
stopnia

W Excelu 2007 i 2010 mona tu rwnie wykorzysta funkcjonalno tabel, opisan


w rozdziale 3. Operacje i funkcje tablicowe. Wybieramy na rozwizanie zakres w ko-
lumnie i deklarujemy go jako tabel. W nagwku umieszczamy przyblienie startowe,
a poniej formu rozwizania zapisan z uyciem adresw wzgldnych. Dziki funkcjo-
nalnoci tabeli formua zostanie automatycznie skopiowana w d do koca tabeli. Jeli
ostatnie wartoci rni si bardziej ni oczekiwana dokadno, mona rcznie skory-
gowa przyblienie startowe (musi by sta liczbow) lub doda wiersze na kocu tabeli.
Formua zostanie skopiowana automatycznie.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 143

Metoda siecznych (regula falsi)


Drugi sposb rozwizania rwnania nieliniowego wykorzystuje ide interpolacji. Mamy
do rozwizania rwnanie postaci f(x) = 0 i wiemy, e funkcja f(x) jest ciga. Dobieramy
dwa przyblienia pocztkowe a i b tak, e funkcja f(x) zmienia znak w przedziale [a, b]
zapewnia to, e w tym przedziale jest pierwiastek. Metod interpolacji, co jest rw-
nowane konstrukcji siecznej przechodzcej przez punkty (a, f(a)) i (b, f(b)), moemy
teraz wyznaczy nowe przyblienie pierwiastka rwnania x. Dlatego metod zwyko si
nazywa metod siecznych albo z aciny regula falsi. W kolejnym kroku obliczamy
warto funkcji f(x) i sprawdzamy jej znak. Poniewa na kadym etapie oblicze funkcja
f musi mie rne znaki na kocach przedziau, zastpujemy now wartoci x ten z ko-
cw przedziau [a, b], w ktrym znaki funkcji s takie same. Przykadowo jeeli f(a)
byo ujemne, a f(b) dodatnie i stwierdzilimy, e f(x) jest dodatnie, to naley zastpi b
now wartoci x i poszukiwa dalej pierwiastka w przedziale [a, x]. Procedur kontynu-
ujemy, a wartoci kolejnych przyblie bd si zmienia mniej ni zaoona podana
dokadno wyniku. Kolejne przyblienia pierwiastka oblicza si ze wzoru:
af (b) bf (a)
x=
f (b) f (a)

Kiedy zapisuje si ten wzr w Excelu, trzeba pamita o koniecznoci ujcia w nawias
zarwno licznika, jak i mianownika. Zgodno znakw wartoci funkcji mona oczywi-
cie sprawdzi za pomoc funkcji ZNAK.LICZBY, ale najprociej zrobi to, obliczajc ilo-
czyn wartoci jeli jest dodatni, znaki s zgodne, jeli ujemny przeciwne. Oblicze-
nia najlepiej zorganizowa w kolumnach.

Przebieg rozwizania mona przeledzi na przykadzie tego samego rwnania co po-


przednio. Jako przyblienia startowe mona wybra a = 1 i b = 2. Budujemy zoon
z szeciu kolumn tabel, w ktrej w kolejnych wierszach bd wartoci a, f(a), b, f(b),
x i f(x). Wpisujemy w pierwszym wierszu wartoci startowe a i b, nastpnie wprowadza-
my formu funkcji jako f(a). Posugujemy si adresami wzgldnymi, aby raz wprowa-
dzon formu mona byo skopiowa do pozostaych komrek wymagajcych obliczenia
wartoci funkcji (argument jest zawsze po lewej stronie wartoci funkcji). Kopiujemy
formu f(a) do komrki f(b). Obliczamy x ze wzoru interpolacyjnego, stosujc adresy
wzgldne. Kopiujemy formu f(a) lub f(b) do komrki f(x). Majc obliczone x i f(x), mo-
emy przystpi do drugiego etapu oblicze. Trzeba podj decyzj, czy nowo obliczone
x ma zastpi a, czy b. Sprawdzamy to, uywajc funkcji warunkowej. W drugim wierszu
w kolumnie a wpisujemy = JEELI(f(a)*f(x)>0; x; a). Uyte tu symbole f(a), f(x), x, a
zastpujemy odpowiednimi adresami komrek z pierwszego wiersza tabelki. Poniewa
bdzie trzeba skopiowa t formu do kolumny b, naley w przypadku x i f(x) uy ad-
resw mieszanych ze znakiem $ poprzedzajcym liter kolumny w adresie. Tak przygo-
towan formu kopiujemy do komrki b. Musimy tam sprawdzi analogiczny warunek:
JEELI(f(b)*f(x)>0; x; b). Zastosowanie adresu wzgldnego w przypadku a i f(a) oraz
adresu mieszanego w przypadku x i f(x) zapewni nam poprawn konstrukcj wzoru po
skopiowaniu. Nastpnie wypeniamy pola f(a), f(b), x i f(x), kopiujc odpowiednie formuy
z komrek w pierwszym wierszu. Otrzymalimy drugie przyblienie x. Teraz cay drugi
wiersz mona skopiowa (przecign) w d o tyle wierszy, ile potrzeba do ustabilizo-
wania wartoci x. W przypadku naszego przykadowego rwnania osignicie dokadno-
ci szeciu miejsc po przecinku wymagao 23 iteracji.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


144 Excel w obliczeniach naukowych i inynierskich

Zalet metody siecznych jest to, e zawsze prowadzi do pierwiastka, nie wymaga prze-
ksztacania rwnania wyjciowego ani adnych innych modyfikacji. Wad jest koniecz-
no znalezienia dwch punktw startowych, niezbyt odlegych od siebie, speniajcych
warunek f(a)*f(b) < 0, i na og do powolna zbieno metody.

Na rysunku 12.4 pokazano cig przyblie prowadzcy do jednego z pierwiastkw przy-


kadowego rwnania.

Rysunek 12.4.
Ilustracja metody siecznych
w odniesieniu do jednego
z pierwiastkw rwnania
wielomianowego 3. stopnia

Przyspieszenie zbienoci
metody siecznych
Najistotniejsz wad metody siecznych jest jej powolna zbieno, spowodowana tym,
e na og przedzia, w ktrym poszukujemy pierwiastka, jest zawany tylko z jednej
strony. Mona to zmieni przez stosunkowo prost modyfikacj wzorw, ale wymagajc
kontroli ze strony prowadzcego obliczenia. Standardowo po obliczeniu przyblienia x
przedzia zawa si do [a, x] lub [x, b]. Po modyfikacji zawony przedzia ma granice
[(a+x)/2, x] lub [x, (b+x)/2], czyli za kadym razem modyfikuje si obie granice przedziau.

Zapis w kolumnie a : = JEELI(f(a)*f(x)>0; x; a) naley zamieni na = JEELI(f(a)


*f(x)>0; x; (a+x)/2). Analogicznie w kolumnie b naley zmodyfikowa formu
= JEELI(f(b)*f(x)>0; x; b) na = JEELI(f(b)*f(x)>0; x; (b+x)/2).

Pozwala to w wikszoci przypadkw znacznie przyspieszy zbieno metody. Ale wa-


runkiem poprawnoci oblicze jest nadal to, aby wartoci funkcji na kocach przedziau
rniy si znakiem. I prowadzcy obliczenia musi to zapewni. Dlatego za kadym razem

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 145

po zastosowaniu modyfikacji granicy przedziau naley si upewni, e znak wartoci


funkcji si nie zmieni. W razie zmiany znaku trzeba w tym punkcie przywrci standar-
dowy koniec przedziau.

Na rysunku 12.5 pokazano przykadowe obliczenia zrealizowane t metod. Wida, e do


uzyskania 6-cyfrowej dokadnoci wystarczy teraz 7 8 iteracji. W jednym miejscu na-
stpia niepodana zmiana znaku funkcji i trzeba byo przywrci standardowy koniec
przedziau.

Rysunek 12.5.
Obliczenie pierwiastkw
rwnania wielomianowego 5.
stopnia jako ilustracja
zmodyfikowanej metody
siecznych

Metoda stycznych (Newtona)


Kolejna metoda iteracyjnego rozwizywania rwna nieliniowych znana jest pod nazw
metody stycznych albo metody Newtona. W tej metodzie rwnanie zapisuje si w for-
mie f(x) = 0 i wykorzystuje si tylko jedno przyblienie startowe. W punkcie startowym
prowadzi si styczn do wykresu funkcji f(x). Punkt przecicia tej stycznej z osi odci-
tych wyznacza nowe przyblienie pierwiastka rwnania. Poniewa nachylenie stycznej
jest rwne pochodnej funkcji f'(x), do obliczenia kolejnych przyblie potrzebne s war-
toci pochodnej. Wzr sucy do wyznaczania kolejnych przyblie ma posta:
f ( xi )
xi +1 = xi
f ( xi )

Wzr jest prosty, metoda na og bardzo szybko zbiena, jedynym mankamentem jest
potrzeba znajomoci pochodnej funkcji wystpujcej w rwnaniu. Wzr na pochodn
trzeba wyznaczy poza arkuszem. Dane do oblicze przygotowuje si w kolumnach
kolejno x, f(x) i f'(x). W pierwszym wierszu wpisuje si warto startow x jako sta,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


146 Excel w obliczeniach naukowych i inynierskich

a nastpnie formuy obliczajce f(x) i f'(x). Zastosowanie adresw wzgldnych umoliwi


atwe skopiowanie formu. W drugim wierszu oblicza si najpierw nowe przyblienie x,
korzystajc z danych z pierwszego wiersza, a nastpnie kopiuje formuy na f(x) i f'(x). Cay
drugi wiersz mona skopiowa (przecign) w d i uzyska kolejne przyblienia.

W przypadku gdy rwnanie ma kilka pierwiastkw, istotne jest, aby przyblienie startowe
byo dostatecznie blisko poszukiwanego pierwiastka. W obliczeniach przykadowych po-
kazanych na rysunku 12.6 wystarcza pi przyblie, aby osign 6-cyfrow dokadno
wyniku.

Rysunek 12.6.
Obliczenie pierwiastkw
rwnania wielomianowego
metod stycznych

Zmodyfikowana metoda stycznych


Metoda stycznych byaby najskuteczniejsz metod rozwizywania rwna nieliniowych,
gdyby nie konieczno wykorzystania wzoru analitycznego na pochodn funkcji f'(x).
Czsto posta funkcji jest zoona i obliczenie pochodnej w postaci analitycznej moe by
trudne. W takim przypadku mona wykorzysta aproksymacj pochodnej ilorazem r-
nicowym. Dokadnie zagadnienie to omwiono w rozdziale 6. Rniczkowanie nume-
ryczne. Mona wykorzysta rne warianty wzoru na pochodn. W naszym przykadzie
wykorzystano wzr z rnicami centralnymi i z przyrostem x rwnym 105 |x|, ale nie
mniej ni 106. Tabelka do oblicze musi teraz mie wicej kolumn, kolejno x, f(x),
x, xx, f(xx), x+x, f(x+x) i f' (x). x obliczamy ze wzoru = MAX(1E5*x; 1E6).
Funkcja MAX wybiera wikszy z podanych argumentw. Przyblion warto pochodnej
obliczamy ze wzoru:
f ( x + x) f ( x x)
f ( x)
2 x

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 147

Przyblione wartoci pochodnej praktycznie nie rni si od wartoci dokadnych obli-


czonych ze wzoru analitycznego, wic z punktu widzenia rozwizania rwnania nie ma
znaczenia, czy wykorzystujemy wzr analityczny na pochodn, czy aproksymacj ilora-
zem rnicowym.

Przykadowe obliczenia wykonane wedug tego schematu pokazano na rysunku 12.7.

Rysunek 12.7.
Obliczenie pierwiastka
rwnania wielomianowego
zmodyfikowan metod
stycznych

Inny wariant metody siecznych


W opisywanej wczeniej metodzie regula falsi istotnym warunkiem byo, aby poszu-
kiwany pierwiastek znajdowa si zawsze wewntrz przedziau o okrelonych kocach.
Mona rwnie mwi o metodzie siecznych, ktra nie spenia tego warunku. Jest ona
swoj ide zbliona do metody stycznych. Styczn zastpuje jednak sieczna poprowadzona
pocztkowo przez dwa dowolne punkty bliskie pierwiastka. Punkty startowe powinny
by zapisane w takiej kolejnoci, aby warto bezwzgldna wartoci funkcji w drugim
punkcie bya mniejsza. W tabelce punkty te zapisujemy jeden pod drugim. Pierwsze przy-
blienie pierwiastka obliczamy ze wzoru identycznego z tym, ktry wystpuje w wa-
riancie regula falsi:
af (b) bf (a)
x=
f (b) f (a)

Kolejne przyblienie powstaje z punktu b, ktry by bliszy pierwiastka ni a, oraz z no-


wego przyblienia x. Korzystamy z tego samego wzoru, zapisanego za pomoc adresw
wzgldnych. Kopiujc ten wzr w d do kolejnych wierszy, bierzemy do oblicze zaw-
sze dwa ostatnie punkty. W zalenoci od charakteru funkcji f(x) i od odlegoci midzy
punktami a i b moemy otrzyma monotoniczny albo naprzemienny cig przyblie. Jeeli
punkty startowe s wystarczajco blisko pierwiastka, cig przyblie jest zbieny. W przy-
padku stwierdzenia problemw ze zbienoci trzeba zmodyfikowa przyblienia startowe.

Na rysunku 12.8 pokazano rozwizanie rwnania (znanego ju z poprzednich przyka-


dw) przy uyciu tej metody. W pierwszych dwu wierszach umieszczono dwa punkty
startowe (stae liczbowe a i b), w nastpnych wierszach wartoci x s obliczane.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


148 Excel w obliczeniach naukowych i inynierskich

Rysunek 12.8.
Inny wariant metody
siecznych uyty do
rozwizania rwnania
wielomianowego 3.
stopnia

Zamierzone uycie odwoa cyklicznych


przy rozwizywaniu rwna
Z odwoaniem cyklicznym spotykamy si w przypadku, gdy formua w komrce odwouje
si bezporednio lub porednio do tej samej komrki zawierajcej formu. Z reguy sytu-
acja taka jest wynikiem bdw przy wpisywaniu adresw, a wic jest to sytuacja wyjt-
kowa. Excel domylnie reaguje komunikatem o odwoaniu cyklicznym i komrce z formu
nadaje warto zero. Jednak w przypadku oblicze iteracyjnych mona wykorzysta od-
woania cykliczne, organizujc je celowo.

Powrmy do rozwizania rwnania metod iteracji prostej. Rozwizywalimy rwnanie:


x = x30,1*(x2+2)

Zostao ono przeksztacone do postaci:


x = (x+0,1*(x2+2))1/3

Zamy, e do komrki Y7 wpiszemy warto 1, a do komrki Z7 wyraenie = (Y7+0,1*


(Y7^2+2))^(1/3). W komrce Z7 pojawi si warto 1,09139. Gdybymy teraz do ko-
mrki Y7 wpisali odwoanie = Z7, powstaoby odwoanie cykliczne. Standardowo Excel
traktuje t sytuacj jako bdn i wywietla stosowne ostrzeenie. Jednak wystarczy w menu
Narzdzia/Opcje/Przeliczanie zaznaczy kwadrat Iteracja (w wersji 2007 Przycisk pakietu
Office/Opcje programu Excel/Formuy/Opcje obliczania, a w wersji 2010 Plik/Opcje/
Formuy/Opcje obliczania trzeba zaznaczy pole Wcz obliczenia iteracyjne), aby
Excel nie traktowa odwoa cyklicznych jako bdu i wykonywa obliczenia iteracyjne
zgodnie z ustalonymi parametrami: Maksymalna liczba iteracji i Maksymalna zmiana.
Ten ostatni parametr oznacza, e iteracje zostan przerwane, jeeli iterowana warto
zmieni si o mniej, ni wynosi warto tego parametru. Domylnie parametr ten ustawiony
jest na warto 0,001, co wystarcza w zastosowaniach ekonomicznych, ale jest z reguy

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 149

niewystarczajce w zastosowaniach naukowych. W zalenoci od rozwizywanego rw-


nania mona tam wpisa warto rzdu na przykad 108 lub nawet 0. Wpisanie 0 spowo-
duje wykonanie zawsze maksymalnej liczby iteracji.

W naszym przykadzie w obu komrkach Y7 i Z7 pojawi si teraz warto 1,13564, ktra


jest wynikiem procesu iteracyjnego rozpocztego od wartoci 1. Podobny efekt uzyskamy,
gdy na przykad do komrki Z7 wpiszemy formu: = (Z7+0,1*(Z7^2+2))^(1/3). B-
dzie to bezporednie odwoanie cykliczne (bezporednie odwoanie cykliczne rozpoczy-
na iteracje od wartoci 0). Jeeli uylibymy w komrce Z7 formuy nieprzeksztaconej
= Z7^30,1*(Z7^2+2), w wyniku otrzymalibymy warto innego pierwiastka 0,21446.

Na rysunku 12.9 pokazano ekran z wynikami zastosowania odwoa cyklicznych w przy-


padku iteracji prostej.

Rysunek 12.9.
Zamierzone odwoania
cykliczne zastosowane
do rozwizania
rwnania nieliniowego

Opisany sposb mona zastosowa rwnie do innych metod iteracyjnych, na przykad


metody regula falsi czy metody stycznych.

Wykorzystanie narzdzi
Szukaj wyniku i Solver
W Excelu stworzono specjalne narzdzia, ktre mona wykorzysta m.in. do rozwi-
zywania rwna. Szukaj wyniku jest prostszym narzdziem umoliwiajcym rozwizywa-
nie rwna z jedn niewiadom. Narzdzie to jest zintegrowane z arkuszem (nie wymaga
instalacji). Parametry jego pracy ustala si w menu Narzdzia/Opcje/Przeliczanie (w wersji
2007 Przycisk pakietu Office/Opcje programu Excel/Formuy/Opcje obliczania, a w wersji
2010 Plik/Opcje/Formuy/Opcje obliczania). S to dwa wspomniane ju wczeniej para-
metry: Maksymalna liczba iteracji i Maksymalna zmiana. Pierwszy parametr z reguy
przyjmuje warto 100, drugi parametr okrela, przy jakiej wartoci funkcji celu obliczenia
zostan zakoczone. Formalnie Maksymalna zmiana powinna mie warto oczekiwanej
dokadnoci wyniku pomnoonej przez warto pochodnej funkcji celu w okolicy pier-
wiastka. W praktyce wpisujemy tam na przykad 1E8.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


150 Excel w obliczeniach naukowych i inynierskich

Po ustawieniu parametrw pracy mona przystpi do rozwizania rwnania. Trzeba


wybra dwie komrki w arkuszu. Do pierwszej wpisujemy przyblienie startowe jako
sta liczbow. W tej komrce pojawi si wynik oblicze. W drugiej komrce wpisu-
jemy formu funkcji f(x), uywajc adresu pierwszej komrki jako argumentu. Teraz
z menu Narzdzia (od wersji 2007 Dane/Narzdzia danych/Analiza symulacji lub Ana-
liza warunkowa) wybieramy Szukaj wyniku. Pojawi si okienko dialogowe z trzema
polami. W polu Ustaw komrk powinien by wpisany adres komrki z formu f(x).
Jeeli w momencie wywoywania Szukaj wyniku jest to komrka aktywna, jej adres
zostanie wpisany automatycznie. W drugim polu Warto naley wpisa 0 (ewentual-
nie warto a, jeli rwnanie ma posta f(x) = a). Wreszcie w polu Zmieniajc komr-
k wpisujemy (lub wskazujemy myszk) adres komrki z przyblieniem startowym.
Po zatwierdzeniu operacji przyciskiem OK w pierwszej komrce pojawi si rozwi-
zanie, a w komrce z funkcj celu f(x) powinno si pojawi 0 lub jaka bardzo maa
liczba (lub inna liczba wpisana w polu Warto). Jeeli rozwizywane rwnanie ma
kilka pierwiastkw, znaleziony zostanie jeden, pooony najbliej przyblienia starto-
wego. Pozostaych pierwiastkw mona szuka, zmieniajc przyblienia startowe.

Na rysunku 12.10 pokazano wygld ekranu w czasie przygotowa do uycia narzdzia


Szukaj wyniku.

Rysunek 12.10.
Rozwizanie rwnania
nieliniowego
z wykorzystaniem
narzdzia Szukaj
wyniku

Drugim narzdziem, ktre mona wykorzysta m.in. do rozwizywania rwna, jest


Solver. To narzdzie bardziej rozbudowane i uniwersalne suy nie tylko do rozwi-
zywania rwna, ale rwnie do poszukiwania ekstremw funkcji jednej i wielu zmien-
nych, w tym rwnie ekstremw warunkowych. Narzdzie to wymaga instalacji z listy
dodatkw. Z menu Narzdzia wybieramy opcj Dodatki (w wersji 2007 Przycisk pakietu
Office/Opcje programu Excel/Dodatki/Zarzdzaj/Przejd, a w wersji 2010 Plik/Opcje/
Dodatki/Zarzdzaj/Przejd) i zaznaczamy na licie pozycj Solver. Od tego momentu
Solver powinien by dostpny w menu Narzdzia (od wersji 2007 jest on dostpny w menu
Dane/Analiza). Czasem zdarza si, e mimo wczeniejszej instalacji ikona Solvera jest
niedostpna (niewidoczna). W takim przypadku naley dodatek odinstalowa, a nastp-
nie zainstalowa ponownie.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 12. Rozwizywanie rwna nieliniowych 151

Zasada uycia Solvera jest podobna jak w przypadku narzdzia Szukaj wyniku: naley
przygotowa dwie komrki pierwsza powinna zawiera przyblienie startowe jako
sta, druga formu lewej strony rwnania. Komrka z formu powinna by wybra-
na jako aktywna w momencie wywoania Solvera po raz pierwszy. Wtedy adres ten
zostanie automatycznie wpisany do pola Komrka celu. (Przy ponownym wywoaniu
Solver pamita poprzednie ustawienia). Jeli nie nastpi to automatycznie, naley wpi-
sa tam adres komrki z formu lewej strony rwnania. W nastpnym wierszu naley
wybra pole Warto i wpisa warto 0 (lub warto a, gdy rwnanie ma posta f(x)
= a) jako docelow. Wreszcie w polu Komrki zmieniane naley poda adres komrki
z przyblieniem startowym. Alternatywnie mona nacisn przycisk Odgadnij (niedo-
stpny w wersji 2010), wtedy adres komrki zmienianej zostanie wpisany automatycz-
nie. Jeeli jednak w formule funkcji wystpuj jeszcze adresy lub nazwy innych ko-
mrek, to wszystkie zostan wpisane i niezbdna bdzie rczna selekcja. Obliczenia
rozpoczynamy, naciskajc przycisk Rozwi. Za chwil pojawia si okienko informu-
jce o tym, czy Solver znalaz rozwizanie istnieje moliwo akceptacji rozwiza-
nia lub powrotu do stanu wyjciowego. Akceptacja rozwizania oznacza, e przyblie-
nie startowe zostanie nadpisane rozwizaniem znalezionym przez Solvera. Dokadno
rozwizania oferowanego przez Solvera zaley od parametru Zbieno (dostpnego
w Opcjach Solvera), ktry jest odpowiednikiem Maksymalnej zmiany w przypadku
narzdzia Szukaj wyniku, z tym e w przypadku Solvera jest to parametr wzgldny.
Parametr ten ma domylnie warto 1E4, to z reguy wystarcza, ale czasem warto po-
prawi zbieno o 1 2 rzdy do 1E5 lub 1E6.

Na rysunku 12.11 pokazano okienko dialogowe Solvera przygotowane do rozwizania


przykadowego rwnania.

Rysunek 12.11.
Okno narzdzia Solver
z parametrami
ustawionymi na
rozwizanie rwnania
nieliniowego

Narzdzia Szukaj wyniku i Solver s wygodne w uyciu, ale naley pamita, e wykonane
przez nie obliczenia maj charakter jednorazowy, a wyniki zapisane s w formie staych.
W razie zmiany danych uytych do oblicze konieczne jest ich ponowne wykonanie.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


152 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 13.
Ukady rwna
nieliniowych
Ukady zoone z dwch rwna
Ukady rwna nieliniowych rzadko daj si rozwiza analitycznie. W praktyce do ich
rozwizania stosuje si metody iteracyjne, jednak trudno tu poda jak jedn uniwersaln
metod rozwizania. Stosunkowo proste jest rozwizanie ukadu zoonego z dwu rw-
na, w miar wzrostu liczby rwna znalezienie wszystkich rozwiza staje si coraz
trudniejsze. Jak w przypadku pojedynczego rwnania, pierwszym etapem rozwizania
powinna by analiza rwna pod ktem zakresu zmiennoci niewiadomych, liczby roz-
wiza i ich oszacowania.

Po pierwsze ustalamy, w jakim zakresie mog si zmienia niewiadome, wskazujemy


wartoci, ktrych nie mog przyjmowa. Naley uwzgldni, e w mianowniku wartoci
musz by niezerowe, argument logarytmu musi by liczb dodatni, podstaw potgi
o wykadniku niecakowitym dodatnim musi by liczba nieujemna, w przypadku potgi
o wykadniku ujemnym lub zerowym dodatkowo podstawa nie moe by rwna zeru.
Jeeli w wyraeniu s funkcje trygonometryczne, dochodz kolejne ograniczenia. Majc
ju ustalone zakresy zmiennoci niewiadomych, mona sprbowa wykona wykresy obu
rwna, aby okreli liczb rozwiza ukadu i wstpnie je oszacowa.

Na tym etapie naley przeksztaci rwnania tak, aby dao si wykona wykresy obu
rwna albo jednego rwnania otrzymanego przez eliminacj jednej z niewiadomych. Do
wykonania wykresu jest potrzebna tabela odpowiadajcych sobie wartoci zmiennych.
Procedur przeksztacania rwna do postaci umoliwiajcej tabelaryzacj opisano w roz-
dziale 4. Tablicowanie funkcji jednej i dwu zmiennych.

Najpierw trzeba sprbowa rozwika rwnania ze wzgldu na y lub x, czyli uzyska po-
sta y = f(x) lub x = f(y). Jeeli nie jest to moliwe, trzeba sprbowa uproci rwnanie
przez podstawienie. Czasem rwnanie da si zapisa w postaci f(z) = 0, gdzie z jest jak
prost funkcj x i y, na przykad z = x+y albo z = x/y itp. W takim przypadku naley roz-
wiza rwnanie f(z) = 0 jedn z metod numerycznych opisanych w poprzednim rozdziale,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


154 Excel w obliczeniach naukowych i inynierskich

a po znalezieniu tego rozwizania zastpi w ukadzie rwna oryginalne rwnanie jego


now uproszczon wersj, zgodn z dokonanym podstawieniem. To rwnanie powinno
si atwo da rozwika ze wzgldu na x lub y, co umoliwi wykonanie wykresu.

Inna moliwo to takie podstawienie zmiennej pomocniczej z, aby rwnanie dao si


przedstawi w postaci parametrycznej x = f(z) i y = g(z). Teraz zmieniajc z w jego za-
kresie zmiennoci, mona wyznaczy pary wartoci x i y i wykona wykres, jak rwnie
podstawi wyraenia na x i y do drugiego rwnania i przeksztaci je w rwnanie z jedn
niewiadom z.

Jeeli aden z powyszych sposobw nie da si wykorzysta, pozostaje rozwizanie


numeryczne w kilku wybranych punktach. Naley wytypowa kilka wartoci zmiennej
x = x1, x2, , xn i po podstawieniu ich do oryginalnego rwnania f(xi, y) = 0 znale
rozwizania yi dla kadej wartoci xi z zastosowaniem jednej z metod numerycznych. Ze-
staw par wsprzdnych (xi, yi) mona teraz wykorzysta do wykonania wykresu. Z dru-
gim rwnaniem mona postpi podobnie. Po wykonaniu wykresu mona zorientowa
si w liczbie rozwiza i oszacowa ich wsprzdne.

Dalsze postpowanie zaley od formy przeksztaconych rwna. Jeeli oba rwnania day
si rozwika ze wzgldu na t sam zmienn, na przykad y, to mamy dwa rwnania
o postaci y = f1(x) i y = f2(x). Z tych dwu rwna eliminujemy y, by otrzyma rwnanie
z jedn niewiadom x, f1(x) = f2(x), ktre mona rozwiza numerycznie. Analogiczna
sytuacja wystpi, jeeli oba rwnania da si rozwika ze wzgldu na x. Jeeli jedno
z rwna mona rozwika ze wzgldu na x, a drugie ze wzgldu na y, naley zastoso-
wa podstawienie i uzyska jedno rwnanie z niewiadom x lub y. Na przykad jeeli
pierwsze rwnanie przeksztacimy do postaci x = f1(y), a drugie do postaci y = f2(x), to
poprzez podstawienie drugiego do pierwszego wyeliminujemy y: x = f1(f2(x)). Znowu
mamy jedno rwnanie ze wzgldu na x.

Wystarczy, e jedno z rwna da si rozwika, aby mona byo przez podstawienie wy-
eliminowa jedn z niewiadomych. Zamy, e pierwsze rwnanie nie daje si rozwi-
ka i pozostaje w formie f1(x, y) = 0. Jeeli z drugiego rwnania potrafimy wyznaczy
na przykad x = f2(y), to przez podstawienie otrzymamy rwnanie z jedn niewiadom
y: f1(f2(y), y) = 0.

Jedynie gdy adne z rwna nie daje si rozwika, trzeba zastosowa inn metod
rozwizania. Mona do tego uy Solvera i wykorzysta opcj poszukiwania minimum
funkcji. Opis instalacji i sposb uycia tego dodatku podano w rozdziale 12. Rozwi-
zywanie rwna nieliniowych.

Mamy ukad dwu rwna:


f1(x, y) = 0 oraz f2(x, y) = 0

Utworzymy now funkcj pomocnicz w postaci sumy kwadratw lewych stron rwna:
g(x, y) = [f1(x, y)]2+[f2(x, y)]2

Funkcja g(x, y) przyjmuje wartoci nieujemne, a jest rwna 0 tylko w punktach, ktre
rwnoczenie zeruj oba rwnania f1 i f2. Zatem w punktach, ktre s rozwizaniami
ukadu rwna, i tylko w tych punktach funkcja g(x, y) ma minimum rwne zeru.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 13. Ukady rwna nieliniowych 155

Minimum to mona odnale przy uyciu Solvera. Poniewa rozwizania ukadu rwna
byy ju wczeniej oszacowane graficznie, moliwe jest podanie do dokadnych przy-
blie startowych. Ponadto naley zapewni, aby skadowe funkcji g(x, y) pochodzce od
obu rwna miay zblione wartoci, przynajmniej co do rzdu. Mona to osign po-
przez wprowadzenie staego mnonika przed mniejszym z czonw funkcji g(x, y).

Po uruchomieniu Solvera poszukiwanie minimum powinno zawsze koczy si sukce-


sem. Uyta posta funkcji ma zawsze minimum. Z punktu widzenia rozwizania ukadu
rwna istotne jest, aby to minimum miao warto zerow lub bardzo ma (konsekwen-
cja zaokrgle w obliczeniach). Warto niezerowa minimum oznacza, e nie znaleziono
rozwizania ukadu rwna.

Podam teraz kilka przykadw ukadw rwna wraz z zalecan procedur ich rozwizania.

Przykad 13.1.
Ukad rwna
x*yexp(x)+5 = 0
x+y23 = 0

Pierwsze rwnanie mona rozwika ze wzgldu na y, drugie zarwno ze wzgldu na x,


jak i na y, z tym e w przypadku y trzeba uwzgldni dwa warianty wyraenia, ze znakiem
+ i ze znakiem . Istnieje wic kilka moliwoci rozwizania. Wybraem wariant obliczenia
x z drugiego rwnania: x = 3y2 i podstawienia do pierwszego: (3y2)*y exp(3y2)+5 = 0.
Otrzymane rwnanie mona przedstawi graficznie. Pozwala to zidentyfikowa trzy
pierwiastki tego rwnania o przyblionych wartociach y1 1,3; y2 1 oraz y3 2,3.
Wartoci te mona wykorzysta jako przyblienia startowe i wyznaczy dokadniejsze
rozwizania na przykad za pomoc narzdzia Szukaj wyniku. Opis wywoania i sposobu
uycia tego dodatku podano w rozdziale 12. Rozwizywanie rwna nieliniowych.

Do obliczenia wykorzystuje si przyblion warto y jako komrk zmienian, warto x


wyliczon z formuy = 3y^2 i funkcj celu w postaci = x*yEXP(x)+5, ktrej naley nada
warto 0. Obliczenia trzeba przeprowadzi trzykrotnie, zmieniajc za kadym razem
przyblienie startowe. Wyniki tych oblicze pokazano na rysunku 13.1.

Przykad 13.2.
Ukad rwna
x2*y+2*ln(x)+ln(y) = 4
x/yln(y)+x3 = 5

Ani pierwszego, ani drugiego rwnania nie da si rozwika ani ze wzgldu na x, ani na y.
Ale mona zauway, e pierwsze rwnanie da si zapisa w postaci:
x2*y+ln(x2*y) = 4

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


156 Excel w obliczeniach naukowych i inynierskich

Rysunek 13.1. Przykad rozwizania ukadu rwna nieliniowych

Stosujc podstawienie z = x2*y, rwnanie to przeksztacamy w rwnanie z jedn nie-


wiadom z:
z+ln(z) = 4

Po zastosowaniu jednej z metod rozwizywania rwna z jedn niewiadom znajdujemy


rozwizanie z = 2,926271. Powstaje zaleno x2*y = 2,926271, z ktrej atwo wyzna-
czy y i podstawi do drugiego rwnania. Otrzymujemy:
x3/2,926271ln(2,926271)+2*ln(x)+x3 = 5

Po uporzdkowaniu:
1,341732*x3+2*ln(x) = 6,073729

Jest to rwnanie z jedn niewiadom, ktre rozwizujemy dowoln ze znanych metod


otrzymujemy wynik: x = 1,568142. Odpowiada mu warto y = 1,189991. Obliczenia
i wykresy pomocnicze do tego przykadu pokazano na rysunku 13.2.

Przykad 13.3.
Ukad rwna
x/y+ln(x*y) = 3
x*ln(y)y*ln(x) = 1

Stosujc podstawienie z = x*y, pierwsze rwnanie przeksztacamy do postaci:


x2/z+ln(z) = 3

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 13. Ukady rwna nieliniowych 157

Rysunek 13.2. Przykad rozwizania ukadu rwna nieliniowych z wykorzystaniem zmiennej pomocniczej

z czego atwo wyznaczy x oraz y jako funkcje z:


x : = PIERWIASTEK(z*(3LN(z)))
y : = z/x

Symbol jest umowny chodzi o dwie funkcje: jedn ze znakiem + i drug ze zna-
kiem .

Po podstawieniu tych wyrae do drugiego rwnania otrzymujemy rwnanie zalene od


jednej niewiadomej z. Ze wzgldu na posta rwna z moe przyjmowa wartoci z prze-
dziau (0, EXP(3)). Z kolei ze wzgldu na posta drugiego rwnania wartoci x i y musz
by dodatnie. Uwzgldniajc te ograniczenia, tworzymy tabelk wartoci z jako zmiennej
niezalenej i powizanych z ni wartoci x, y oraz f2(x, y). Funkcja f2(x(z), y(z)) zmienia
znak w przedziale zmiennoci z od 18 do 19. Dokadniejsze rozwizanie mona zna-
le za pomoc Solvera w efekcie z = 18,73104 i odpowiednio x = 1,143577 oraz
y = 16,379345.

Przykad 13.4.
Ukad rwna
x2*ln(x*y)+1/(x+y) = 2
x2+exp(x) = y+ln(y)

Jest to ukad, w ktrym adne z rwna nie daje si rozwika i trzeba zastosowa podej-
cie najbardziej oglne. Po pierwsze, naley zauway, e ze wzgldu na funkcj loga-
rytmiczn zarwno x, jak i y mog przyjmowa tylko wartoci dodatnie. W celu zbadania,
czy istnieje rozwizanie, i oszacowania go naley wykona wykresy obu rwna i umie-
ci je we wsplnym ukadzie wsprzdnych.

Wybieramy rosncy cig dodatnich wartoci x i umieszczamy je w kolumnie. Obok


umieszczamy kolumn wartoci y z pierwszego rwnania, oznaczon y1, i kolumn

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


158 Excel w obliczeniach naukowych i inynierskich

wartoci lewej strony pierwszego rwnania f1(x, y1) oraz analogiczne kolumny y2
i f2(x, y2), odnoszce si do drugiego rwnania. Rwnania musz by zapisane tak, aby
wszystkie wyrazy znalazy si po lewej stronie, a prawa strona bya rwna zeru. Za
pomoc narzdzia Szukaj wyniku albo Solvera tworzymy listy wartoci y odpowiada-
jcych wybranym wartociom x i powodujcych zerowanie si poszczeglnych rw-
na. Alternatywnie mona wykorzysta metod iteracji prostej lub metod Newtona
z odwoaniem cyklicznym do wyznaczenia pierwszej wartoci y dla wybranego x. Po-
zostae wartoci y mona obliczy kopiujc wiersz, w ktrym wyznaczono pierwsz
warto lub wykorzystujc procedur Tabela danych. W miar przebiegu oblicze
mona modyfikowa list wartoci x, zachowujc jej monotoniczno, tak aby udao
si odtworzy dostatecznie dokadnie przebieg zmiennoci kadej z funkcji. Po zgro-
madzeniu wszystkich wartoci x i y tworzymy wykres, na ktrym przedstawiamy prze-
bieg obu zalenoci y od x. W razie koniecznoci moemy utworzy odrbne listy
wartoci x dla kadego rwnania, ale wtedy trzeba zachowa ostrono przy tworze-
niu wykresu i upewni si, e jest on prawidowy. Punkty przecicia linii na wykresie
wskazuj rozwizania ukadu rwna. Odczytujemy z wykresu przyblione wartoci
x i y w punkcie (punktach) przecicia, gdy posu one jako wartoci startowe do ob-
licze. W tym przykadzie s to wartoci x 1,2; y 3,5.

Obliczenia wykonamy za pomoc Solvera. W dwu komrkach naley umieci przybli-


enia startowe x i y, obok wartoci lewych stron obu rwna, oraz sum ich kwadratw.
Suma kwadratw bdzie funkcj celu dla Solvera. Po wywoaniu Solvera wskazujemy
funkcj celu, polecenie znalezienia minimum oraz komrki zmieniane x i y. Po naciniciu
przycisku Rozwi i akceptacji rozwizania Solver umieci je w komrkach x i y. Naley
tylko sprawdzi, czy warto funkcji celu jest faktycznie bliska zera, to bowiem istotny
warunek poprawnoci rozwizania. Jeeli z wykresu wynikao istnienie rozwizania, Solver
powinien bez problemw je znale. Mona te zaryzykowa uycie Solvera bez wcze-
niejszego wykonania wykresu. Jeeli Solver znajdzie rozwizanie, to na pewno jest ono
poprawne, ale nie wiadomo, czy jedyne; jeeli nie znajdzie rozwizania, to nie znaczy,
e ono nie istnieje, ale by moe dobrano punkty startowe zbyt od niego odlege. Prze-
bieg rozwizania tego przykadu pokazano na rysunku 13.3.

Rysunek 13.3. Obraz ekranu z rozwizaniem ukadu rwna nieliniowych za pomoc Solvera,
z wykorzystaniem minimum sumy kwadratw lewych stron rwna

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 13. Ukady rwna nieliniowych 159

Ukady zoone z trzech i wicej rwna


Jeli do rozwizania mamy ukad zoony z trzech lub wicej rwna nieliniowych, roz-
poczynamy od analizy majcej na celu zmniejszenie liczby rwna przez eliminacj zmien-
nych, ktre mona wyznaczy z innych rwna. Stosujemy przy tym te same metody,
ktre pozwalaj zredukowa ukad dwu rwna do pojedynczego rwnania.

W przypadku trzech i wicej rwna mona zastosowa metod minimalizacji sumy


kwadratw, opisan w poprzednim podrozdziale, trudno jest jednak w tej sytuacji odgad-
n przyblienia startowe (bo nie da si wykona wykresu), pozostaje metoda prb i b-
dw oraz intuicja prowadzcego obliczenia. Jest to szczeglnie istotne, gdy rwnanie ma
kilka rozwiza. Wwczas od wybranego przyblienia startowego zaley, ktre z roz-
wiza zostanie znalezione.

Jako przykad rozpatrzymy ukad trzech rwna nieliniowych z trzema niewiadomymi.


x*y*z+ln(x+y+z)4 = 0
x2+y2+z23*x*y*z = 0
x2*y2x*z+2*y*z1 = 0

Ukad ten mona rozwizywa za pomoc Solvera, minimalizujc sum kwadratw lewych
stron rwna. Procedura ta zostaa opisana w poprzednim podrozdziale w odniesieniu do
ukadu dwch rwna. Przy trzech rwnaniach trzeba doda dodatkowy skadnik sumy
kwadratw i wykaza si intuicj w wyszukiwaniu punktw startowych.

Na rysunku 13.4 pokazano wyniki takich oblicze. W przypadku podanego ukadu rw-
na znaleziono trzy rozwizania.

Rysunek 13.4.
Rozwizanie ukadu
trzech rwna z trzema
niewiadomymi za
pomoc Solvera

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


160 Excel w obliczeniach naukowych i inynierskich

Istnieje rwnie metoda iteracyjna rozwizywania ukadw rwna, zwana metod


Newtona-Raphsona, ktra jest uoglnieniem metody stycznych stosowanej do rozwi-
zywania pojedynczego rwnania. Rwnie w przypadku tej metody wynik zaley od
przyblienia startowego, ktre trzeba odgadn. Korzy z jej zastosowania jest jednak
taka, e gdy mamy ju w arkuszu wszystkie potrzebne formuy obliczeniowe, wynik otrzy-
mujemy praktycznie natychmiast po wprowadzeniu przyblienia startowego, co pozwala
przetestowa w krtkim czasie duo wariantw.

Rozwaamy ukad zoony z n rwna z n niewiadomymi w postaci:


f1(x1, x2, , xn) = 0
f2(x1, x2, , xn) = 0

fn (x1, x2, , xn) = 0

Dysponujemy zestawem przyblie startowych wszystkich niewiadomych x10, x20, , xn0;


lewe strony rwna w punkcie startowym przyjmuj wartoci
fi(x10, x20, , xn0) = fi0

Rozwijamy kade z rwna w szereg Taylora wok przyblie startowych:


n
f i
0 = f i ( x1 , x 2 ,..., x n ) = f i 0 + x
k =1 k
( x10 , x 20 ,..., x n 0 )x k + wyrazy wyszych rzdw

gdzie xk = xkxk0.

W efekcie pominicia wyrazw wyszych rzdw otrzymujemy ukad rwna liniowych


ze wzgldu na xk, ktry mona rozwiza na przykad metod macierzow. Oczywicie
najpierw trzeba obliczy wartoci wszystkich pochodnych czstkowych (wszystkich rw-
na wzgldem wszystkich niewiadomych) w punkcie startowym. W zapisie macierzo-
wym bdzie to ukad rwna:
f 1 f 1 f 1
x L
x 2 x n x1 f 10
1
f 2 f 2 f 2 x f
L 2 20
x1 x 2 x n M = M
M M
f M M
f n f n x f
n L n n0
x1 x 2 x n

Wartoci pochodnych bierze si w punkcie startowym. Oblicza je mona albo z anali-


tycznych wzorw na pochodne, albo numerycznie, tak jak to zostao opisane przy okazji
omawiania zmodyfikowanej metody stycznych. Przy numerycznym obliczaniu pochod-
nych czstkowych kadorazowo modyfikujemy warto tylko jednej zmiennej. Rozwi-
zanie ukadu rwna wymaga obliczenia macierzy odwrotnej do macierzy pochodnych
i pomnoenia jej przez wektor wartoci funkcji (ze zmienionymi znakami). Procedura ta
jest opisana dokadnie w rozdziale 11. Ukady rwna liniowych. W wyniku otrzymu-

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 13. Ukady rwna nieliniowych 161

jemy poprawki xk, ktre naley doda do przyblie startowych, aby otrzyma zestaw
nowych przyblie niewiadomych. Te nowe przyblienia posu jako zestaw startowy
do nastpnego etapu iteracji. Naley wykona kilka takich iteracji i obserwowa za ka-
dym razem, jak zmieniaj si wartoci funkcji (lewych stron rwna) i ich suma kwadra-
tw. Cig przyblie nie zawsze jest zbieny. Zaley to od doboru przyblie startowych.
Ale dziki temu, e po kadej zmianie zawartoci komrki Excel przelicza cay arkusz,
mona szybko przetestowa duy zestaw przyblie startowych i sprawdzi, czy otrzy-
muje si zbiene cigi przyblie.

Ilustracj sposobu uycia metody Newtona-Raphsona niech bdzie ten sam ukad trzech
rwna nieliniowych. Ze wzgldu na to, e rwnania atwo daj si zrniczkowa ana-
litycznie, wybraem ten wariant obliczania pochodnych. Wyniki oblicze pokazano na
rysunku 13.5.

Rysunek 13.5.
Widok ekranu
z iteracyjnym
rozwizaniem
ukadu trzech
rwna
nieliniowych
metod
Newtona-Raphsona

W komrkach W4:Y4 umieszczono przyblienia startowe x, y i z. Poniej w komrkach


W7:Y9 znalazy si wartoci pochodnych czstkowych, zgodnie z podanym powyej sche-
matem. Pochodne te zostay obliczone w punkcie startowym. Do komrek AA4:AC4 wpro-
wadzono wartoci lewych stron rwna obliczone w punkcie startowym, a pod spodem
w komrce AB5 obliczono sum ich kwadratw. W komrkach W11:Y13 umieszczono ma-
cierz odwrotn do macierzy pochodnych, a obok kolumn wyrazw wolnych wartoci
funkcji transponowane z komrek AA4:AC4, ze zmienionymi znakami. Obok w komr-
kach AB11:AB13 obliczono rozwizanie ukadu rwna liniowych (iloczyn macierzy od-
wrotnej i kolumny wyrazw wolnych). Rozwizania te jako poprawki zostay w komr-
kach W15:Y15 dodane do wartoci startowych i utworzyy pierwsze przyblienie rozwizania.
Po zdobyciu pewnego dowiadczenia mona zrezygnowa z umieszczania w arkuszu po-
rednich wynikw oblicze, a pozostawi tylko macierz pochodnych i wartoci funkcji.
Nowe przyblienie niewiadomych obliczymy z wyraenia tablicowego:
= W4:Y4-TRANSPONUJ(MACIERZ.ILOCZYN(MACIERZ.ODW(W7:Y9); TRANSPONUJ(AA4:AC4)))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


162 Excel w obliczeniach naukowych i inynierskich

Jeeli uywane byy tylko adresy wzgldne, mona skopiowa wszystkie obliczenia do
komrek poniej, by uzyska kolejne przyblienia. Obserwujc, czy suma kwadratw
wartoci funkcji zmniejsza si, mona oceni, czy cig przyblie jest zbieny. W naszym
przykadzie obliczono siedem przyblie; wyniki kocowe przywoano u gry arkusza
w komrkach W2:Y2 nad przyblieniami startowymi.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 14.
Wyszukiwanie danych
w tablicach i interpolacja
Przeszukiwanie tablic
funkcji jednej zmiennej
Wiele danych, na przykad fizykochemicznych, jest dostpnych z reguy w formie tablic.
Mog to by na przykad tablice waciwoci takich jak gsto, lepko, przewodnictwo
elektryczne substancji w zalenoci od temperatury, a w przypadku roztworw take
w zalenoci od stenia. Tablice takie zapisane w arkuszu kalkulacyjnym mog by prze-
szukiwane za pomoc funkcji nalecych do kategorii przeszukiwania i adresu. Jeeli
poszukiwana warto argumentu nie wystpuje w tablicy, warto funkcji oblicza si na
podstawie najbardziej zblionych wartoci argumentu i odpowiadajcych im wartoci
funkcji, przy uyciu procedury interpolacji.

Tablica funkcji jednej zmiennej moe by zorientowana poziomo (wierszowo) lub pio-
nowo (kolumnowo). Tu skupimy si gwnie na tablicach pionowych. Tablice poziome
tworzy si analogicznie. Tablica skada si z dwch lub wicej kolumn, z ktrych pierw-
sza zawiera najczciej list wartoci argumentw (umownie x-w), a druga i ewentualnie
nastpne list powizanych wartoci funkcji (umownie y-w). Zakadamy, e wartoci
argumentw s uporzdkowane rosnco (jeli nie naley je tak uporzdkowa, warto-
ci funkcji mog si zmienia dowolnie). Jako przykad rozpatrzymy zaleno gstoci
roztworw kwasu siarkowego od stenia procentowego w staej temperaturze 20C.

Do wyszukiwania odpowiednich wartoci w tabeli su funkcje WYSZUKAJ.PIONOWO


i WYSZUKAJ.POZIOMO, ktrych skadnia jest podobna. Omwimy j na przykadzie
pierwszej z funkcji:
WYSZUKAJ.PIONOWO(argument; tablica; nr_kolumny; czy_przyblienie)

Funkcja przeszukuje skrajn lew kolumn tablicy, by znale warto argumentu, i po-
daje odpowiadajc mu warto z tego samego wiersza i kolumny o podanym numerze.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


164 Excel w obliczeniach naukowych i inynierskich

Argument jest wartoci, ktr naley znale w pierwszej kolumnie tablicy; moe by
sta liczbow, tekstow lub logiczn, adresem lub wyraeniem. Jeli warto argumentu
jest mniejsza ni najmniejsza warto w pierwszej kolumnie tablicy, wynikiem funkcji
bdzie warto bdu #N/D!.

Tablica jest zakresem komrek, ktry naley przeszuka, obejmujcym kolumn argu-
mentw i kolumny wartoci funkcji; mona uy adresu lub nazwy zakresu.

Nr_kolumny jest to numer kolumny w tablicy, z ktrej naley odczyta warto odpo-
wiadajc argumentowi. Kolumny numerowane s od 1 od lewej strony tablicy.

Czy_przyblienie jest opcjonalnym parametrem logicznym wskazujcym, czy funkcja


ma znale dokadne, czy te przyblione dopasowanie argumentu. Jeeli parametr ten ma
warto PRAWDA lub zosta pominity, dopasowanie bdzie przyblione; innymi sowy,
w razie nieuzyskania dokadnego dopasowania przyjta bdzie najwiksza warto z pierw-
szej kolumny, mniejsza ni warto argumentu. Jeli parametr ma warto FASZ, funkcja
bdzie poszukiwa dokadnego dopasowania. Jeli nie znajdzie adnego, wynikiem b-
dzie warto bdu #N/D!. Jeli wartoci parametru czy_przyblienie jest PRAWDA, warto-
ci w pierwszej kolumnie tablicy powinny by umieszczone w porzdku rosncym:
, 2, 1, 0, 1, 2, , A Z, FASZ, PRAWDA; w przeciwnym razie funkcja moe nie od-
nale poprawnej wartoci argumentu. Wartoci mona umieci w porzdku rosncym
poprzez wybranie polecenia Sortuj z menu Dane i wybranie porzdku Rosnco. Jeli
wartoci parametru czy_przyblienie jest FASZ, nie ma potrzeby sortowania tablicy.

Funkcja WYSZUKAJ.POZIOMO dziaa analogicznie w odniesieniu do tablicy zorganizowanej


wierszowo. Warto argumentu jest poszukiwana w pierwszym wierszu. Wad obu tych
funkcji wyszukujcych jest to, e zmienne niezalene musz by umieszczone w pierw-
szym wierszu lub pierwszej kolumnie.

Alternatyw moe by uycie funkcji WYSZUKAJ. Dziaa ona troch inaczej ni poprzednie
dwie funkcje i umoliwia poszukiwanie argumentu nie tylko w pierwszym wierszu lub
kolumnie. Funkcja WYSZUKAJ ma dwie skadnie: wektorow i tablicow, ale przydatna jest
gwnie w wersji wektorowej. Wektor jest tablic zawierajc tylko jeden wiersz albo
tylko jedn kolumn. Forma wektorowa WYSZUKAJ poszukuje wartoci argumentu we wska-
zanym wektorze, przenosi si do odpowiadajcej tej wartoci pozycji w drugim wek-
torze i daje w wyniku jej warto.

Skadnia wektorowa funkcji WYSZUKAJ:


WYSZUKAJ(szukana_warto; przeszukiwany_wektor; wektor_wynikowy)

Szukana_warto jest wartoci, ktrej funkcja poszukuje w przeszukiwanym_wektorze.


Argument szukana_warto moe by liczb, tekstem, wartoci logiczn lub nazw albo
adresem.

Przeszukiwany_wektor jest zakresem zawierajcym tylko jeden wiersz lub jedn kolumn.
Wartoci znajdujce si w przeszukiwanym_wektorze mog by tekstami, liczbami lub
wartociami logicznymi. Wartoci w przeszukiwanym_wektorze musz by uporzdko-
wane rosnco: , 2, 1, 0, 1, 2, , A Z, FASZ, PRAWDA; w przeciwnym razie wynik
dziaania funkcji moe nie by poprawny. W tekcie wielkie i mae litery s rwnowane.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 14. Wyszukiwanie danych w tablicach i interpolacja 165

Wektor_wynikowy jest zakresem zawierajcym tylko jeden wiersz lub jedn kolumn. Ar-
gument ten powinien mie tak sam wielko co argument przeszukiwany_wektor.

Jeli funkcja WYSZUKAJ nie moe znale wartoci okrelonej przez argument szukana_
warto, to wybiera warto najwiksz w przeszukiwanym_wektorze, mniejsz od
szukanej_wartoci.

Jeli argument szukana_warto jest mniejszy od najmniejszej wartoci w przeszukiwanym_


wektorze, to funkcja WYSZUKAJ zwraca warto bdu #N/D!.

Zadanie odczytania wartoci z tablicy dla zadanego argumentu mona rozwiza jeszcze
inaczej wykorzystujc funkcje PODAJ.POZYCJ i INDEKS. Funkcja PODAJ.POZYCJ odszu-
kuje argument w tablicy, w kolumnie lub wierszu o podanym adresie i zwraca w wyniku
jego wzgldne pooenie w swojej kolumnie lub wierszu (numer pozycji, liczony od 1).

Skadnia tej funkcji jest taka jak poniej:


PODAJ.POZYCJ(szukana_warto; przeszukiwana_tab; typ_porwnania)

Szukana_warto jest wartoci, ktr naley znale w tablicy przeszukiwana_tab. Moe


by liczb, tekstem lub wartoci logiczn albo adresem komrki.

Przeszukiwana_tab jest cigym zakresem komrek (wektorem), w ktrym funkcja ma


znale szukan_warto. Przeszukiwana_tab moe by tablic lub adresem tablicy.

Typ_porwnania jest liczb 1, 0 lub 1. Typ_porwnania podaje, w jaki sposb funkcja do-
pasowuje szukan_warto do wartoci w przeszukiwana_tab.

Jeli argument typ_porwnania jest rwny 1, PODAJ.POZYCJ znajdzie najwiksz warto,


ktra jest mniejsza lub rwna szukanej_wartoci. Przeszukiwana_tab musi by uporzd-
kowana w kolejnoci rosncej: , 2, 1, 0, 1, 2, , A Z, FASZ, PRAWDA.

Jeli typ_porwnania jest rwny 0, funkcja PODAJ.POZYCJ znajdzie pierwsz warto do-
kadnie rwn wartoci szukana_warto. W tym przypadku w przeszukiwana_tab porz-
dek moe by dowolny.

Jeli typ_porwnania jest rwny 1, funkcja PODAJ.POZYCJ znajdzie najmniejsz warto,


ktra jest wiksza od szukanej_wartoci lub jej rwna. W przeszukiwana_tab porzdek
musi by malejcy: PRAWDA, FASZ, Z A, , 2, 1, 0, 1, 2, itd.

Jeli argument typ_porwnania zostanie pominity, zakada si, e jest rwny 1.

Jeli funkcja PODAJ.POZYCJ zakoczy swoje dziaanie niepowodzeniem, podaje warto


bdu #N/D!.

Jeli typ_porwnania wynosi 0, a szukana_warto jest tekstem, to moe ona zawiera


znaki zastpcze: gwiazdk (*) i znak zapytania (?). Gwiazdka zastpuje dowolny acuch
znakw, a znak zapytania dowolny pojedynczy znak.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


166 Excel w obliczeniach naukowych i inynierskich

Funkcja PODAJ.POZYCJ zwraca w wyniku pooenie swojego argumentu we wskazanej


tablicy. W praktyce, jeli argumenty funkcji tworz kolumn, oznacza to numer wiersza
w tej kolumnie. Aby odczyta warto pooon w tym samym wierszu w innej kolumnie,
naley uy funkcji INDEKS. Dokadny opis tej funkcji podano w rozdziale 3. Operacje
i funkcje tablicowe.

Wrmy do naszego przykadu: do odczytania gstoci roztworu o zadanym steniu


mona wykorzysta zarwno funkcj WYSZUKAJ.PIONOWO, jak i WYSZUKAJ. Mona te, ko-
rzystajc z funkcji PODAJ.POZYCJ, odczyta numer wiersza w kolumnie tablicy zawiera-
jcej stenie, a nastpnie z drugiej kolumny w tym samym wierszu odczyta gsto
posugujc si funkcj INDEKS.

Uycie tych funkcji pokazano na rysunku 14.1, ktry przedstawia dwukolumnow tablic
reprezentujc zaleno gstoci roztworu od stenia kwasu siarkowego oraz przykady
wartoci odczytanych z tablicy przy uyciu opisanych wyej funkcji. Jeeli dokadna war-
to argumentu nie zostaa w tablicy odnaleziona, odczytany wynik odnosi si do najbliszej
wartoci argumentu, nie wikszej jednak od niego.

Rysunek 14.1.
Ilustracja metod
odczytu danych
z tabeli i interpolacji
liniowej

Interpolacja liniowa
Wynik odczytany bezporednio z tabeli ma jeszcze niewielk warto praktyczn, gdy
odlegoci midzy punktami s czsto do due, a my chcemy zna warto funkcji
(w tym przypadku gstoci) dla dowolnego x, a nie tylko dla wartoci umieszczonych
w tabeli. Wartoci funkcji dla brakujcych wartoci argumentu trzeba obliczy, wykorzy-
stujc wartoci znalezione w tabeli i zakadajc, e przebieg funkcji midzy danymi punk-
tami jest regularny.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 14. Wyszukiwanie danych w tablicach i interpolacja 167

Jeeli zaoymy, e przebieg funkcji midzy ssiednimi punktami w tabeli jest liniowy,
a wartoci dane s dokadne, obliczenia bd nosi nazw interpolacji liniowej. Jest to
najprostszy moliwy przypadek, gdy do obliczenia wartoci funkcji w danym punkcie
wykorzystujemy wsprzdne tylko dwch punktw ssiednich. Taka sytuacja wystpuje,
gdy punkty w tabeli rdowej s rozmieszczone stosunkowo gsto i wartoci funkcji znane
s z du dokadnoci (zostay wyliczone lub zmierzone bardzo dokadnie i zweryfiko-
wane na przykad pochodz z opublikowanego zbioru danych fizykochemicznych).

Jeli zaoy, e wsprzdne punktw otaczajcych badany punkt, odczytane z tablicy,


maj wartoci (x1, y1) i (x2, y2), to dla znanego x zawartego w przedziale [x1, x2] mona
obliczy warto y ze wzoru:
y2 y1
y = y1 + ( x x1 )
x2 x1

Najprociej bdzie wykorzysta ten wzr bezporednio, podstawiajc w miejsce wsp-


rzdnych punktw odpowiednie adresy komrek. Trzeba jednak te adresy ustali samo-
dzielnie. Aby proces wyszukiwania adresw nieco zautomatyzowa, mona uy funkcji
PODAJ.POZYCJ do odszukania numeru wiersza w tabeli danych, na przykad:
= PODAJ.POZYCJ(x; zakres_x; 1)

x oznacza argument (stenie), dla ktrego obliczamy warto funkcji (gsto),

zakres_x jest zakresem tabeli zawierajcym wartoci argumentw (ste).

Komrce z wynikiem mona nada na przykad nazw wiersz. Wartoci z tablicy mona
teraz pobra za pomoc funkcji INDEKS i nada wynikom odpowiednie nazwy, na przy-
kad x_1, x_2, y_1, y_2. (Znaki podkrelenia lub kropki s potrzebne, aby nazwy byy
prawidowe i nie kolidoway z adresami komrek).
x_1 : = INDEKS(zakres_x; wiersz)
x_2 : = INDEKS(zakres_x; wiersz+1)
y_1 : = INDEKS(zakres_y; wiersz)
y_2 : = INDEKS(zakres_y; wiersz+1)

W kocu obliczamy wynik:


= y_1+(y_2y_1)/(x_2x_1)*(xx_1)

Chocia wzr interpolacyjny jest do prosty i mona wykorzysta go bezporednio,


istnieje rwnie funkcja REGLINX, ktra uatwia wprowadzenie danych do wzoru. Jej skadnia
jest omwiona dokadnie w rozdziale 15. Regresja liniowa. Przed uyciem tej funkcji
naley przygotowa dane w ten sposb, aby wartoci x1 i x2 oraz y1 i y2 byy w ssiednich
komrkach (w pionie lub w poziomie). Jeeli oryginalne dane s w kolumnach, ich
ukad jest prawidowy. Dane wstawiamy do formuy:
= REGLINX(x; znane_y; znane_x)

Znane_y oznacza zakres komrek obejmujcy y1 i y2, a znane_x to zakres komrek obej-
mujcy x1 i x2.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


168 Excel w obliczeniach naukowych i inynierskich

Zakresy znane_y i znane_x mona wpisa bezporednio albo wyliczy je, wykorzystujc
funkcj PRZESUNICIE. Funkcja ta zwraca adres komrki lub zakresu komrek, okrelony
w stosunku do adresu odniesienia. Przykadowo zmodyfikowane wywoanie funkcji
REGLINX moe mie posta:
= REGLINX(x; PRZESUNICIE(y_tabl;0;0;2;1); PRZESUNICIE(x_tabl;0;0;2;1))

Y_tabl jest adresem komrki zawierajcej tablicow warto y, x_tabl to adres tablico-
wej wartoci x, najbardziej zblionej, ale nie wikszej od argumentu x.

Peny opis funkcji PRZESUNICIE podano w rozdziale 3. Operacje i funkcje tablicowe.

Wykorzystujc funkcje PODAJ.POZYCJ i PRZESUNICIE, mona prawie cakowicie zauto-


matyzowa obliczenia. Jako dane wystarczy poda zakres_x i zakres_y oraz oczywicie
argument x. Najpierw obliczamy, o ile wierszy poniej pocztku tablicy naley odczyta
dane. Wynikowi nadajemy nazw pozycja.
pozycja : = PODAJ.POZYCJ(x; zakres_x; 1)1

Wynik pomniejszamy o 1, gdy funkcja PODAJ.POZYCJ numeruje wiersze od 1, a funkcja


PRZESUNICIE wymagaaby numerowania od zera.

Nastpnie wywoujemy funkcj REGLINX:


= REGLINX(x; PRZESUNICIE(zakres_y;pozycja;0;2;1);
PRZESUNICIE(zakres_x;pozycja;0;2;1))

Procedura opisana wyej daje dobre wyniki, jeeli dane tablicowe s wystarczajco do-
kadne, a zaleno jest zbliona do liniowej. Jeeli ktry z tych warunkw nie jest spe-
niony, naley wybra inne rozwizanie. Przykad zastosowania tej procedury oblicze-
niowej pokazano na rysunkach 14.1 i 14.2.

Rysunek 14.2. Porwnanie metod interpolacji liniowej i trendu liniowego

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 14. Wyszukiwanie danych w tablicach i interpolacja 169

Trend liniowy
Jeeli o stablicowanych danych wiemy, e powinny reprezentowa zaleno liniow,
lecz s obarczone bdami pomiarowymi takie dane nie powinny podlega inter-
polacji. Zamiast tego powinno si wykorzysta tzw. trend liniowy, czyli lini prost
poprowadzon nie dokadnie przez punkty pomiarowe, lecz wyznaczon metod re-
gresji. Do poprowadzenia takiej linii potrzeba co najmniej trzech punktw, a linia jest
dopasowana zgodnie z zasad najmniejszej sumy kwadratw odchyle. W Excelu do
obliczenia wartoci funkcji wedug trendu liniowego specjalnie opracowano funkcj
REGLINX. Jej skadnia jest opisana w rozdziale 15. Regresja liniowa, na stronie 188.
T funkcj mona wykorzysta rwnie do interpolacji liniowej, wszystko zaley od
tego, ile punktw obejmuj zakresy znane_y i znane_x. Jeeli s uwzgldnione tylko
dwa punkty mamy interpolacj liniow, jeeli trzy lub wicej punktw oblicze-
nia bd wykonane wedug zasady trendu liniowego.

Skadnia funkcji jest taka sama jak w przypadku interpolacji:


= REGLINX(x; znane_y; znane_x)

Znane_y oznacza zakres komrek obejmujcy co najmniej trzy wartoci yi, a znane_x to
zakres komrek obejmujcy co najmniej trzy wartoci xi. Oczywicie oba zakresy musz
mie takie same rozmiary.

Na rysunku 14.2 pokazano rwnie przykad zastosowania trendu liniowego do danych do-
tyczcych gstoci kwasu siarkowego. Naley to potraktowa tylko jako ilustracj metody,
gdy dane te s dokadne, natomiast zaleno nie jest idealnie liniowa, a zatem zastoso-
wanie w tym przypadku trendu liniowego nie jest uzasadnione.

Podobn do REGLINX funkcj jest REGLINW, ktrej skadni opisano rwnie w rozdziale 15.
Regresja liniowa, na stronie 188.
= REGLINW(znane_y; znane_x; nowe_x; czy_staa)

W stosunku do funkcji REGLINX s dwie rnice (poza inn kolejnoci argumentw)


jako nowe_x mona poda nie tylko jedn warto, ale take zakres wartoci (i od razu
otrzyma kilka wynikw, jeli potraktowa funkcj jako tablicow), oraz wykorzystujc
parametr logiczny czy_staa mona spowodowa, e zaleno bdzie traktowana jako
proporcjonalna (bez staej). Funkcj t mona wykorzysta zarwno do interpolacji, jak i do
trendu liniowego. Pamita tylko naley, e jeli parametr czy_staa ma warto FASZ,
czyli zaleno ma charakter proporcjonalny, do interpolacji znane_y i znane_x musz
reprezentowa tylko jeden punkt, natomiast poczwszy od dwu punktw, bdzie to ju
trend liniowy.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


170 Excel w obliczeniach naukowych i inynierskich

Interpolacja kubiczna
(wielomianem 3. stopnia)
W przypadku gdy dysponujemy dokadnymi danymi w tablicy, ale punkty pomiarowe s
rozmieszczone na tyle rzadko, e interpolacja liniowa nie jest wystarczajca, naley uy
do interpolacji wielomianu wyszego stopnia. Ze wzgldu na symetri punktw czsto
wykorzystuje si interpolacj wielomianem trzeciego stopnia, czyli tzw. interpolacj ku-
biczn. Do tej procedury wykorzystuje si cztery kolejne punkty tablicowe rozmieszczone
symetrycznie wok poszukiwanej wartoci, dwa punkty przed i dwa punkty za argu-
mentem funkcji. Oczywicie w przypadku bardzo maych lub bardzo duych wartoci x
(blisko pocztku lub blisko koca tablicy) trzeba zrezygnowa z warunku symetrii.

Wielomian interpolacyjny mona zapisa w postaci tzw. wielomianu Lagrangea:


( x x2 )( x x3 )( x x4 ) ( x x1 )( x x3 )( x x4 )
y= y1 + y2 +
( x1 x2 )( x1 x3 )( x1 x4 ) ( x2 x1 )( x2 x3 )( x2 x4 )
( x x1 )( x x2 )( x x4 ) ( x x1 )( x x2 )( x x3 )
y3 + y4
( x3 x1 )( x3 x2 )( x3 x4 ) ( x4 x1 )( x4 x2 )( x4 x3 )

Zapis tej formuy w arkuszu jest do mudny. Mona jednak alternatywnie wykorzy-
sta do oblicze znane ju nam funkcje REGLINP i REGLINW. Umoliwiaj one (w prze-
ciwiestwie do funkcji REGLINX) przeprowadzenie regresji wielomianem, przy wykorzy-
staniu zapisu tablicowego. Jeeli do oblicze wspczynnikw wielomianu 3. stopnia
wemiemy cztery punkty, otrzymamy wielomian interpolacyjny. W rozdziale 15. Re-
gresja liniowa, na stronach 181 i 188 wyjaniono, jak uywa tych funkcji. W tym
przypadku mona uy REGLINP w wyraeniu:
= SUMA(REGLINP(znane_y; znane_x^{1;2;3})*x^{3;2;1;0})

Znane_y i znane_x oznaczaj zakresy danych tablicowych obejmujce cztery punkty ota-
czajce z obu stron now warto x.

Ten i poniszy zapis dotyczy wersji 2007 i wczeniejszych, w wersji 2010 w staych ta-
blicowych ; naley zamieni na \.

Z kolei funkcja REGLINW daje w wyniku od razu poszukiwan warto funkcji:


= REGLINW(znane_y; znane_x^{1;2;3}; x^{1;2;3})

Wyniki przykadowych oblicze pokazano na rysunku 14.3. Warto gstoci uzyskana


metod interpolacji kubicznej jest zgodna z dokadnoci do czterech cyfr po przecinku
z dostpnymi danymi tablicowymi.

Te same formuy z REGLINP i REGLINW uyte do szerszych zakresw znanych x i y dadz


wynik obliczony na podstawie trendu wielomianowego 3. stopnia. Takie podejcie jest
zalecane w przypadku mniej dokadnych danych rdowych. Dobr optymalnej liczby
punktw do zakresw znane_y i znane_x jest zadaniem prowadzcego obliczenia. Pomocne
mog tu by parametry statystyczne dopasowania, takie jak wspczynnik determinacji
R2 czy wariancja resztkowa.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 14. Wyszukiwanie danych w tablicach i interpolacja 171

Rysunek 14.3. Interpolacja kubiczna w zastosowaniu do obliczenia gstoci kwasu siarkowego

Interpolacja liniowa
w przypadku funkcji dwu zmiennych
Wiele zalenoci fizykochemicznych jest przedstawianych w postaci tablic funkcji dwu
zmiennych, na przykad gsto roztworw kwasu siarkowego zaley od stenia roz-
tworu i temperatury. Dane takie s prezentowane w postaci tablic dwuwymiarowych,
w ktrej wartoci jednego argumentu umieszczono w grnym wierszu, a wartoci dru-
giego argumentu w pierwszej kolumnie. Wartoci funkcji wypeniaj prostoktny obszar
wyznaczony przez moliwe kombinacje obu argumentw. Aby obliczy warto funkcji
dla dowolnych wartoci argumentw, naley przeprowadzi interpolacj lub skorzysta
z linii trendu. Interpolacj liniow trzeba przeprowadzi trzykrotnie. Kolejno oblicze
jest taka, jak pokazano poniej.

Mamy obliczy warto funkcji z = f(x, y). Znajdujemy w tablicy par ssiednich war-
toci x1 i x2, takich e x [x1, x2] oraz par ssiednich wartoci y1 i y2, takich e y
[y1, y2]. Fragment tablicy z danymi wyglda tak:

Wartoci, ktre mona odczyta w tablicy, to z11, z12, z21 i z22. Na pierwszym i drugim
etapie przeprowadzamy interpolacj wzgldem zmiennej x przy staych wartociach
y1 i y2. Obliczamy wartoci porednie zx1 i zx2. Na trzecim etapie interpolujemy wzgl-
dem y przy staym x i obliczamy wynik zxy.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


172 Excel w obliczeniach naukowych i inynierskich

Kolejno wyboru zmiennych do interpolacji moe by inna, ale zawsze bd trzy etapy
oblicze, ktre oczywicie mona poczy w jeden, odpowiednio przeksztacajc wzory.
z 21 z11
z x1 = z11 + ( x x1 )
x2 x1
z 22 z12
z x 2 = z12 + ( x x1 )
x2 x1
z x 2 z x1
z xy = z x1 + ( y y1 )
y 2 y1

Po przeksztaceniu i uporzdkowaniu otrzymujemy:


x2 x y 2 y x x y y1
z xy = z11 + z12 2 +
x2 x1 y2 y1 x2 x1 y 2 y1
x x1 y 2 y x x1 y y1
+ z 21 + z 22
x2 x1 y2 y1 x2 x1 y 2 y1

x2 x x x1
Jak nietrudno zauway, wspczynniki i dopeniaj si do 1. Podob-
x2 x1 x2 x1
nie jest z drug par wspczynnikw z y. A zatem obliczenia bd do proste, jeli je
tylko odpowiednio zorganizowa.

Przykad 14.1.
Obliczymy metod interpolacji liniowej gsto roztworu kwasu siarkowego o steniu 28%
w temperaturze 36C. Dane rdowe do oblicze i same obliczenia pokazano na rysunku
14.4. W II wariancie oblicze zestawiono dane i wspczynniki pomocnicze w trzech ko-
lumnach i wykorzystano funkcj SUMA.ILOCZYNW do obliczenia wyniku.

Rysunek 14.4.
Interpolacja liniowa
w przypadku funkcji
dwu zmiennych

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 14. Wyszukiwanie danych w tablicach i interpolacja 173

Do interpolacji liniowej funkcji dwu zmiennych mona rwnie wykorzysta znan ju nam
funkcj REGLINW. Dane dla tej funkcji musz by jednak zorganizowane tak, aby wartoci
funkcji znalazy si w jednej kolumnie. Ukad danych powinien by taki jak poniej:

Wywoanie funkcji ma posta:


= REGLINW(znane_z; znane_xy; nowe_xy)

Znane_z reprezentuje zakres (kolumn) czterech wartoci funkcji, znane_xy zakres ar-
gumentw x i y obejmujcy dwie kolumny po cztery wartoci, nowe_xy dwie wartoci
x i y w wierszu, dla ktrych szukamy nowej wartoci funkcji. Uycie takiej formy funkcji
interpolacyjnej jest uproszczeniem, bo jest rwnowane aproksymacji zalenoci z = f(x, y)
rwnaniem liniowym bez efektu wspdziaania, tzn. rwnaniem typu z = a0+a1x+a2y,
podczas gdy pene rwnanie liniowe powinno jeszcze zawiera czon a3xy.

Jeeli chcielibymy uzyska pen interpolacj liniow, musielibymy do tablicy z da-


nymi doda kolumn iloczynw xy i powikszy o ni zakresy znane_xy i nowe_xy.

Posta wywoania funkcji formalnie nie ulegnie zmianie, lecz zmieni si przywoane za-
kresy danych. Mona unikn dodawania kolumny xy, jednak kosztem komplikacji wy-
woania funkcji REGLINW. Za pomoc zapisu operacji tablicowych mona dodatkow bra-
kujc kolumn wygenerowa wirtualnie, posugujc si wywoaniem:
= REGLINW(znane_z; znane_x^{1;0;1}*znane_y^{0;1;1}; nowe_x^{1;0;1}
*nowe_y^{0;1;1})

Powyszy zapis dotyczy wersji 2007 i wczeniejszych, w wersji 2010 w staych tablico-
wych ; naley zamieni na \.

W tym przypadku kolumny x i y zostay rozdzielone i s wywoywane odrbnie. Om-


wione tu warianty interpolacji z wykorzystaniem funkcji REGLINW zilustrowano na rysunku
14.5 zastosowano te same dane co poprzednio. Wida, e przy dokadnoci do czterech
cyfr po przecinku wyniki interpolacji wedug formuy dokadnej i uproszczonej nie rni
si, czsto formua uproszczona jest zupenie wystarczajca.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


174 Excel w obliczeniach naukowych i inynierskich

Rysunek 14.5. Interpolacja liniowa z wykorzystaniem funkcji REGLINW

Interpolacja kubiczna
w przypadku funkcji dwu zmiennych
Jeeli metoda interpolacji liniowej nie daje wynikw dostatecznie dokadnych, moe-
my, rwnie w przypadku funkcji dwu zmiennych, skorzysta z interpolacji kubicz-
nej. Do tej procedury dla kadej zmiennej potrzebne s po cztery kolejne punkty ta-
blicowe rozmieszczone symetrycznie wok poszukiwanej wartoci, co daje w sumie
16 punktw. Oczywicie w przypadku bardzo maych lub bardzo duych wartoci ar-
gumentw (blisko pocztku lub blisko koca tablicy) trzeba zrezygnowa z warunku
symetrii.

Fragment tablicy danych wytypowany do oblicze przedstawia si tak jak poniej:

Przebieg procedury interpolacyjnej jest podobny jak w przypadku interpolacji liniowej,


trzeba tylko wykona wicej oblicze. Najpierw przeprowadzamy interpolacj wzgldem
zmiennej x przy staych wartociach y1 y4. Obliczamy wartoci porednie zx1 do zx4.
Na ostatnim etapie interpolujemy wzgldem y przy staym x i obliczamy wynik zxy.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 14. Wyszukiwanie danych w tablicach i interpolacja 175

Wielomiany interpolacyjne Lagrangea przy staym y = yi maj posta:


( x x 2 )( x x3 )( x x 4 ) ( x x1 )( x x3 )( x x 4 )
z xi = z1i + z 2i +
( x1 x 2 )( x1 x3 )( x1 x 4 ) ( x 2 x1 )( x 2 x3 )( x 2 x 4 )
( x x1 )( x x 2 )( x x 4 ) ( x x1 )( x x 2 )( x x3 )
z 3i + z 4i
( x3 x1 )( x3 x 2 )( x3 x 4 ) ( x 4 x1 )( x 4 x 2 )( x 4 x3 )

Indeks i przyjmuje kolejno wartoci od 1 do 4. Wspczynniki zawierajce x s takie same


we wszystkich obliczeniach. W kocu przeprowadza si interpolacj wzgldem y, korzy-
stajc z obliczonych wczeniej wartoci zxi. Wzr do przeprowadzenia tego etapu oblicze
jest taki jak poniej:
( y y2 )( y y3 )( y y4 ) ( y y1 )( y y3 )( y y4 )
z xy = z x1 + z x2 +
( y1 y2 )( y1 y3 )( y1 y4 ) ( y 2 y1 )( y2 y3 )( y2 y4 )
( y y1 )( y y2 )( y y4 ) ( y y1 )( y y2 )( y y3 )
z x3 + zx4
( y3 y1 )( y3 y2 )( y3 y4 ) ( y4 y1 )( y 4 y2 )( y 4 y3 )

Na rysunku 14.6 pokazano fragment arkusza z powyszymi obliczeniami.

Rysunek 14.6. Przykad zastosowania interpolacji kubicznej w odniesieniu do funkcji dwu zmiennych

Zamiast wielomianw Lagrangea mona wykorzysta do oblicze znane nam ju funkcje


REGLINP i REGLINW. Sposb ich uycia jest podobny jak w przypadku funkcji jednej zmiennej,
teraz jednak trzeba ich uy piciokrotnie. Dane naley przygotowa jak w przypadku wie-
lomianw Lagrangea. Najpierw obliczamy wartoci porednie zx1 do zx4. W tym celu obli-
czamy wartoci czterech wyrae (z REGLINP):
= SUMA(REGLINP(znane_zi; znane_x^{1;2;3})*x^{3;2;1;0})

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


176 Excel w obliczeniach naukowych i inynierskich

znane_zi i znane_x oznaczaj zakresy danych tablicowych z dla czterech wartoci yi oraz
czterech punktw otaczajcych z obu stron now warto x.

Ten i ponisze zapisy dotycz wersji 2007 i wczeniejszych, w wersji 2010 w staych ta-
blicowych \ naley zamieni na ; i odwrotnie.

Z kolei funkcja REGLINW daje w wyniku od razu poszukiwan warto funkcji:


= REGLINW(znane_zi; znane_x^{1;2;3}; x^{1;2;3})

Obliczenia naley wykona oddzielnie dla kadej z czterech wartoci yi, by otrzyma
cztery wartoci porednie zx1 do zx4. Wreszcie naley uy funkcji REGLINP lub REGLINW
jeszcze raz do obliczonych wczeniej wartoci porednich. Skadnia formu jest taka jak
poniej:
= SUMA(REGLINP(znane_zxi; znane_y^{1\2\3})*y^{3;2;1;0})
lub
= REGLINW(znane_zxi; znane_y^{1\2\3}; y^{1\2\3})

Podany zapis zakada, e zakresy znane_zxi i znane_y s poziome. Gdyby byy pionowe,
separatory w staych tablicowych naleaoby zamieni na redniki (do wersji 2007; w wersji
2010 na ukoniki \).

Dokadno oblicze metod interpolacji kubicznej jest wystarczajca do wikszoci za-


stosowa. Jeeli dane tablicowe nie s wyrwnane, mona wzi pod uwag wikszy
obszar tablicy, na przykad 66, i wykorzysta trend wielomianowy 3. stopnia zamiast
interpolacji. Pozwoli to ograniczy wpyw przypadkowych bdw pomiaru na wyniki.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15.
Regresja liniowa
Zakres zastosowania regresji liniowej
Eksperymenty, w wyniku ktrych otrzymuje si due zbiory danych liczbowych repre-
zentujcych zalenoci pomidzy parametrami wejciowymi a wynikami, staramy si
zwykle opracowa w postaci wykresw lub rwna. Posta rwna moe wynika z prze-
sanek teoretycznych, lecz najczciej stosuje si do opisu typowe, stosunkowo proste rw-
nania funkcji liniowej, wielomianu, funkcji potgowej, wykadniczej lub logarytmicznej.
Najczciej stosowanym kryterium dopasowania rwnania do danych dowiadczalnych
jest zasada minimalnej sumy kwadratw rnic midzy wartociami wynikowymi zmie-
rzonymi a wyznaczonymi z rwnania. Zasada ta stanowi podstaw metody regresji, ktrej
szczeglnym przypadkiem jest regresja liniowa.

Regresja liniowa nie ogranicza si do zalenoci liniowej midzy wynikami a danymi


wejciowymi, lecz obejmuje wszystkie rwnania, ktre s liniowe ze wzgldu na wyst-
pujce w nich wspczynniki. Jeeli rwnanie opisujce wyniki eksperymentu przedsta-
wimy w postaci: Y = f(X, A), gdzie Y reprezentuje wielkoci wynikowe, X parametry
wejciowe, a A wspczynniki, to rwnanie jest liniowe ze wzgldu na wspczynniki,
pod warunkiem e pochodna Y nie zaley od A. Do tej kategorii zaliczymy wic za-
A
rwno rwnania typu
y = a0+a1x1+a2x2+a3x3
w ktrych wielko wynikowa zaley od trzech niezalenych parametrw wejciowych,
jak i rwnania typu
y = a0+a1x+a2x2+a3x 1+a4ln x

gdzie zaleno od jednego parametru wejciowego przedstawiona jest za pomoc rw-


nania nieliniowego ze wzgldu na x, ale liniowego ze wzgldu na wspczynniki. Mo-
liwe s te rwnania typu
y = a0+a1x1+a2x2+a12x1x2+a'12x1/x2
reprezentujce zaleno od dwch parametrw wejciowych.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


178 Excel w obliczeniach naukowych i inynierskich

Istnieje te kategoria rwna, ktre wprawdzie nie s liniowe, ale daj si przeksztaci
do postaci liniowej przez odpowiedni zamian zmiennych. Do tej grupy zaliczamy na
przykad rwnanie wykadnicze:
y = aebx

Po obustronnym zlogarytmowaniu przyjmie ono posta:


ln y = ln a+bx
ktra jest ju liniowa ze wzgldu na wspczynniki. Pamita jednak naley, e zastoso-
wanie metody regresji do tak przeksztaconego rwnania prowadzi do innych wartoci
wspczynnikw, ni gdyby bra pod uwag rwnanie w oryginalnej postaci. Czym innym
jest suma kwadratw odchyle liczona dla y, a czym innym ta suma liczona dla ln y.
W tym drugim przypadku relatywnie zmniejsza si waga punktw pomiarowych, w ktrych
wartoci y byy wiksze, a zwiksza si waga punktw z maymi wartociami y. Niemniej
metod linearyzacji rwna stosuje si do powszechnie, gdy tylko jest to moliwe.

Podobnie daje si linearyzowa zaleno potgowa:


y = axb

Po obustronnym zlogarytmowaniu otrzymujemy:


ln y = ln a+b ln x
czyli rwnanie liniowe, ale podobnie jak poprzednio nie dla y, lecz dla ln y.

Kolejny typ rwnania podlegajcy linearyzacji to dwuparametrowa funkcja homograficzna:


ax
y=
x+b

Po inwersji rwnanie przeksztaca si do postaci:


1 1 b 1
= +
y a a x
ktre reprezentuje liniow form zalenoci 1/y = f(1/x). Inne moliwe sposoby lineary-
zacji tego rwnania to:
x b 1 y
= + x, y = a b lub xy = ax by
y a a x

Pierwszy reprezentuje liniow form zalenoci x/y = f(x), drugi y = f(y/x), a trzeci
xy = f(x, y) bez wyrazu wolnego.

Zastosowanie kadej z form linearyzacji prowadzi do innych wartoci wspczynni-


kw a i b.

To najbardziej typowe przykady linearyzacji. W podobny sposb linearyzuje si bardziej


zoone funkcje, na przykad zaleno potgowo-wykadnicz:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15. Regresja liniowa 179

ax n
y = axbecx lub y =
x+b
pod warunkiem e n jest znan sta, a nie wspczynnikiem do wyznaczenia.

Istnieje jednak wiele zalenoci wanych z punktu widzenia obrbki danych dowiadczal-
nych, ktre nie daj si linearyzowa i wymagaj nieco innego podejcia, zwanego regresj
nieliniow. Przykady takich zalenoci to:
y = a(1ebx)
ax1 / 2
y= + cx
1 + bx1/ 2

Bd one omawiane w nastpnym (16.) rozdziale Regresja nieliniowa.

Ocena statystyczna jakoci


dopasowania rwnania regresji
Jak ju wspominaem, kryterium jakoci dopasowania rwnania regresji do danych po-
miarowych jest minimalna warto sumy kwadratw rnic midzy wartociami y zmie-
rzonymi a wartociami y obliczonymi z rwnania regresji. T sum okrela si najczciej
nazw sumy resztkowej i oznacza symbolem SSresz
N
SS resz = (y
i =1
i y i ) 2

N oznacza tu liczb danych odnoszcych si do zmiennej y.

Do oceny jakoci dopasowania niezbdna jest te tzw. liczba stopni swobody f = Nl


rwna rnicy midzy liczb pomiarw N a liczb wspczynnikw l, ktre trzeba wy-
znaczy. Jeeli dysponujemy tylko tyloma wynikami pomiarw, ile wspczynnikw jest
do wyznaczenia, liczba stopni swobody f = 0, wtedy rwnie SSresz = 0, ale nie ma mo-
liwoci statystycznej oceny jakoci otrzymanego rwnania. Przykadowo przez dwa punkty
zawsze mona przeprowadzi prost, ale gdyby doda trzeci punkt pomiarowy, to nie
wiadomo, czy te leaby na tej prostej. Miar jakoci dopasowania rwnania jest stosunek
sumy resztkowej SSresz do liczby stopni swobody f, zwany wariancj pomiaru lub wa-
riancj resztkow.

Pierwiastek z wariancji pomiaru zwany jest te rednim bdem wartoci y sy. To kolej-
na charakterystyka statystyczna rwnania regresji. Warto t umieszcza si czasem
na wykresach w postaci supkw bdu wartoci y. Jest ona obliczana ze wzoru:

SS resz
sy =
N l

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


180 Excel w obliczeniach naukowych i inynierskich

Kady z wyznaczonych wspczynnikw w rwnaniu regresji obarczony jest pewnym


bdem, ktry rwnie mona oszacowa. Im wiksza jest warto wspczynnika (li-
czona jako warto bezwzgldna) w stosunku do bdu jego oszacowania, tym bardziej
istotny jest dany wspczynnik. Wspczynniki mao istotne, tzn. takie, ktrych bd jest
relatywnie duy, powinny by usuwane z rwnania regresji. Pomocne jest tu kryterium
statystyczne t Studenta, ktre okrela graniczn warto tego stosunku, zalen od liczby
stopni swobody powtarzalnoci pomiarw oraz od przyjtego tzw. poziomu istotnoci.

Suma resztkowa i wariancja resztkowa nie wystarczaj jednak do penej charakterystyki


danych pomiarowych, bo jeeli wartoci y zmieniaj si wyranie od punktu do punktu,
to i suma resztkowa bdzie stosunkowo dua. Jeeli natomiast zmienno y jest niewielka,
to i suma resztkowa bdzie maa, chocia rwnanie niekoniecznie musi by dobrze do-
brane. Dlatego sensownie jest porwna sum resztkow z sum kwadratw odchyle
wynikw w punktach pomiarowych odniesionych do oglnej redniej z wszystkich wy-
nikw pomiarw. T ogln sum kwadratw wok redniej pomniejszon o sum reszt-
kow nazwano sum regresyjn. Oblicza si j ze wzoru:
N
SS regr = (y y )
i =1
i
2
SS resz

gdzie
N
1
y=
N y
i =1
i

Sumy kwadratw resztkowa i regresyjna s porwnywane w dwojaki sposb. Na ich


podstawie oblicza si tzw. wspczynnik determinacji R2, ktry jest kwadratem wsp-
czynnika korelacji R.
SSregr
R2 =
SSregr + SSresz

Wielko ta jest bardzo czsto wykorzystywana do oceny jakoci rwnania regresji.


Zmienia si w granicach od 0 do 1, lecz z reguy jest bardzo bliska 1. Wartoci poniej
0,9 wiadcz ju o stosunkowo mao dokadnym rwnaniu.

Inn charakterystyk statystyczn wyliczan na podstawie powyszych sum kwadratw


jest stosunek F wariancji regresji do wariancji resztkowej. Jest to wielko, ktr porw-
nuje si z kryterium statystycznym Fishera.
SS regr /(l 1) SS regr / l
F= lub F =
SS resz / f SS resz / f

Pierwszy wariant wzoru stosuje si, gdy staa w rwnaniu regresji jest obliczana, a drugi
gdy staa jest rwna zeru. Warto F powinna by moliwie jak najwiksza, a w ka-
dym razie wiksza od wartoci granicznej, okrelonej w zalenoci od liczby stopni swo-
body licznika i mianownika oraz przyjtego poziomu istotnoci.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15. Regresja liniowa 181

Regresja liniowa w Excelu


W arkuszu kalkulacyjnym dostpnych jest kilka funkcji, ktre su do wyznaczania rw-
na regresji. Ponadto dostpne s narzdzia do analizy regresji powizane z kreatorem
wykresw (linia trendu) oraz niezalene, wchodzce w skad dodatku Analysis Toolpak.

Najprostszy przypadek dotyczy dopasowania funkcji liniowej jednej zmiennej. Jeli po-
szukiwana zaleno da si opisa rwnaniem
y = ax+b

to mona wykorzysta trzy funkcje o podobnej skadni, ktre umoliwiaj obliczenie


wspczynnikw a i b oraz wspczynnika determinacji R2. S to funkcje:
NACHYLENIE(znane_y; znane_x), ktra oblicza wspczynnik a,
ODCITA(znane_y; znane_x), ktra oblicza wspczynnik b,
R.KWADRAT(znane_y; znane_x), ktra oblicza wspczynnik R2.

Znane_y i znane_x s to tablice lub zakresy komrek o identycznych rozmiarach, za-


wierajce dane liczbowe; jeeli zakresy lub tablice zawieraj dane nieliczbowe lub puste
komrki, te wartoci s ignorowane; jeeli rozmiary tablic lub zakresw s rne, otrzy-
mujemy komunikat bdu #N/D!.

Jeli w rwnaniu regresji wystpuje wicej wyrazw, a zarazem wicej wspczynnikw,


albo jeli wyraz wolny (odcita) jest rwny zeru, albo jeli potrzebny jest peniejszy sta-
tystyczny opis zbioru danych, naley skorzysta z funkcji tablicowej:
REGLINP(znane_y; znane_x; czy_staa; czy_stat)

Znane_y i znane_x jak poprzednio reprezentuj zbiory danych pomiarowych zmiennych


y i x, ale teraz obszary te nie musz mie identycznych rozmiarw. Jeeli tablica znane_y
jest pojedyncz kolumn, kada kolumna zbioru znane_x jest interpretowana jako od-
dzielna zmienna. Analogicznie jeeli tablica znane_y jest pojedynczym wierszem, kady
wiersz zbioru znane_x jest interpretowany jako oddzielna zmienna.

Tablica znane_x moe zawiera jeden lub wicej zbiorw zmiennych. Jeeli uywana jest
tylko jedna zmienna, znane_y i znane_x mog by zakresami o dowolnym ksztacie, ale
o jednakowych wymiarach.

Jeeli stosuje si wicej ni jedn zmienn, znane_y musi by wektorem (tzn. zakresem
o wysokoci jednego wiersza lub o szerokoci jednej kolumny). Tablice znane_y i znane_x
musz by w caoci wypenione danymi liczbowymi (nie mog zawiera pustych kom-
rek ani danych nieliczbowych inaczej ni w przypadku funkcji NACHYLENIE, ODCITA
i R.KWADRAT), ponadto znane_x musi stanowi zakres spjny, czyli musi by zawarte w jed-
nym obszarze.

Jeeli pominie si znane_x, argument ten jest przyjmowany jako tablica {1;2;3;...} lub
{1\2\3\...}, ktra ma tak sam wielko jak znane_y.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


182 Excel w obliczeniach naukowych i inynierskich

Czy_staa jest to warto logiczna okrelajca, czy staa b ma by rwna 0, czy obliczana
normalnie. Jeeli czy_staa ma warto PRAWDA lub jest pominita, b jest obliczane nor-
malnie. Jeeli czy_staa ma warto FASZ, b jest rwne 0, a wartoci a s dopasowywane
do rwnania y = ax lub y = aixi.

Przy dodawaniu linii trendu do wykresu punktowego mona zadeklarowa dowoln war-
to staej b w rwnaniu regresji. W przypadku funkcji REGLINP mona jedynie zadekla-
rowa warto 0. Jeeli znana warto staej b jest rna od zera, naley od zmierzonych
wartoci y odj b i w charakterze zmiennej znane_y uy tej rnicy, nadajc rwno-
czenie argumentowi czy_staa warto FASZ.

Czy_stat jest to warto logiczna okrelajca, czy ma by dodatkowo obliczana statystyka


regresji. Jeeli czy_stat ma warto PRAWDA, funkcja REGLINP daje w wyniku dodatkowe
statystyki regresji, tak e uzyskiwana tablica ma posta {an; an-1; ; a1; a0 \ san; san-1; ;
sa1; sa0 \ R2; sy \ F; f \ SSregr; SSreszt} (separatory w konwencji wersji Excela 2007 i wcze-
niejszych). Wynik skada si z piciu wierszy i tylu kolumn, ile wspczynnikw jest
obliczanych. W pierwszym wierszu jest lista wspczynnikw, ale w kolejnoci od-
wrotnej w stosunku do kolejnoci kolumn z danymi, zakoczona wyrazem wolnym a0.
W drugim wierszu s rednie bdy wspczynnikw z pierwszego wiersza. Od trzeciego
do pitego wiersza tylko po dwie wartoci kolejno wspczynnik determinacji R2,
redni bd wartoci y sy, statystyka Fishera F, obok liczba stopni swobody wariancji reszt-
kowej f i wreszcie w pitym wierszu suma regresyjna SSregr i suma resztkowa SSreszt.
Jeeli czy_stat ma warto FASZ lub jest pominity, funkcja REGLINP daje w wyniku tylko
wspczynniki {an; an-1; ; a1; a0}. Wyniki mieszcz si w jednym wierszu.

Funkcja REGLINP jest funkcj tablicow, wic wymaga wczeniejszego zaznaczenia miej-
sca na wynik i zatwierdzenia klawiszami Ctrl+Shift+Enter. Chocia funkcja w swojej
penej wersji moe wywietla wyniki w piciu wierszach, nie jest konieczne wywietla-
nie ich wszystkich. Mona na przykad zaznaczy miejsce na wywietlenie tylko trzech
pierwszych wierszy, a zrezygnowa z dwu ostatnich.

W przypadku rwnania z jedn zmienn wspczynnik nachylenia i odcit mona od-


czyta z formu: Nachylenie a : = INDEKS(REGLINP(znane_y;znane_x); 1).

Punkt przecicia z osi y b : = INDEKS(REGLINP(znane_y;znane_x); 2).

W przypadku gdy staa w rwnaniu regresji nie jest obliczana (jest rwna 0), funkcja
REGLINP podaje bdne wartoci statystyk. Suma regresyjna obliczana jest z bdnego
wzoru:
N
SS regr = y
i =1
i
2
SS resz

i w konsekwencji bdnie obliczane s wartoci F i R 2. Natomiast warto R 2 podawa-


na na wykresach przy opisie linii trendu jest poprawna.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15. Regresja liniowa 183

Na rysunku 15.1 pokazano, na czym polega problem z funkcj REGLINP. Obliczenia przy
uyciu tej funkcji wykonano trzykrotnie raz jako znane_x uyto jednej kolumny danych,
z argumentem czy_staa o wartoci FASZ uzyskano wyniki bdne, natomiast na wy-
kresie wspczynnik determinacji obliczony jest poprawnie. W drugim przypadku dodano
drug kolumn x zoon z samych jedynek i obliczono dwa wspczynniki nadal z argu-
mentem czy_staa o wartoci FASZ rwnie uzyskano wyniki bdne. W trzecim przy-
padku uyto jednej kolumny danych jako znane_x, z argumentem czy_staa o wartoci
PRAWDA uzyskano wyniki poprawne. Obliczone wspczynniki w drugim i trzecim przy-
padku s liczbowo rwne, gdy dotycz faktycznie tych samych danych, rnica polega
tylko na innym sposobie obliczania wskanikw statystycznych.

Rysunek 15.1. Przykad ilustrujcy nieprawidowe wartoci parametrw statystycznych podawane


przez funkcj REGLINP w przypadku, gdy wyraz wolny jest rwny zeru

Przykad 15.1.
Dana jest zaleno cinienia osmotycznego roztworu cukru od jego stenia procento-
wego. Wykonamy wykres tej zalenoci i dopasujemy lini trendu na wykresie wy-
wietlimy jej rwnanie oraz kwadrat wspczynnika korelacji. Wykres powinien prze-
chodzi przez pocztek ukadu wsprzdnych.

Wspczynnik proporcjonalnoci i wspczynnik determinacji mona wyznaczy rw-


nie za pomoc funkcji REGLINP. Niestety, jak ju pisaem, w tym przypadku kwadrat
wspczynnika korelacji ma bdn warto. Z kolei w wersji 2007 Excela w przypadku
korelacji wielomianem czasem nie jest wywietlany wspczynnik przy najwyszej pot-
dze x. (We wczeniejszych wersjach ten bd nie wystpowa). Dane oraz wyniki poka-
zano na rysunku 15.2. Dane do przykadu pochodz z ksiki [7].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


184 Excel w obliczeniach naukowych i inynierskich

Rysunek 15.2.
Zaleno cinienia
osmotycznego
roztworu cukru
od jego stenia
procentowego jako
przykad regresji
liniowej

Przy prowadzeniu oblicze dotyczcych regresji w Excelu 2007 lub 2010 mona dodat-
kowo wykorzysta tabele wraz z odwoaniami strukturalnymi. Nie uzyskamy przez to ja-
kich szczeglnych uatwie, lecz unikniemy kopiowania w kolumnach, ktre bdzie si
odbywa automatycznie, i nieco szybciej wprowadzimy nagwki kolumn ni nazwy od-
powiednich zakresw. Ponadto jeli w jednym arkuszu chcemy umieci kilka podobnych
oblicze, atwiej zachowa podobne schematy oznacze ze wzgldu na to, e nagwki
kolumn w rnych tabelach mog si powtarza, a nazwy zakresw musz by unikatowe
w arkuszu.

Przykad 15.2.
Dana jest zaleno przewodnictwa molowego rozcieczonych roztworw chlorku wap-
nia od stenia molowego w temperaturze 25oC. (Dane pochodz z ksiki [7]). Zgodnie
z teori rozcieczonych roztworw elektrolitw przewodnictwo molowe powinno by
liniow funkcj pierwiastka ze stenia:

= 0 k C

Naley zweryfikowa to rwnanie, obliczajc jednoczenie jego wspczynniki. Jeeli


chcemy wyznaczy wspczynniki na podstawie rwnania linii trendu z wykresu, to trzeba
przygotowa w arkuszu kolumn z wartociami pierwiastka ze stenia i wykorzysta t
kolumn jako zmienn niezalen. W standardowym zestawie funkcji opisujcych lini
trendu nie przewidziano bowiem zalenoci tego typu. Korzystajc z funkcji REGLINP, nie
musimy przygotowywa kolumn pomocniczych. Mona skorzysta z notacji tablicowej
i jako znane_x poda PIERWIASTEK(stenie).

Dane oraz wyniki pokazano na rysunku 15.3. Zaleno liniowa jest dobrze speniana przez
cztery pierwsze punkty, dlatego tylko te punkty wykorzystano do oblicze.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15. Regresja liniowa 185

Rysunek 15.3.
Zaleno
przewodnictwa
molowego
rozcieczonych
roztworw chlorku
wapnia od stenia
molowego
w temperaturze 25C
jako przykad regresji
liniowej ze zmian
zmiennej niezalenej

Przykad 15.3.
Adsorpcj par na staych adsorbentach opisuje si czsto rwnaniem izotermy Langmuira:
abp
x=
1 + bp
gdzie:
x uamek wagowy okrelajcy ilo substancji zaadsorbowanej na jednostk
masy sorbentu,
p czstkowa prno pary substancji adsorbowanej w rwnowadze z adsorbentem.

Rwnanie izotermy Langmuira jest nieliniowe i przed jego opracowaniem metod regre-
sji liniowej trzeba je przeksztaci do postaci liniowej wzgldem nowych zmiennych.

Sposoby przeksztacenia podano na pocztku rozdziau. Podobnie jak w poprzednim


przykadzie, mona albo przeksztaci zmienne w arkuszu w sposb jawny, wykona wy-
kres linearyzowany i odczyta wspczynniki z rwnania linii trendu, albo zapisa prze-
ksztacenie zmiennych w argumentach funkcji REGLINP i odczyta wspczynniki z wyni-
ku funkcji.

Naley pamita, e przeksztacenie zmiennych zmienia wagi poszczeglnych punktw


pomiarowych, na przykad po obliczeniu 1/x mae wartoci x zyskuj na znaczeniu, a due
trac. Po wstawieniu obliczonych wspczynnikw do oryginalnego rwnania jako do-
pasowania rwnania ze wzgldu na oryginalne zmienne moe by niezadowalajca. W ta-
kim przypadku pomaga czasem rezygnacja z kilku skrajnych punktw.

Przykadowe wyniki oblicze przedstawiono na rysunku 15.4. Dane do tego przykadu


pochodz z ksiki [5]. W zaprezentowanym przykadzie przy obliczaniu wspczynni-
kw rwnania linearyzowanego pominito cztery pierwsze punkty, aby uzyska zado-
walajce wizualnie dopasowanie linii trendu do punktw z koca zakresu po powrocie

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


186 Excel w obliczeniach naukowych i inynierskich

Rysunek 15.4.
Stopie adsorpcji par
czterochlorku wgla
na wglu aktywnym
jako przykad regresji
wedug rwnania
linearyzowanego

do oryginalnych zmiennych. Aby mona byo atwo modyfikowa zakresy punktw bra-
nych pod uwag w obliczeniach zdefiniowano komrk przechowujc numer wiersza
z pocztkowymi danymi. Komrce tej nadano nazw PZ (komrka F27). Wszystkie adresy
potrzebne do zdefiniowania zakresw roboczych s konstruowane z uyciem funkcji
ADR.POR, ktrej argumentem jest adres w postaci tekstowej. Tekst ten moe by zoony
z elementw oznaczajcych kolumn i wiersz. Alternatywnie mona uy funkcji ADRES,
ktra rwnie pozwala na konstrukcj adresu w formie tekstowej z numerw wiersza i ko-
lumny. Jeeli na przykad chcemy odwoa si do komrki z kolumny B (jest to druga ko-
lumna) i z wiersza o numerze pobranym z komrki PZ, to moemy uy jednego z wyrae:
= ADR.POR("B"&PZ) lub = ADR.POR(ADRES(PZ;2))

Funkcja ADR.POR wymaga argumentu tekstowego, dlatego uyto operatora poczenia


tekstw &. Zawarto komrki PZ jest liczb, ale zostanie automatycznie skonwertowa-
na na tekst. Funkcja ADRES wymaga co najmniej dwu argumentw liczbowych: pierw-
szym jest numer wiersza, drugim numer kolumny. Mona poda jeszcze dodatkowe
argumenty opcjonalne, ale nie bd nam tu potrzebne. Dokadny opis skadni tej funk-
cji mona znale w rozdziale 2. na stronie 34 oraz w pliku pomocy [15].

Do wyznaczenia wartoci zmiennych pomocniczych 1/p i 1/X uyto wyrae typu:


= JEELI(WIERSZ()>=PZ;1/A6;BRAK())

Funkcja WIERSZ() bez argumentw zwraca numer wiersza z miejsca wywoania. Wyrae-
nie oblicza wartoci 1/p, w tym przypadku 1/A6, jeeli wywoanie jest w wierszu o nu-
merze PZ lub wikszym, w przeciwnym razie zwraca kod #N/D!.

Wspczynniki w linearyzowanym rwnaniu regresji (1/ab oraz 1/a) obliczano ze wzoru:


= REGLINP(1/ADR.POR("B"&PZ):B17;1/ADR.POR("A"&PZ):A17;PRAWDA;PRAWDA)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15. Regresja liniowa 187

Jest to oczywicie formua tablicowa.

W analogiczny sposb mona przeprowadzi obliczenia w przypadku pozostaych wzo-


rw linearyzujcych izoterm Langmuira.

Aby za pomoc funkcji REGLINP wyznaczy wspczynniki w rwnaniu regresji w postaci


wielomianu (dopuszczalne ujemne i uamkowe wykadniki potgowe), na og przygo-
towuje si dla kadego wyrazu wielomianu kolumn wartoci x podniesionych do odpo-
wiedniej potgi. Przykadowo aby obliczy wspczynniki wielomianu 3. stopnia, naley
oprcz kolumny x przygotowa kolumny x2 i x3. Cay zakres kolumn: x, x2 i x3 naley
przekaza jako argument znane_x do funkcji REGLINP. Ale istnieje te sposb na uniknicie
obliczania dodatkowych kolumn. Wykorzysta naley operacje tablicowe i zakres znane_x
zapisa jako x^{1;2;3} lub x^{1\2\3} ten drugi wariant dotyczy Excela w wersji 2010.
x oznacza kolumn wartoci x i moe by zapisane jako zakres komrek lub nazwa. Staa
tablicowa zawiera list wykadnikw potgowych.

Kiedy ju poznamy wartoci wspczynnikw w rwnaniu regresji, z reguy chcemy je


wykorzysta do obliczenia prognozowanych wartoci zmiennej y w punktach uytych do
wyznaczenia rwnania regresji lub innych punktach. Czsto chcemy te na tej podstawie
wykona wykres. W przypadku prostej regresji liniowej, gdy rwnanie ma posta
y = ax+b
rozwizanie tego zadania nie sprawia adnych trudnoci (por. rozdzia 4. Tablicowanie
funkcji jednej i dwu zmiennych). Mona rwnie poczy obliczenie wspczynnikw
regresji i prognozowanych wartoci y w jednym wyraeniu:
= SUMA(REGLINP(znane_y; znane_x)*x^{1;0})
gdzie x oznacza warto argumentu, dla ktrej chcemy wykona obliczenia moe by
adresem pojedynczej komrki lub nazw zakresu (moe pokrywa si ze znane_x). Jest
to zwyke wyraenie (nietablicowe).

Ten i poniszy zapis dotyczy wersji 2007 i wczeniejszych, w wersji 2010 w staych ta-
blicowych ; naley zamieni na \.

W przypadku regresji wielokrotnej (wicej ni jedna zmienna x) takie rczne obliczenie


prognozowanej wartoci y mona rwnie wykona, ale moe nie by to ju tak trywialnie
proste ze wzgldu na odwrcon kolejno wspczynnikw i danych w zakresie znane_x.
Niestety, Excel nie udostpnia adnego narzdzia do automatycznego odwracania kolej-
noci danych do oblicze (wpisywanie komrek granicznych w odwrotnej kolejnoci nic tu
nie da). P biedy, jeli znane_x s to tylko potgi utworzone z jednej kolumny x wtedy
mona zastosowa konstrukcj podobn do tej z przykadu dotyczcego regresji prostej
wystarczy tylko odwrci porzdek wykadnikw w staej tablicowej, na przykad gdy
mamy wielomian 3. stopnia
= SUMA(REGLINP(znane_y; znane_x^{1;2;3})*x^{3;2;1;0})

Gorzej, jeli zakres znane_x tworz niezalene zmienne wwczas trzeba rcznie
przygotowa zakres wspczynnikw w odwrconej kolejnoci i tego zakresu uywa
w wyraeniach. Ale na szczcie jest lepsze wyjcie specjalna funkcja REGLINW, ktra
zostaa udostpniona wanie do obliczania prognozowanych wartoci funkcji w regresji
liniowej.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


188 Excel w obliczeniach naukowych i inynierskich

Skadnia tej funkcji jest taka jak poniej:


REGLINW(znane_y; znane_x; nowe_x; czy_staa)

Znaczenie argumentw znane_y, znane_x i czy_staa jest takie jak w przypadku funkcji
REGLINP.

Nowe_x s to wartoci x, dla ktrych chcemy obliczy za pomoc funkcji REGLINW odpo-
wiednie wartoci y. Nowe_x musi zawiera jedn warto, kolumn (lub wiersz) dla kadej
zmiennej niezalenej, tak jak w przypadku znane_x. Jeeli pominie si nowe_x, argument
ten jest przyjmowany domylnie jako taki sam jak znane_x. Jeeli pominie si zarwno
znane_x, jak i nowe_x, s one przyjmowane jako tablica {1;2;3;...} lub {1\2\3\...}, ktra
ma taki sam rozmiar jak znane_y.

Wynikiem dziaania funkcji jest tablica o wymiarach tablicy nowe_x (lub znane_x, jeli
nowe_x pominito, lub znane_y, jeli pominito zarwno nowe_x, jak i znane_x), zawiera-
jca prognoz wartoci y wedug trendu liniowego.

Jeeli nowe_x reprezentuje pojedynczy punkt, to funkcja REGLINW jest zwyk funkcj,
w przeciwnym razie jest funkcj tablicow.

Uproszczony wariant funkcji REGLINW stanowi funkcja REGLINX. Uwzgldnia tylko regre-
sj prost, z jedn zmienn x, i oblicza wynik prognozowane y w zasadzie dla jednej
wartoci x. Mona jednak za x podstawi zakres wartoci i uy tej funkcji jako funkcji
tablicowej.

Skadnia funkcji REGLINX jest taka jak poniej:


REGLINX(x; znane_y; znane_x)

x jest to punkt danych, dla ktrego chcemy prognozowa warto y; znane_y jest to tablica
lub zakres danych zalenych; znane_x jest to tablica lub zakres danych niezalenych.

Funkcja daje w wyniku przewidywan warto y na podstawie liniowej regresji znanych


tablic lub zakresw danych x i y. Funkcj t mona rwnie wykorzysta do interpolacji
liniowej.

Dostpne s rwnie funkcje REGEXPP i REGEXPW, analogiczne odpowiednio do funkcji


REGLINP i REGLINW. Pozwalaj na wyznaczenie rwnania regresji w postaci wykadniczej.
Znaczenie argumentw jest analogiczne. W istocie funkcje te wyznaczaj parametry i staty-
styki rwnania linearyzowanego (po zlogarytmowaniu).

Regresja liniowa
w przypadku funkcji dwu zmiennych
Stosunkowo czsto chcemy opisa rwnaniem zaleno pewnej wielkoci od dwu zmien-
nych niezalenych, na przykad zaleno gstoci roztworu od temperatury i stenia.
Jeeli zaleno daaby si opisa prostym rwnaniem liniowym:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15. Regresja liniowa 189

y = a0+a1x1+a2x2
problem mona by rozwiza w sposb do prosty za pomoc funkcji REGLINP i REGLINW.
Jedyny kopot to sposb zapisu danych. Zaleno od dwch zmiennych przedstawiana
jest zazwyczaj w postaci tablicy dwuwymiarowej, jak w poniszym przykadzie.

Wartoci jednej zmiennej (x1) umieszcza si w pierwszej kolumnie tablicy, a wartoci dru-
giej zmiennej (x2) w pierwszym wierszu. Wartoci funkcji znajdujemy w komrce na
przeciciu wiersza odpowiadajcego danej wartoci x1 i kolumny odpowiadajcej danej
wartoci x2.

Aby uy funkcji REGLINP lub REGLINW, dane musz mie ukad wierszowy lub kolumnowy.
Tablic dwuwymiarow trzeba przeksztaci w jednowymiarow, a cilej w trzy tablice
jednowymiarowe, po jednej dla kadej zmiennej niezalenej i wartoci funkcji.

Jeeli wybierzemy ukad kolumnowy, ktry jest bardziej czytelny, w pierwszej kolumnie
naley skopiowa oryginaln kolumn x1 n razy, czyli tyle razy, ile wartoci przyjmuje
zmienna x2. W drugiej kolumnie powtarzamy pierwsz warto x2 m razy, czyli tyle razy,
ile wartoci przyjmuje zmienna x1. Nastpnie powtarzamy drug warto x2 i kolejne a
do wyczerpania ich listy. W rezultacie w kadej kolumnie znajdzie si m*n wartoci, gdzie
m i n oznaczaj liczebnoci zbiorw wartoci x1 i x2. Kolumn wartoci funkcji tworzymy,
kopiujc oryginalne wartoci funkcji z tablicy dwuwymiarowej kolumnami jedn po dru-
giej. Operacj mona wykona rcznie lub napisa odpowiedni makroinstrukcj w Visual
Basicu.

W praktyce jednak rzadko zalenoci midzy zmiennymi da si przedstawi w tak prosty


sposb, zwykle trzeba uy na przykad wielomianu. Przykadowo jeeli byby to wie-
lomian trzeciego stopnia ze wzgldu na kad ze zmiennych, funkcj naleaoby zapisa
w postaci:
y = a00+a10x1+a20x12+a30x13+
+a01x2+a11x1x2+a21x12x2+a31x13x2+
+a02x22+a12x1x22+a22x12x22+a32x13x22+
+a03x23+a13x1x23+a23x12x23+a33x13x23

Trzeba wyznaczy 16 wspczynnikw odpowiadajcych wszystkim parom wykadnikw


przy x1 i x2. Aby unikn rcznego obliczania kolumn danych, naley posuy si wy-
raeniami tablicowymi. Wykadniki potg, do ktrych naley podnie x1 i x2, mona
zapisa w postaci tablic A i B:
x1^A = x1^{0; 1; 2; 3; 0; 1; 2; 3; 0; 1; 2; 3; 0; 1; 2; 3}
x2^B = x2^{0; 0; 0; 0; 1; 1; 1; 1; 2; 2; 2; 2; 3; 3; 3; 3}

Powyszy zapis dotyczy wersji 2007 i wczeniejszych, w wersji 2010 w staych tablico-
wych ; naley zamieni na \.

Wygodnie byoby zapisa tablice A i B za pomoc wyrae, ktre pozwol utworzy te ta-
blice automatycznie rwnie w przypadku wielomianw innych stopni. Oznaczymy stop-
nie wielomianw wzgldem x1 i x2 odpowiednio przez st.1 i st.2. Liczba wspczynnikw,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


190 Excel w obliczeniach naukowych i inynierskich

ktre naley wyznaczy, jest rwna ws : = (st.1+1)*(st.2+1). Do konstrukcji tablic wy-


kadnikw wykorzystamy sposb opisany w rozdziale 3. Operacje i funkcje tablicowe.

Do konstrukcji bazowej tablicy zawierajcej liczby od 0 do ws1 uyjemy formuy na-


zwanej baza:
baza : = TRANSPONUJ(WIERSZ(ADR.POR("1:"&ws)))1

Tablice A i B definiujemy, wykorzystujc funkcje obliczajce wynik dzielenia cakowitego


i reszty z dzielenia.
A : = MOD(baza; st.1+1)
B : = ZAOKR.DO.CAK(baza/(st.1+1))

Aby obliczy wspczynniki w rwnaniu regresji za pomoc funkcji REGLINP, naley uy


konstrukcji:
= REGLINP(znane_y; znane_x1^A*znane_x2^B; FASZ; PRAWDA)

Jest to oczywicie formua tablicowa. Naley zarezerwowa miejsce na wynik w postaci


obszaru obejmujcego maksimum pi wierszy i ws kolumn. Trzecim argumentem funkcji
musi by FASZ, gdy staa jest obliczana jako jeden ze wspczynnikw (oba wykadniki
przy x1 i x2 rwne 0), wic nie mona jej oblicza po raz drugi. Gdyby ostatni argument
mia warto FASZ lub zosta pominity, wynik miaby posta pojedynczego wiersza ze
wspczynnikami. Jeeli na nastpnym etapie chcemy obliczy warto funkcji z rwna-
nia regresji, dogodnie jest nazwa zakres obliczonych wspczynnikw, na przykad wsp.

Maksymalna liczba kolumn w obszarze znane_x wynosi 16, mona wic zaplanowa mak-
symalnie wielomiany 3. stopnia wzgldem obu zmiennych albo 2. i maksymalnie 4. stop-
nia, albo 1. i maksymalnie 7. stopnia. Podane ograniczenie maksymalnej liczby kolumn x
obowizuje do wersji 2007, w wersji 2010 kolumn moe by wicej nawet 64 (wie-
lomiany 7. stopnia wzgldem obu zmiennych).

Jeeli wartoci funkcji obliczone z rwnania regresji chcemy umieci w tablicy dwu-
wymiarowej w ukadzie takim jak oryginalne dane, naley do pierwszej komrki obszaru
wyniku wprowadzi wyraenie (tablicowe):
= SUMA(wsp*dane_x1^(st.1A)*dane_x2^(st.2B))

Wyraenie naley zatwierdzi przez Ctrl+Shift+Enter, a nastpnie skopiowa do wszyst-


kich komrek przeznaczonych na wyniki. W powyszym wyraeniu dane_x1 i dane_x2
oznaczaj pojedyncze komrki, najlepiej posuy si tu adresami mieszanymi, mona
wtedy atwo skopiowa formuy do ssiednich komrek. Kolejno wspczynnikw obli-
czonych przez funkcj REGLINP jest odwrotna w porwnaniu z kolejnoci kolumn w ob-
szarze zmiennych niezalenych. Dlatego niezbdna jest modyfikacja tablic wykadni-
kw. Powysze wyraenie zadziaa tylko w przypadku, gdy zakres wspczynnikw wsp
bdzie dokadnie odpowiada rozmiarom tablic A i B. Po zmianie wartoci st.1 lub st.2
naley przedefiniowa zakres wsp albo uy maksymalnego zakresu wsp i konstrukcji ob-
cinajcej zbdn cz zakresu:
= SUMA(PRZESUNICIE(wsp;0;0;1;ws)*dane_x1^(st.1A)*dane_x2^(st.2B))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 15. Regresja liniowa 191

Jeeli potrzebne s tylko wartoci funkcji, a nie wspczynniki w rwnaniu, mona posu-
y si funkcj REGLINW. W tablicy dwuwymiarowej jej wywoanie moe mie posta:
= REGLINW(znane_y; znane_x1^A*znane_x2^B; dane_x1^A*dane_x2^B; FASZ)

W tym wyraeniu znane_y, znane_x1 oraz znane_x2 odnosz si do zakresw danych za-
pisanych w kolumnach, natomiast dane_x1 i dane_x2 oznaczaj komrki odpowiednio
z pierwszej kolumny i pierwszego wiersza tablicy dwuwymiarowej, najlepiej odwoywa
si do nich, stosujc adresy mieszane i wypeniajc nastpnie cay obszar tablicy przez
kopiowanie.

Stosujc opisany powyej sposb definiowania zakresw zmiennych, napotykamy pro-


blem, gdy warto zmiennej niezalenej jest rwna 0. Poniewa na licie wykadnikw
potg wystpuje zero, wrd obliczanych wartoci pojawia si symbol nieoznaczony 00,
ktrego warto jest nieokrelona, co uniemoliwia przeprowadzenie oblicze. W takim
przypadku naley zmieni zerow warto zmiennej niezalenej na bardzo ma, lecz wik-
sz od zera, na przykad 1E8. Umoliwi to wykonanie oblicze, a nie wpynie praktycznie
na ich wynik. Przykadowe opracowanie danych dotyczcych gstoci roztworu w funkcji
dwu zmiennych stenia i temperatury przedstawiaj rysunki 15.5 i 15.6.

Rysunek 15.5. Zaleno gstoci roztworw wglanu sodu w funkcji stenia i temperatury
jako przykad regresji wielomianem dwu zmiennych dane rdowe i wyniki regresji

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


192 Excel w obliczeniach naukowych i inynierskich

Rysunek 15.6. Zaleno gstoci roztworw wglanu sodu w funkcji stenia i temperatury jako przykad
regresji wielomianem dwu zmiennych dane w ukadzie kolumnowym i wspczynniki regresji
(fragment arkusza)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 16.
Regresja nieliniowa
Zakres zastosowania
regresji nieliniowej
Znaczna cz danych dowiadczalnych poddaje si obrbce metodami regresji liniowej
albo bezporednio, albo po przeksztaceniu rwnania do postaci liniowej. Jednak pozo-
staje cakiem spora grupa rwna (wystpujcych przy opracowaniu danych ekspery-
mentalnych), ktrych nie mona przeksztaci do postaci liniowej. S te przypadki do-
wiadcze, przy ktrych linearyzacja jest moliwa, ale wie si z przeskalowaniem
wynikw, co moe prowadzi do zafaszowania rezultatw oblicze wspczynnikw
regresji. Podobnie jak w zagadnieniach regresji liniowej, najczciej stosowanym kryterium
dopasowania rwnania do danych dowiadczalnych jest zasada minimalnej sumy kwadra-
tw rnic midzy wartociami wynikowymi zmierzonymi a wyznaczonymi z rwnania.
W przypadku rwna nieliniowych nie jest jednak moliwe opisanie wspczynnikw
regresji wzorami, a jedynie ich wyznaczenie metodami numerycznymi. Posuy si wic
trzeba narzdziem do znajdowania minimum funkcji. W Excelu takim narzdziem jest
nakadka Solver, ktr instaluje si jako dodatek. (Opis instalacji i uruchomienia tego do-
datku podano w rozdziale 12. Rozwizywanie rwna nieliniowych). Naszym zadaniem
pozostaje opracowanie formuy, ktra wylicza sum kwadratw odchyle pomidzy
wartociami zmierzonymi a wyznaczonymi z rwnania, i wskazanie Solverowi komrki,
ktra zawiera t formu, oraz komrek ze wspczynnikami, ktre naley dobra. Wska-
za te naley Solverowi, e ma poszukiwa minimum. Reszta oblicze to ju zadanie dla
Solvera. Niestety, nie zawsze wyniki s zadowalajce. Im wicej wspczynnikw do
wyznaczenia, tym trudniej. Czasem wyniki wskazuj minimum lokalne funkcji celu, a nie
minimum globalne. Duo zaley od intuicji osoby, ktra przygotowuje dane, w zakresie
wskazania waciwych przyblie startowych poszukiwanych wspczynnikw.

W wielu przypadkach moemy mie do czynienia z regresj quasi-liniow, kiedy rw-


nanie jest liniowe ze wzgldu na wszystkie wspczynniki z wyjtkiem jednego lub dwch.
W takiej sytuacji korzystnie jest poczy metody regresji nieliniowej i liniowej. Przyj-
muje si pewn warto pocztkow wspczynnika nieliniowego, zapisuje rwnanie
w postaci liniowej z now zmienn niezalen x', a nastpnie stosuje metod regresji li-
niowej do obliczenia pozostaych wspczynnikw, ale w taki sposb, aby byy one opisane

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


194 Excel w obliczeniach naukowych i inynierskich

formuami. Teraz za pomoc Solvera dopasowuje si warto wspczynnika nieliniowe-


go, wskazujc jako funkcj celu resztkow sum kwadratw z regresji liniowej. Z tego
rodzaju zagadnieniami Solver z reguy radzi sobie znakomicie.

Typowe zalenoci quasi-liniowe to:


y = a(1ebx), po przeksztaceniu y = ax', gdzie x' = 1ebx
b jest tu wspczynnikiem nieliniowym, po przyjciu wartoci startowej tego wsp-
czynnika obliczamy a metod regresji liniowej.
ax + b x 1
y= , po przeksztaceniu y = ax'+bx", gdzie x = , a x =
x+c x+c x+c

c jest tu wspczynnikiem nieliniowym, po przyjciu wartoci startowej tego wsp-


czynnika obliczamy a i b metod regresji liniowej.

Oto kolejny przykad zalenoci wystpujcy w chemii fizycznej:

ax1 / 2 x1 / 2
y= + cx , po przeksztaceniu y = ax'+cx, gdzie x =
1 + bx1 / 2 1 + bx1 / 2
b jest tu wspczynnikiem nieliniowym, po przyjciu wartoci startowej tego wsp-
czynnika obliczamy a i c metod regresji liniowej.
y = aebx+c, po przeksztaceniu y = ax'+c, gdzie x' = ebx

b jest tu wspczynnikiem nieliniowym, po przyjciu wartoci startowej tego wsp-


czynnika obliczamy a i c metod regresji liniowej.

Moliwe jest te inne podejcie do tego rwnania. Po przeksztaceniu do postaci:


ln(y c) = ln a+bx, czyli y' = a'+bx, gdzie y = ln(y c) i a' = ln a
c jest tu wspczynnikiem nieliniowym, po przyjciu wartoci startowej tego wsp-
czynnika obliczamy a' = ln a i b metod regresji liniowej.
y = aebx+cedx, po przeksztaceniu y = ax'+cx", gdzie x' = ebx, a x" = edx
b i d s tu wspczynnikami nieliniowymi, po przyjciu wartoci startowych tych wsp-
czynnikw obliczamy a i c metod regresji liniowej.

Uoglniona posta tzw. krzywej logistycznej:


a 1
y= + d , po przeksztaceniu y = ax'+d, gdzie x =
1 + exp(b + cx) 1 + exp(b + cx)
b i c s tu wspczynnikami nieliniowymi, po przyjciu wartoci startowych tych wsp-
czynnikw obliczamy a i d metod regresji liniowej.

Moliwe jest te przeksztacenie tego rwnania do postaci:


a a
ln 1 = b + cx , czyli y' = b+cx, gdzie y = ln 1
yd yd

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 16. Regresja nieliniowa 195

W tym przypadku a i d s wspczynnikami nieliniowymi, po przyjciu wartoci star-


towych tych wspczynnikw obliczamy b i c metod regresji liniowej.

Krzywa Gaussa:
2 2
A = Amax e [( x m ) / s ] , czyli A = Amaxx', gdzie x = e [( x m ) / s ]
m i s s tu wspczynnikami nieliniowymi, po przyjciu wartoci startowych tych
wspczynnikw obliczamy Amax metod regresji liniowej.

Moliwe jest te przeksztacenie do postaci:

Amax x m A
ln = , czyli y' = ax+b, gdzie y = ln max , a = 1/s, a b = m/s
A s A

Przy takiej formie rwnania Amax jest wspczynnikiem nieliniowym, natomiast m i s


moemy obliczy metod regresji liniowej.

Ocena statystyczna jakoci


dopasowania rwnania regresji
Przy stosowaniu Solvera do wyznaczania wspczynnikw regresji nieliniowej napoty-
kamy problem braku oceny statystycznej jakoci wyznaczonych wartoci wspczynni-
kw. Problem dotyczy tylko wspczynnikw nieliniowych dobieranych przez Solver.
Ocena statystyczna wspczynnikw wymaga do zoonych oblicze. Odchylenie stan-
dardowe wspczynnika oblicza si ze wzoru:

i = ( P 1 ) ii s y
gdzie (P-1)ii jest i-tym elementem diagonalnym macierzy odwrotnej do macierzy P, ktrej
elementy opisuje wzr:
N
Fn Fn
Pij = a
n =1 i

a j

sy oznacza pierwiastek z wariancji pomiaru, zwany jest te rednim bdem wartoci y,


obliczany ze wzoru:

SS resz
sy =
N l
takiego jak w regresji liniowej.

Pozostae parametry statystyczne, takie jak suma resztkowa, wariancja resztkowa, suma
regresyjna, wspczynnik determinacji, s obliczane tak samo jak w przypadku regresji
liniowej.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


196 Excel w obliczeniach naukowych i inynierskich

Regresja nieliniowa w Excelu


z wykorzystaniem Solvera
Zastosowanie regresji nieliniowej zilustrujemy przykadami opracowania danych do-
wiadczalnych. Pierwszy przykad dotyczy regresji quasi-liniowej.

Przykad 16.1.
Dana jest zaleno redniego wspczynnika aktywnoci w roztworach kwasu azotowe-
go od stenia C. Dane dotycz temperatury 25C. Zaleno t mona opisa wzorem:

aC 0,5
ln = + dC
1 + bC 0,5
a, b i d s wspczynnikami do wyznaczenia, przy czym wspczynnik b jest nieliniowy.

Zadanie mona rozwizywa dla zalenoci w oryginalnej formie, po obustronnym


podzieleniu przez C0,5 lub po podzieleniu przez C. W pierwszym przypadku otrzy-
C 0, 5
mujemy rwnanie y = aC'+dC, gdzie y = ln , a C = . W drugim przypadku
1 + bC 0,5
rwnanie przybraoby posta:
ln a
= + dC 0,5
C 0 ,5
1 + bC 0,5
ln 1
czyli y = aC'+dC", gdzie y = , C = , a C = C 0,5 .
C 0,5
1 + bC 0,5

W trzecim przypadku rwnanie ma form:


ln a
= 0,5 +d
C C + bC
ln 1
czyli y = aC'+d, gdzie y = , C = 0, 5 .
C C + bC

W kadym przypadku wspczynnik b bdzie dobierany za pomoc Solvera, a wsp-


czynniki a i d metod regresji liniowej. Wyniki oblicze w dwu wariantach pokazano
na rysunkach 16.1 i 16.2.

W I wariancie oblicze (rwnanie przeksztacone) kolumn zmiennej zalenej jest kolum-


na F, natomiast zmienne niezalene s w kolumnach C i D. Rwnanie regresji nie zawiera
wyrazu wolnego. Po przeprowadzeniu regresji liniowej uruchomiono Solver, wskazujc
mu jako komrk celu komrk G3 zawierajc resztkow sum kwadratw z regresji li-
niowej z komrki C22, pomnoon przez czynnik skalujcy 10000. (Solver pracuje lepiej
z funkcjami celu niezbyt maymi, rzdu jednoci). Wartoci wspczynnikw regresji
otrzymano: a w komrce B18, b w komrce D3, d w komrce C18.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 16. Regresja nieliniowa 197

Rysunek 16.1.
Dobr wspczynnikw
regresji quasi-liniowej
z wykorzystaniem
Solvera rwnanie
przeksztacone

Rysunek 16.2. Dobr wspczynnikw regresji quasi-liniowej z wykorzystaniem Solvera rwnanie


oryginalne

W II wariancie oblicze (rwnanie oryginalne) kolumn zmiennej zalenej jest kolumna E,


natomiast zmienne niezalene s w kolumnach C i D. Rwnanie regresji nie zawiera wy-
razu wolnego. Po przeprowadzeniu regresji liniowej uruchomiono Solver, wskazujc mu
jako komrk celu komrk G30 zawierajc resztkow sum kwadratw z regresji linio-
wej z komrki C49, pomnoon przez czynnik skalujcy 10000. Wartoci wspczynnikw
regresji otrzymano: a w komrce B45, b w komrce D30, d w komrce C45.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


198 Excel w obliczeniach naukowych i inynierskich

Ten sam przykad mona rwnie rozwiza z zastosowaniem metody regresji nielinio-
wej. W tym przypadku wartoci wszystkich trzech wspczynnikw bd dobierane za
pomoc Solvera. Wartoci startowe naley oszacowa na podstawie oblicze wykona-
nych poprzednio. Kryterium dopasowania mona teraz sformuowa jako sum kwadra-
tw rnic zmierzonych i obliczonych wartoci zmiennej zalenej (w Excelu suy do tego
funkcja o nazwie SUMA.XMY.2) w naszym przykadzie zmienn zalen moe by sam
wspczynnik aktywnoci lub jego logarytm wybr naley do przeprowadzajcego
obliczenia. Jeli zna si metodyk pomiaru, powinno si wybra tak wielko, dla ktrej
bdy pomiaru we wszystkich punktach maj moliwie zblione wartoci.

Wyniki przeprowadzonych oblicze wraz z oknem dialogowym Solvera przedstawio-


no na rysunku 16.3.

Rysunek 16.3. Dobr wspczynnikw metod regresji nieliniowej z wykorzystaniem Solvera rwnanie
oryginalne, wspczynnik aktywnoci jako zmienna zalena

Mona zauway, e wspczynniki w porwnywanych wariantach oblicze rni si.


Wida te jeli spojrze na wartoci wspczynnikw aktywnoci e rwnanie prze-
ksztacone dokadniej odwzorowuje wyniki przy maych steniach, a mniej dokadnie
przy wikszych. Rwnanie nieprzeksztacone (drugi wariant regresji quasi-liniowej)
traktuje wyniki bardziej rwnorzdnie. Rwnie w przypadku regresji nieliniowej bdy
oszacowania s rwnomiernie rozoone. Wybr naley do osoby opracowujcej wyniki
i znajcej realia pomiarw i ich dokadno.

Rozpatrzymy jeszcze jeden przykad regresji nieliniowej. Dane liczbowe do tego przyka-
du zaczerpnito z ksiki [7], strona 102.

Przykad 16.2.
Kwas azotowy w metanolu zachowuje si jak saby elektrolit. Graniczna przewodno mo-
lowa kwasu azotowego w metanolu w temperaturze 25C wynosi 0 = 203,9 1cm2mol1.
Zmierzone wartoci przewodnoci molowej roztworu w funkcji stenia c wynosz:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 16. Regresja nieliniowa 199

c, mmoldm3 0,0966 0,1314 0,3075 0,4730 0,7084 0,9163


, 1cm2mol1 178,7 165,2 151,0 137,6 124,2 116,3

Naley obliczy sta dysocjacji Kc kwasu azotowego w metanolu.

Sta dysocjacji Kc wie ze steniem c prawo rozciecze Ostwalda:


c 2
Kc =
1

Z kolei stopie dysocjacji jest rwny stosunkowi przewodnoci molowej przy danym
steniu do przewodnoci granicznej 0. Zatem
= 0

Poniewa przewodno graniczna jest znana, mona przeliczy wartoci na stopie dy-
socjacji . Otrzymujemy nastpujce wartoci:

c, mmoldm3 0,0966 0,1314 0,3075 0,4730 0,7084 0,9163


0,8764 0,8102 0,7406 0,6748 0,6091 0,5704

Jako e stopie dysocjacji musi by dodatni, z prawa rozciecze Ostwalda wynika


zaleno:

K c + K c2 + 4cK c
=
2c

Wystpuje tu jeden wspczynnik Kc, ale zaleno jest nieliniowa i najwygodniej bdzie
przeprowadzi dopasowanie z wykorzystaniem Solvera.

Jako warto startow przyblienia Kc przyjmiemy warto oszacowan na podstawie


danych zawartych w tabelce: przy c = 1 mmoldm3 warto 0,5, skd Kc 5104.

Obliczenia przeprowadzono w arkuszu kalkulacyjnym, przyjmujc jako funkcj celu sum


kwadratw odchyle dla . Minimalna warto sumy kwadratw wyniosa 2,02103, co
odpowiada wartoci Kc = 6,402104. W stosunku do przyblienia pocztkowego warto
kryterium zmniejszya si okoo piciokrotnie.

Zadanie mona rwnie rozwiza bez znajomoci 0. Warto tego parametru rwnie
mona wyznaczy. Podstaw oblicze bdzie rwnanie:

K c + K c2 + 4cK c
= 0 = 0
2c

Jako funkcj celu przyjmiemy teraz sum kwadratw odchyle dla . Wartociami star-
towymi bd jak poprzednio Kc 5104 oraz 0 200 1 cm2mol1. Warto 0 musi
by wiksza od wszystkich zmierzonych wartoci .

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


200 Excel w obliczeniach naukowych i inynierskich

Po uruchomieniu Solvera otrzymamy optymalne wartoci Kc = 8.18104 oraz 0 =193,8


1 cm2mol1. Przy przejciu od wartoci startowych do finalnych warto funkcji celu
zmniejszya si z 658 do 35,8. W przypadku gdy poszukiwane wartoci rni si o kilka
rzdw wielkoci, celowe jest zaznaczenie w opcjach Solvera Automatyczne skalowanie
oraz Przyjmij nieujemne.

Na rysunku 16.4 przedstawiono ekran z obliczeniami dotyczcymi powyszego przykadu.

Rysunek 16.4.
Ekran z wynikami
oblicze parametrw
metod regresji nieliniowej
za pomoc Solvera.
U gry: obliczenie
staej dysocjacji, u dou
rwnoczesne obliczenie
staej dysocjacji
i przewodnoci granicznej

Korelacja liniowa i nieliniowa w Excelu


Zastosowanie metody regresji jest waciwe, gdy dokadno, z jak mierzy si wartoci x,
jest znacznie wiksza od dokadnoci pomiaru wartoci y. Mona wwczas zaoy, e
cay bd dopasowania rwnania do danych pomiarowych jest zwizany z odchyleniami
mierzonymi wzdu osi wartoci y. W praktyce nie zawsze takie uproszczenie jest uza-
sadnione. Jeeli bdy pomiaru wartoci x s porwnywalne z bdami pomiaru wartoci y,
bardziej uzasadnione jest liczenie odlegoci punktu pomiarowego od linii najlepszego
dopasowania nie w kierunku pionowym (osi v) czy poziomym (osi x), lecz w kierunku
prostopadym (normalnym) do linii trendu. Jest to szczeglnie istotne, gdy nachylenie linii
trendu zmienia si znacznie w analizowanym przedziale zmiennoci wartoci x i y. Za-
my, e rwnanie linii trendu jest dane w postaci y = f(x). Wsprzdne i-tego punktu
pomiarowego oznaczymy xi i yi. Naley teraz znale wsprzdne xi0 i yi0 rzutu punktu
pomiarowego na lini trendu, czyli takiego punktu lecego na linii trendu, e linia czca
ten punkt z punktem pomiarowym jest prostopada do linii trendu, a cilej do stycznej
do linii trendu w tym punkcie.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 16. Regresja nieliniowa 201

Wsprzdne te wyznaczymy z nastpujcych zalenoci:


yi0 = f(xi0) bo wsprzdne rzutu musz spenia rwnanie linii trendu,
ki0 = f'(xi0) wspczynnik kierunkowy (nachylenie) stycznej jest rwny
pochodnej linii trendu,
(xixi0)+ki0(yiyi0) = 0 warunek prostopadoci.

Kwadrat odlegoci punktu od linii trendu: di2 = (yiyi0)2+(xixi0)2 = (xixi0)2(1+1/(ki0)2)

Wsprzdn xi0 rzutu punktu pomiarowego na lini trendu wyznaczamy oddzielnie dla
kadego punktu, rozwizujc rwnanie nieliniowe z jedn niewiadom:
(xixi0)+f' (xi0)(yif(xi0)) = 0 (*)

Naley zminimalizowa sum kwadratw odlegoci di2 wszystkich punktw od linii


trendu przy zmianie wspczynnikw okrelajcych rwnanie linii trendu. Rwnoczenie
spenione musz by rwnania ogranicze (*), ktrych jest tyle, ile punktw pomiarowych.

Zwrmy jeszcze uwag na skale na osiach x i y. atwo zauway, e zmiana skali na


ktrejkolwiek osi powoduje zmian rozwizania rwnania (*). Aby uzyska oczekiwany
efekt dopasowania linii trendu, skale na osiach powinny by tak dobrane, aby bdy po-
miaru na obu osiach byy zblione. Mona podzieli wartoci x i y przez oszacowania ich
bdw i uzyska zmienne bezwymiarowe o porwnywalnych bdach, ale wygodniej b-
dzie pomnoy wartoci zmiennej y przez czynnik skali s = x/y. W ten sposb bdy
pomiarw zmiennej zalenej bd podobne do bdw zmiennej niezalenej. Szukamy
zatem minimum sumy kwadratw:
~

d i2 =
( xi xi0 ) 2 +
(Yi Yi 0 ) 2 = ( xi xi0 ) 2 + s 2( yi yi0 ) 2
Odpowiednie rwnania maj po uwzgldnieniu wspczynnika posta:
Yi0 = syi0 = sf(xi0) zmodyfikowana zmienna zalena,
Ki0 = ski0 = sf' (xi0) zmodyfikowane nachylenie stycznej,
(xixi0)+s2ki0(yiyi0) = 0 zmodyfikowany warunek prostopadoci.

Suma kwadratw po przeksztaceniu:

~ s2 1 1
d i2 = ( xi xi0 ) 2 +
s4 (k i
0 2
)
( xi xi0 ) 2 = 1 + (sk i
( xi xi0 ) 2
)
0 2

W oglnym przypadku zagadnienie jest nieliniowe i moe by rozwizane za pomoc


Solvera. Jednak w przypadku funkcji liniowej nachylenie ma sta warto i rozwizanie
mona uzyska w sposb analityczny.

Korelacja liniowa
W najprostszym przypadku funkcji liniowej o postaci y = ax+b mamy k0 = a i rwnanie (*)
daje si efektywnie rozwiza

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


202 Excel w obliczeniach naukowych i inynierskich

xi + as 2 ( yi b)
xi0 =
1 + a2s2

atwo sprawdzi, e przy s 0 mamy xi0 = xi, czyli zwyk regresj, a przy s
otrzymujemy xi0 = (yib)/a, czyli yi0 = yi, co oznacza regresj wzgldem zmiennej x.

Przy dowolnej wartoci s kryterium kwadratu odlegoci mona zapisa w postaci:

~2 s2
d i =
1 + ( sa)
2


(ax + b y ) i i
2

Najlepiej dopasowane wartoci wspczynnikw znajdziemy, rniczkujc kryterium


wzgldem tych wspczynnikw i przyrwnujc pochodne do zera. W przypadku wsp-
czynnika a otrzymuje si rwnanie:
s2a2(rp)/q*sa1 = 0
gdzie

x ( x )
2
p=n 2
i i

q = s (n x y x y ) = n x Y x Y
i i i i i i i i

r = s n y ( y ) = n Y ( Y )
2 2 2 2 2
i i i i

n oznacza liczb punktw pomiarowych. Rozwizanie tego rwnania ma posta:
rp
sa = 1 + 2 gdzie =
2q

Wybr znaku nie jest dowolny. Tylko jedna warto zapewnia minimum funkcji celu
mona sprawdzi, e naley wzi znak zgodny ze znakiem q (p i r s zawsze dodatnie).

Wartoci p, q i r mona obliczy bezporednio z podanych powyej wzorw, ale atwiej


wykorzysta wyniki zwracane przez funkcje REGLINP lub NACHYLENIE. Naley wyznaczy
nachylenia obu prostych y = f(x) i x = g(y), dokonujc zamiany zakresw zmiennych.

Jeli nachylenie prostej y = f(x) oznaczymy ay, to uwzgldniwszy wprowadzone wcze-


niej oznaczenia, mamy:
ay = q/(s*p)

Analogicznie po oznaczeniu nachylenia prostej x = g(y) przez ax otrzymamy zaleno:


ax = q*s/r

Wspczynniki a i mona teraz obliczy ze wzorw:

1 s 1
sa = + sgn(a y ) 1 + 2 gdzie =
2 a x sa y

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 16. Regresja nieliniowa 203

Znaki ax, ay, q i a s zgodne.

Wspczynnik b (wyraz wolny, odcit) wyznacza si ze wzoru:


b = y ax (kreseczki nad symbolami oznaczaj wartoci rednie).

Posugujc si nazwami funkcji Excela i zakadajc, e zakresom x i y nadano nazwy


x i y, a wspczynnikowi skali nazw s, mona powysze wzory zapisa w postaci:
alfa : = (s/NACHYLENIE(x; y)1/(s*NACHYLENIE(y; x)))/2
a : = (alfa+ZNAK.LICZBY(NACHYLENIE(y; x))*PIERWIASTEK(1+alfa^2))/s
b : = REDNIA(y)a*REDNIA(x)

Na rysunku 16.5 pokazano przykad danych, dla ktrych wyznaczono metod najmniej-
szej sumy kwadratw trzy proste najlepszego dopasowania jedn klasyczn metod
regresji przy zaoeniu, e dane x s dokadne, a dane y obarczone bdami pomiaru, drug
metod regresji odwrotnej (wartoci y s dokadne, a x obarczone bdami) i trzeci metod
korelacji ze wspczynnikiem skali s = 0,2 (zarwno dane x, jak i y s obarczone bdami,
przy czym bdy x w skali bezwzgldnej s przecitnie 5 razy mniejsze od bdw y).

Rysunek 16.5. Porwnanie linii trendu (prostych) dopasowanych metod regresji i metod korelacji

Korelacja nieliniowa w Excelu


z wykorzystaniem Solvera
Jako przykad korelacji nieliniowej przeanalizujemy jeszcze raz przypadek izotermy
Langmuira, ktry w poprzednim rozdziale by przedmiotem analizy w przykadzie 15.3.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


204 Excel w obliczeniach naukowych i inynierskich

Aby uzyska zadowalajcy wynik dopasowania linii trendu do danych po linearyzacji,


naleao pomin pocztkowe punkty, gdy ich wpyw na przebieg linii trendu by zbyt
duy. Dziki zastosowaniu metody korelacji mona unikn sztucznego wzmocnienia wagi
pierwszych punktw i uwzgldni fakt, e bdami pomiaru obarczone s obie zmienne.

Do opisu adsorpcji par na staych adsorbentach wykorzystano rwnanie izotermy Langmuira:


abp
x=
1 + bp
gdzie:
x uamek wagowy okrelajcy ilo substancji zaadsorbowanej na jednostk
masy sorbentu,
p czstkowa prno pary substancji adsorbowanej w rwnowadze z adsorbentem.

Naley znale takie wartoci parametrw a i b, aby zminimalizowa sum kwadratw:


~

d i2 =
( pi pi0 ) 2 + s 2 ( xi xi0 ) 2
Wartoci pi0 i xi0 musz spenia rwnanie izotermy, nachylenie jest rwne pochodnej
funkcji izotermy i zmienia si od punktu do punktu:
abpi0 ab
xi0 = k i0 =
1 + bpi0 (1 + bpi0 ) 2

W kadym punkcie musi by speniony warunek prostopadoci:

pi pi0 + s 2 k i0 ( xi xi0 ) = 0 (*)

Po podstawieniu warunku prostopadoci suma kwadratw przyjmuje jedn z postaci:



(1 + (sk ) )( x x )
~2 1
d = 1 + (sk
i
i
0 2
( pi pi0 ) 2 = s 2
)
i
0 2
i
0 2
i

Minimalizacja tej sumy kwadratw jest moliwa przy wykorzystaniu Solvera.

Zadaniem Solvera bdzie minimalizacja tej sumy przez dopasowanie wartoci wsp-
czynnikw a i b oraz wszystkich wartoci pi0. Jako warunki ograniczajce trzeba poda
rwnania (*).

Na rysunku 16.6 zaprezentowano obliczenia wykonane za pomoc Solvera, w wyniku


ktrych wyznaczono wspczynniki w rwnaniu izotermy Langmuira. Przyjto wsp-
czynnik skali s = 60. Na rysunku 16.7 dodatkowo pokazano okno dialogowe Solvera,
w ktrym zdefiniowano parametry procesu obliczeniowego.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 16. Regresja nieliniowa 205

Rysunek 16.6. Dobr wspczynnikw w rwnaniu izotermy Langmuira z wykorzystaniem Solvera


wyniki oblicze i wykres

Rysunek 16.7.
Okno dialogowe Solvera,
w ktrym okrelono
parametry oblicze
wspczynnikw
w rwnaniu izotermy
Langmuira

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


206 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17.
Rwnania
rniczkowe zwyczajne
Pojcie rwnania rniczkowego
Rwnaniem rniczkowym nazywamy rwnanie, w ktrym niewiadom jest funkcja.
Oprcz tej funkcji w rwnaniu rniczkowym mog wystpi jej pochodne oraz zmienne
niezalene. Jeeli funkcja niewiadoma zaley tylko od jednej zmiennej niezalenej, rw-
nanie rniczkowe nazywamy zwyczajnym. Przykad rwnania rniczkowego zwyczaj-
nego, w ktrym niewiadom jest funkcja y = y(x):
2
d 2 y dy dy
2
+ x + 5y = 1
dx dx dx

Rzdem rwnania rniczkowego nazywamy najwyszy rzd pochodnej funkcji niewia-


domej. Powysze rwnanie jest zatem rzdu drugiego. Funkcj speniajc rwnanie r-
niczkowe (tzn. przeksztacajc je po podstawieniu w tosamo) nazywamy jego roz-
wizaniem. Rozwizania rwna rniczkowych mog zawiera pewne stae lub funkcje
dowolne. S zatem niejednoznaczne. Dlatego mwimy o oglnych i szczeglnych roz-
wizaniach rwnania rniczkowego rozwizanie oglne zawiera stae dowolne; jeeli
nadamy im konkretne wartoci, otrzymamy rozwizanie szczeglne. Zwykle rozwizania
szczeglne uzyskuje si przez naoenie na rozwizanie pewnych dodatkowych warun-
kw, zwanych warunkami pocztkowymi lub brzegowymi. Warunki te okrelaj kon-
kretne wartoci, jakie ma przybra funkcja niewiadoma lub jej pochodna przy okrelo-
nych wartociach zmiennej niezalenej.

Istnieje wiele metod analitycznego rozwizywania rwna rniczkowych. Metody te


dobiera si w zalenoci od postaci rwnania. Nie bd tu omawia szczegowo klasy-
fikacji rwna i odpowiednich analitycznych metod ich rozwizania. Skoncentruj si
natomiast na metodach numerycznych, ktre s alternatywnym sposobem rozwizania
niektrych rodzajw rwna rniczkowych. Typowe rwnanie, ktre mona rozwiza
metodami numerycznymi, ma posta:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


208 Excel w obliczeniach naukowych i inynierskich

dy
y = = f ( x, y )
dx

Rwnanie to ma na og jedno rozwizanie oglne z jedn sta dowoln. Sta t moe-


my wyznaczy z dodatkowego warunku naoonego na rozwizanie. Jeeli znana jest
warto rozwizania y w punkcie x = 0, czyli znamy warto y(0) = a, to takie sformuo-
wanie problemu nazywamy zagadnieniem pocztkowym. Rozpatrzymy kilka metod
rozwizywania zagadnie pocztkowych metodami numerycznymi.

Rozwizywanie zagadnienia
pocztkowego metod Eulera
Najprostsza numeryczna metoda rozwizania zagadnienia pocztkowego rwnania r-
niczkowego w postaci podanej powyej nosi nazw metody Eulera. W metodzie tej
aproksymujemy pochodn ilorazem rnicowym, wykorzystujc rnice przednie:
y y1 y 0 dy
= = f ( x0 , y 0 )
x x1 x 0 dx

Std: y1 y 0 + f ( x 0 , y 0 ) * ( x1 x 0 )

Wartoci x0 i y0 s okrelone przez warunek pocztkowy x0 = 0, y0 = a. W nastpnym


kroku z analogicznego wzoru obliczymy y2. Zasadnicz wad tej metody jest obliczanie
wartoci y w nastpnym kroku na podstawie pochodnej odpowiadajcej wartociom
zmiennych z poprzedniego kroku. Powoduje to szybkie narastanie bdw i jedyn na
to rad moe by zmniejszanie kroku cakowania, co z kolei zwiksza liczb operacji ko-
niecznych do wykonania przy okrelonym przedziale cakowania. Ale zalet pozostaje
prostota uywanych wzorw.

Jak zwykle najlepiej przeledzi t metod na konkretnym przykadzie. W tym przypadku


jako przykad wybraem typowe rwnanie kinetyki chemicznej. Proste rwnania kine-
tyczne mona scakowa analitycznie, ale w przypadkach bardziej zoonych trzeba od-
woa si do metod numerycznych, ktre pozwalaj zawsze uzyska rozwizanie. Poniej
podano ogln posta rwna kinetyki chemicznej:
dy
y = = f ( y)
dt

y z reguy reprezentuje tu stenie wybranego reagenta, a zmienn niezalen jest czas t.


W stosunku do oglniejszej postaci rwna rozwizywanych t metod rnica polega na
braku zmiennej niezalenej w jawnej postaci po prawej stronie rwnania. Rozwizaniem
rwnania kinetycznego jest zaleno stenia reagentw od czasu. Stenia reagentw
w chwili pocztkowej t = 0 s znane, dlatego jest to zagadnienie pocztkowe. Posta funk-
cji f jest znana lub przewidywana. Posta ta zaley od liczby i rodzaju reagentw oraz
od tego, w jaki sposb one na siebie oddziauj. Przy zaoeniu, e w roztworze reaguj ze

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 209

sob dwie substancje A i B, dajc w wyniku jeden produkt C w reakcji odwracalnej (tzn.
produkt C wytworzony w reakcji moe rozpada si czciowo z powrotem na A i B
reakcja przebiega wedug schematu A+B C), stenie reagenta A (substratu) mona
opisa rwnaniem:
dC A
= k1 * C A * C B k 1 * C C
dt

Stenie substratu A obnia si z upywem czasu, wic pochodna ma warto ujemn.


Funkcja ste po prawej stronie rwnania jest nieujemna, dlatego jeeli po lewej stro-
nie wystpuje stenie substratu (a nie produktu), naley poprzedzi pochodn znakiem
(minus). W rwnaniu wystpuj dwie stae szybkoci reakcji k1 i k1, ktrych wartoci
musimy zna, aby rwnanie byo jednoznaczne. Musz te by znane pocztkowe ste-
nia molowe reagentw A, B i C, czyli warunki pocztkowe rwnania. Gdy znamy stenia
pocztkowe reagentw, moemy atwo wyliczy stenie kadego z reagentw w dowolnej
chwili, gdy jest okrelone stenie jednego z nich. Jeli zaoy, e objto ukadu pozo-
staje staa, obnieniu stenia reagenta A o CA towarzyszy obnienie stenia B o CA
i wzrost stenia C o CA. Zatem w dowolnej chwili t:
CA = CA0CA(t)
CB(t) = CB0CA
CC(t) = CC0+CA

gdzie CA0 = CA(t = 0) i analogicznie w przypadku ste CB0 i CC0.

Aby zaprojektowa rozwizanie, musimy jeszcze ustali krok czasowy t, o ktry bdzie
wzrasta czas t w kadym kroku cakowania, oraz maksymalny czas obserwacji lub liczb
krokw czasowych. Rozwizanie zapiszemy w tabeli w ukadzie kolumnowym. W pierw-
szej kolumnie umiecimy zmienn pomocnicz numer kroku czasowego i, liczony od
0 do, powiedzmy, n = 1000, czyli czas liczony w jednostkach t. Liczba krokw musi
by odpowiednio dua, jeeli chcemy uzyska dobr dokadno, ale jeeli wystarczy nam
wynik szacunkowy z kilkuprocentowym bdem, to mona zmniejszy n dziesiciokrotnie.
Jeeli zaplanowalimy, e maksymalny czas obserwacji wyniesie tk = 1000 s, wyniknie
z tego dugo kroku czasowego t = tk/n. W kolumnach od drugiej do czwartej bd
wyliczane stenia reagentw CA(t), CB(t) oraz CC(t). Wreszcie w pitej kolumnie umie-
cimy wartoci prawej strony rwnania kinetycznego, czyli funkcji f, oznaczanej dalej
symbolem FC.

W pierwszym wierszu tabeli umiecimy kolejno wartoci: 0, CA0, CB0, CC0 oraz
FC (t = 0) = k1 * C A0 * C B 0 k 1 * CC 0 , a w kolejnych wierszach: numer kroku, wyliczone
stenia reagentw i warto funkcji FC przy biecych steniach reagentw.

Istnieje kilka sposobw zapisu wyliczonych ste w Excelu. Najprociej zastosowa


zapis iteracyjny:
CAi = CAi-1FCi-1*t
CBi = CBi-1FCi-1*t

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


210 Excel w obliczeniach naukowych i inynierskich

CCi = CCi-1+FCi-1*t
FCi = k1 * C Ai * C Bi k 1 * C Ci

gdzie CAi = CA(t = i*t) i analogicznie w przypadku ste CBi i CCi oraz funkcji FC.
Warto zwrci uwag, e we wzorach dotyczcych substratw jest znak , a we wzo-
rach dotyczcych produktw znak +. Naley uywa adresw wzgldnych komrek
ze steniami i funkcj FC oraz adresw absolutnych lub nazw komrek ze staymi szyb-
koci reakcji k1 i k1 oraz t. Formuy te wprowadzone do drugiego wiersza tabelki mog
by nastpnie skopiowane w d, a do i = n.

W powyszych wzorach stenia wszystkich reagentw byy obliczane na podstawie ich


ste poprzednich i przyrostu, branego ze znakiem plus lub minus. Alternatywnie (druga
wersja) mona tak oblicza stenie jednego z reagentw (np. A), a stenia pozostaych
odnosi do aktualnego stenia tego reagenta:
CAi = CAi-1FCi-1*t
CBi = CAi+CB0CA0
CCi = CC0+CA0CAi

Obliczenie FC jak poprzednio. W drugiej wersji wystpuj stae stenia pocztkowe,


do ktrych trzeba odwoywa si przez nazwy lub adresy absolutne.

Mona rwnie nada nazwy zakresom obejmujcym numer kroku I (od zera) oraz st-
enie reagenta A CA. W komrkach zakresu CA umieszczamy wpisy:
w pierwszym wierszu: = CA0
w nastpnych wierszach: = INDEKS(CA;I) INDEKS(FC;I)*DT

Pozostae stenia CB i CC oraz funkcj kinetyczn FC mona zdefiniowa jako formuy


nazwane. Po wczeniejszym zdefiniowaniu staych DT, CA0, CB0, CC0, K.1 oraz K_1 wpro-
wadzamy wyraenia definiujce (w drugiej wersji):
CB : = CA+CB0CA0
CC : = CC0+CA0CA
FC : = K.1*CA*CBK_1*CC

Korzystamy z polecenia Wstaw/Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj nazw)


i w polu Nazwy w skoroszycie: wpisujemy wybran nazw (bez dwukropka), a w polu
Odwouje si do: podane powyej formuy (od znaku =), po czym zatwierdzamy to przy-
ciskiem OK.

Warto zwrci uwag, e stosujc nazwy zakresw kolumnowych, moemy si bezpo-


rednio odwoywa tylko do wartoci z tego samego wiersza. Jeeli zachodzi potrzeba
odwoania do wartoci z innego wiersza, musimy posuy si funkcj INDEKS (albo
PRZESUNICIE ale tu potrzeba poda wicej parametrw). Funkcja INDEKS numeruje
elementy tablicy od 1, a nie od 0, std w wyraeniu okrelajcym CA jest I, a nie I1.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 211

Jeszcze inny wariant tego zapisu moe polega na wykorzystaniu sumowania skadnikw
przy obliczaniu CA.
i
CAi = CA0 FC
i =1
i-1* t

W notacji Excela w kolumnie CA naleaoby zapisa:


CA : = CA0SUMA(INDEKS(FC;1):INDEKS(FC;I))*DT
albo
= CA0SUMA(PRZESUNICIE(FC;0;0;I;1))*DT

Mona rwnie unikn stosowania funkcji INDEKS dziki wprowadzeniu dodatkowej


zmiennej (nazwy) CAn na oznaczenie nowej wartoci CA. Formua definiujca CAn ma po-
sta: = CAFC*DT i naley j wprowadzi jako formu nazwan. W ten sposb nazwa CAn
w wierszu o numerze 0 reprezentuje stenie CA dla wiersza o numerze 1, w wierszu
o numerze 1 stenie CA dla wiersza o numerze 2 itd. W arkuszu w kolumnie CA,
poczwszy od wiersza o numerze 1, naley wprowadzi = CAn jako formu tablicow
(w caym zakresie z wyjtkiem wiersza o numerze 0). W kolumnach CB i CC wprowadzamy
= CB i = CC jako formuy tablicowe w caym zakresie (cznie z wierszem o numerze 0).

Alternatyw dla stosowania formu tablicowych moe by zastosowanie odpowiednio


dobranych nazw komrek lub formu, z uwzgldnieniem w ich definicjach adresw wzgld-
nych lub mieszanych. Mona zastosowa na przykad nastpujcy schemat oznacze. Obli-
czenia umiecimy w piciu kolumnach, kolejno CA, CB, CC, FC oraz CAn. W pierwszym
wierszu tabeli (odpowiadajcym chwili pocztkowej t = 0) umiecimy kolejno odwo-
ania: = CA0, = CB0, = CC0. Komrkom tym naley teraz nada odpowiednio nazwy CAw,
CBw, CCw za pomoc Menedera nazw. W starszych wersjach Excela korzystamy z polecenia
Wstaw/Nazwa/Definiuj, a od wersji 2007 Formuy/Definiuj nazw i w polu Nazwy w sko-
roszycie: wpisujemy odpowiedni nazw, a w polu Odwouje si do: adresy mieszane
odpowiednich komrek, ze znakami $ przed liter kolumny. Istotne jest, aby w czasie defi-
niowania tych nazw komrk aktywn bya komrka z tego samego wiersza.

Kolejnym krokiem jest definicja funkcji kinetycznej FC, ktrej tym razem nadamy
nazw FCw.
FCw : = K.1*CAw*CBwK_1*CCw

Mona postpi dwojako albo zdefiniowa FCw jako formu nazwan, wtedy umiesz-
czamy definicj w Menederze nazw, a w komrce arkusza wpisujemy odwoanie = FCw;
albo umieci powysz definicj w komrce arkusza, a w Menederze nazw zdefiniowa
nazw FCw jako adres mieszany odpowiedniej komrki, ze znakiem $ przed liter kolumny.
Nastpnie musimy wprowadzi wzr okrelajcy stenie substratu A w kolejnym kroku
oblicze. Formua definiujca CAnw ma posta: = CAwFCw*DT i naley j wprowadzi do
komrki arkusza.

Przechodzimy teraz do nastpnego wiersza. Umieszczamy kursor w kolumnie CA i wy-


woujemy Menedera nazw. Tam definiujemy nazw CAnw jako odwoanie do komrki
zawierajcej odpowiedni formu w poprzednim wierszu. Jest to odwoanie wzgldne

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


212 Excel w obliczeniach naukowych i inynierskich

lub mieszane ze znakiem $ przed liter kolumny. W komrce wpisujemy odwoanie = CAnw.
W kolejnych kolumnach naley wpisa formuy okrelajce stenia pozostaych re-
agentw CB i CC:
= CAw+CB0CA0
= CC0+CA0CAw

Wreszcie w dwu ostatnich kolumnach naley skopiowa formuy z poprzedniego wiersza.


Nie trzeba powtarza definiowania CBw i CCw. Definicja z poprzedniego wiersza obowi-
zuje nadal i odnosi si zawsze do biecego wiersza. Cay drugi wiersz mona teraz sko-
piowa w d do wypenienia caej tablicy.

W Excelu wersji 2007 i 2010 mona rwnie wykorzysta tabel. Przygotowujemy


zakres komrek, nadajc odpowiednie nazwy kolumnom. Mog to by nazwy: i, CA, CB,
CC, f(Ci), CAn. Nazwy staych s takie jak poprzednio. Definiujemy tabel o odpowiednich
rozmiarach (ktre pniej zawsze mona zmieni). Mona wyczy filtr, bo nie bdzie
potrzebny. W kolumnie [i] w pierwszym wierszu wpisujemy 0 i wypeniamy j kolejnymi
liczbami cakowitymi (przez wypenienie staymi albo formu przyrostow w obu
przypadkach trzeba to zrobi rcznie). W kolumnie [CA] w pierwszym wierszu wpisu-
jemy = CA0. W kolumnach [CB] i [CC] wpisujemy odpowiednio formuy = [CA]+CB0CA0
i = CC0+CA0[CA]. W kolejnej kolumnie [f(Ci)] wpisujemy = K.1*[CA]*[CB]K_1*[CC]
i wreszcie w ostatniej kolumnie: = [CA][f(Ci)]*DT. Te cztery ostatnie kolumny zo-
stan wypenione automatycznie dziki funkcjonalnoci tabeli. Pozostaje kluczowa dla
oblicze kolumna [CA], ktr poczwszy od drugiego wiersza, wypeniamy formu
= INDEKS([CAn]; [i]). Nie mona tu uy formuy tablicowej, bo w tabelach nie mona
jej uywa. Formu trzeba rcznie skopiowa w d, do koca tabeli. Automatyczne
kopiowanie nie bdzie dziaa, bo formua w pierwszym wierszu jest inna. Jeeli zalea-
oby nam na automatycznym wypenieniu kolumny [CA], mona posuy si formu
warunkow = JEELI([i]=0; CA0; INDEKS([CAn]; [i])) wprowadzon ju w pierwszym
wierszu.

W wariancie z uyciem tabeli unikamy nazywania formu i uatwiamy sobie prac


dziki automatycznemu kopiowaniu wikszoci kolumn.

Stosujc metod Eulera w prostej wersji, musimy zazwyczaj tworzy bardzo du tablic
danych. Tak tablic niewygodnie si analizuje, rwnie do wykonania wykresu te
wszystkie dane nie s potrzebne. Dlatego warto kolumny z obliczeniami ukry, a do anali-
zy pozostawi sobie jedynie na przykad co 20. wiersz tablicy. Tworzymy w tym celu
w arkuszu now tablic z picioma kolumnami i dodajemy kolumn czasu, ktra bdzie
potrzebna do zrobienia wykresu. W pierwszej kolumnie wpisujemy numer kroku ik,
w drugiej czas t, w kolejnych stenia reagentw CA, CB i CC. W kolumnie ik umieszczamy
liczby 0, 20, 40, 60 itd., i ewentualnie nadajemy tej kolumnie nazw ik. W nastpnej ko-
lumnie (czas t) wpisujemy = ik*DT, dalej w kolumnach ste wpisujemy odpowiednio
= INDEKS(CA;ik+1), = INDEKS(CB;ik+1), = INDEKS(CC;ik+1). Indeks ik musi by zwik-
szany o 1, bo numeracja krokw zaczyna si od 0, a zakresy ste s numerowane od 1.
Wszystkie kolumny kopiujemy w d do wypenienia tablicy. Dane z nowej odchudzo-
nej tablicy moemy wykorzysta na przykad do sporzdzenia wykresu. Na rysunku 17.1
pokazano wyniki oblicze wykonanych t metod i wykres rozwizania.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 213

Rysunek 17.1. Rozwizanie rwnania rniczkowego pierwszego rzdu metod Eulera

Analogicznie mona postpi, posugujc si tabel w wersji 2007 lub 2010. Trzeba zde-
finiowa drug tabel z nagwkami podobnymi jak podane wyej. Odwoania do danych
oryginalnej tabeli (przy zaoeniu, e nosi ona numer 1) bd miay posta:
= INDEKS(Tabela1[CA];[ik]+1)
i podobnie w przypadku kolumn [CB] i [CC].

Modyfikacje metody Eulera


Metod Eulera mona modyfikowa w rny sposb, aby poprawi jej dokadno, ktra
pozostawia wiele do yczenia. Gwn wad metody Eulera jest to, e warto funkcji
w punkcie i-tym jest obliczana na podstawie pochodnej w punkcie (i1)-szym. Warto
pochodnej mona poprawi przez wstpne oszacowanie wartoci funkcji w i-tym punkcie
i wykorzystanie tego wyniku do oszacowania pochodnej. W kadym kroku cakowania
warto funkcji FC jest liczona dwukrotnie, zwiksza si wic dwukrotnie ilo oblicze,
ale wyniki s znacznie dokadniejsze. Obliczenia przebiegaj wedug schematu:
CAi* = CAi-1FCi-1*t
CBi* = CAi*+CB0CA0
CCi* = CC0+CA0CAi*

FCi = k1 * C Ai

* C Bi k 1 * CCi

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


214 Excel w obliczeniach naukowych i inynierskich

Wielkoci oznaczone gwiazdkami s to wstpne oszacowania wartoci funkcji w i-tym


punkcie. Faktyczn warto zmiany stenia CA oblicza si na podstawie redniej z funkcji
FC w punkcie (i1)-szym i oszacowanej wartoci funkcji FC* w punkcie i-tym.
CAi = CAi-10,5*(FCi-1+FCi*)*t
CBi = CAi+CB0CA0
CCi = CC0+CA0CAi
FCi = k1 * C Ai * C Bi k 1 * CCi

Realizacja tej modyfikacji w Excelu wymaga dodania czterech kolumn lub czterech for-
mu nazwanych. Poniewa w nazwie nie mona uy gwiazdki, zastpimy j znakiem
podkrelenia. Zarezerwujemy zatem cztery kolumny i nadamy im nazwy: CA_, CB_, CC_ i FC_.
Alternatyw jest zdefiniowanie formu o podanych nazwach. Liczb krokw cakowania
mona zmniejszy piciokrotnie.

Ze wzgldw praktycznych wartoci oszacowa w kroku (i+1)-szym umiecimy w tym


samym wierszu, co wartoci kocowe w kroku i-tym.

Tabelk wypenimy tym razem tak, jak opisano dalej. Pierwszy wiersz zawiera kolejno
w kolumnie I: 0, w kolumnie CA : = CA0, dalej odpowiednio: = CB0, = CC0, = K.1*CA*
CBK_1*CC. W dodatkowych kolumnach:
CA_ : = CAFC*DT
CB_ : = CA_+CB0CA0
CC_ : = CC0+CA0CA_
FC_ : = K.1*CA_*CB_K_1*CC_

W drugim wierszu bd kolejno: 1 w kolumnie I, a dalej


CA : = INDEKS(CA;I)0,5*(INDEKS(FC;I)+INDEKS(FC_;I))*DT
CB : = CA+CB0CA0
CC : = CC0+CA0CA
FC : = K.1*CA*CBK_1*CC

W dodatkowych kolumnach znajdzie si to samo co w wierszu pierwszym. Dalsze wier-


sze wypeniamy, kopiujc drugi wiersz. Wyniki uzyskujemy w kolumnach CA, CB i CC.
Na rysunku 17.2 wida wyniki oblicze zrealizowanych t metod.

Mona te dooy dodatkow kolumn CAn (lub formu nazwan) do obliczania nowej
wartoci CA tej, ktra powinna si znale w nastpnym wierszu. Wtedy obliczenia
bd si odbywa wedug wzorw:
CAn : = CA0,5*(FC+FC_)*DT

CA : = INDEKS(CAn;I) jako zwyka formua lub = CAn wprowadzone jako formua tabli-
cowa, poczwszy od wiersza o numerze 1.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 215

Rysunek 17.2.
Przykad rozwizania
rwnania kinetycznego
zmodyfikowan
metod Eulera

Wariant z zastosowaniem nazw komrek lub formu, z uwzgldnieniem w ich definicjach


adresw wzgldnych lub mieszanych mona zastosowa analogicznie jak w poprzednim
podrozdziale.

W Excelu wersji 2007 i 2010 mona rwnie wykorzysta funkcjonalno tabeli. Przy-
gotowujemy zakres komrek o odpowiednich rozmiarach i nadajemy kolumnom nazwy,
na przykad: i, CA, CB, CC, f(Ci), CA_, CB_, CC_, f(Ci_), CAn. Nazwy staych s takie jak
poprzednio. Mona wyczy filtr, bo nie bdzie potrzebny. W kolumnie [i] w pierwszym
wierszu wpisujemy 0 i wypeniamy j kolejnymi liczbami cakowitymi (przez wypenienie
staymi albo formu przyrostow w obu przypadkach trzeba to zrobi rcznie). W ko-
lumnie [CA] w pierwszym wierszu wpisujemy = CA0. W kolumnach [CB] i [CC] wpisujemy
odpowiednio formuy = [CA]+CB0CA0 i = CC0+CA0[CA]. W kolumnie [f(Ci)] wpisu-
jemy = K.1*[CA]*[CB]K_1*[CC]; w kolumnie [CA_]: = [CA][f(Ci)]*DT. W kolumnach
[CB_] i [CC_] wpisujemy odpowiednio formuy = [CA_]+CB0CA0 i = CC0+CA0[CA_]. W ko-
lumnie [f(Ci_)] wpisujemy = K.1*[CA_]*[CB_]K_1*[CC_]. W ostatniej kolumnie [CAn]
wyliczamy stenie do nastpnego kroku oblicze: = [CA]0,5*([f(Ci)]+[f(Ci_)])*DT.
Osiem ostatnich kolumn zostanie wypenionych automatycznie dziki funkcjonalnoci
tabeli. Pozostaje kolumna [CA], ktr poczwszy od drugiego wiersza, wypeniamy for-
mu = INDEKS([CAn]; [i]), ktr trzeba rcznie skopiowa w d, do koca tabeli. Jeeli
zaleaoby nam na automatycznym wypenieniu kolumny [CA], mona by posuy si
formu warunkow = JEELI([i]=0; CA0; INDEKS([CAn]; [i])) wprowadzon ju
w pierwszym wierszu.

W wariancie z uyciem tabeli unikamy nazywania formu i uatwiamy sobie prac dziki
automatycznemu kopiowaniu wikszoci kolumn, ale wszystkie formuy musz by jaw-
nie zapisane w arkuszu. Pniej kolumny z wynikami porednimi mona ukry. Nato-
miast dziki formuom nazwanym cz oblicze odbywa si w tle i nie zajmuje miej-
sca w arkuszu. Nie mona zatem jednoznacznie stwierdzi, ktry wariant jest lepszy
wszystko zaley od preferencji uytkownika.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


216 Excel w obliczeniach naukowych i inynierskich

Jeszcze inn modyfikacj metody Eulera uzyskamy, jeli wykorzystamy do aproksymacji


pochodnej w rwnaniu rniczkowym rnice centralne zamiast rnic przednich. Z roz-
dziau 6. Rniczkowanie numeryczne wiadomo, e rnice centralne duo lepiej aprok-
symuj pochodn od rnic przednich czy wstecznych. Moemy wic zapisa zaleno:
y y1 y 1 dy
= = f ( x0 , y 0 )
x x1 x 1 dx

Std: y1 y 1 + f ( x 0 , y 0 ) * ( x1 x 1 )

Wartoci x0 i y0 s okrelone przez warunek pocztkowy x0 = 0, y0 = a. Kolejne przy-


blienia bd obliczane ze wzoru:
y i +1 y i 1 + f ( xi , y i ) * ( xi +1 xi 1 )

Wszystko wydaje si pikne, tylko skd wzi warto y1? To warto hipotetyczna, bo
jest w istocie poza zakresem cakowania, ale okazuje si niezbdna, aby obliczenia mona
byo przeprowadzi. Od tej wartoci zale wyniki dalszych oblicze, a wic powinna by
znana do dokadnie. Trzeba j wic jako oszacowa. Okazuje si, e jest na to sposb.
Jeli zaoymy wstpnie jak warto y1 i bdziemy kontynuowa obliczenia, w kolej-
nych krokach okae si, e w miar wzrostu indeksu i narastaj oscylacje wartoci yi.

Poniewa rozwizanie, ktrego oczekujemy, jest zwykle funkcj gadk, naley tak do-
bra warto y1, aby sprowadzi oscylacje do minimum. Mona to zrobi rcznie, po-
przez obserwacj wynikw na wykresie, albo obliczajc rnice wartoci funkcji FC mi-
dzy ostatnimi punktami i sprawdzajc, czy zmieniaj si monotonicznie.

W tym przypadku wystarcza pi kolumn danych, jak w niezmodyfikowanej metodzie


Eulera. Wartoci I musz si zaczyna od 1, wic dochodzi jeden wiersz.

Tak jak poprzednio, zakresom obejmujcym numer kroku, stenia reagentw i funkcj
kinetyczn nadajemy nazwy I, CA, CB, CC i FC. W pierwszym wierszu w kolumnie I wpi-
sujemy 1, dalej w kolumnie CA prognoz wartoci CA, wiksz od CA0; pozostae pola
w tym wierszu mog pozosta puste lub mona tam wpisa wzory standardowe, jak w wier-
szach poniej. W drugim wierszu pod I wpisujemy 0, w kolumnach ste odpowiednio
= CA0, = CB0, = CC0, w kolumnie FC : = K.1*CA*CBK_1*CC.

W trzecim wierszu pod I wpisujemy 1, a pod CA wyraenie:


= INDEKS(CA;I)INDEKS(FC;I+1)*2*DT
a dalej ju standardowo:
CB : = CA+CB0CA0
CC : = CC0+CA0CA
FC : = K.1*CA*CBK_1*CC

Wzory te kopiujemy w d do zapenienia tabeli. Liczba krokw cakowania jest taka jak
przy pierwszej modyfikacji metody Eulera. Nastpnie wykonujemy wykres ostatnich
10 punktw funkcji CA lub FC. Zauwaymy zapewne oscylacje wartoci tych funkcji.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 217

Naley teraz skorygowa metod prb i bdw prognozowan warto CA w pierwszym


wierszu tabeli, a wykres bdzie wizualnie gadki. Jest to bardzo czue narzdzie ju
minimalne zmiany CA na 4. lub 5. miejscu po przecinku bd wpywa na wygld wykresu.
Mona te oblicza rnice wartoci funkcji FC w ssiednich punktach w kocu tabeli,
take rnice drugiego rzdu (czyli rnice rnic) i rnice trzeciego rzdu. Wszystkie
one powinny si zmienia monotonicznie. Ta metoda umoliwia bardzo precyzyjne do-
strojenie wartoci CA.

Na rysunku 17.3 pokazano wyniki oblicze uzyskanych t metod wraz z wygadzo-


nym wykresem rozwizania.

Rysunek 17.3.
Metoda Eulera
z rnicami centralnymi
zastosowana
do rozwizania
przykadowego
rwnania kinetycznego

Metoda Rungego-Kutty
Radykaln popraw dokadnoci rozwizania rwna rniczkowych uzyskuje si za cen
zwikszenia do czterech liczby krokw porednich w kadym kroku cakowania. Jest to
najbardziej znana z metod Rungego-Kutty. Obliczenia, jak w metodzie Eulera, maj cha-
rakter iteracyjny. W kadym kroku porednim oblicza si oszacowanie przyrostu zmien-
nej y, ktre uwzgldnia si w kolejnym kroku porednim. W kocu przyrost zmiennej y
oblicza si jako redni waon przyrostw obliczonych w krokach porednich.

Oglne wzory stosowane w tej metodzie maj posta:


y i +1 = y i + 16 ( pi1 + 2 pi 2 + 2 pi 3 + pi 4 )
pi1 = f ( xi , y i ) * x
pi 2 = f ( xi + 12 x, y i + 12 pi1 ) * x
pi 3 = f ( xi + 12 x, y i + 12 pi 2 ) * x
p i 4 = f ( x i + x , y i + p i 3 ) * x

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


218 Excel w obliczeniach naukowych i inynierskich

Podany powyej schemat metody Rungego-Kutty mona zaimplementowa rnymi spo-


sobami w arkuszu kalkulacyjnym. Schemat ten zastosujemy teraz do rozwizania poda-
nego wczeniej rwnania kinetycznego. Sprbujemy poszuka moliwie zwizego zapisu
tego schematu, stosujc, gdzie jest to uzasadnione, formuy nazwane.

Przyjmiemy liczb krokw cakowania rwn n = 30 i krok cakowania DT = 10 s. Potrzeb-


nych bdzie pi kolumn na dane, kady zakres obejmie n+1 komrek (wierszy). W pierw-
szej kolumnie umiecimy numer kroku I, w drugiej czas T, dalej stenia reagentw
CA, CB i CC. W pierwszym wierszu pod I wpisujemy 0, w kolumnie CA : = CA0. Zakresom
I i CA nadajemy nazwy zmiennych. Kolumn I wypeniamy liczbami cakowitymi od 0
do 30. Wszystkie wielkoci bd wyliczane z formu nazwanych wprowadzonych przez
Wstaw/Nazwa/Definiuj (od wersji 2007 Formuy/Definiuj nazw). Po otwarciu tego okienka
zdefiniujemy po kolei niezbdne zmienne (zakadam, e wszystkie stae zostay nazwane
jak poprzednio):
T : = I*DT
CB : = CA+CB0CA0
CC : = CC0+CA0CA
P_1 : = (K.1*CA*CBK_1*CC)*DT
P_2 : = (K.1*(CAP_1/2)*(CBP_1/2)K_1*(CC+P_1/2))*DT
P_3 : = (K.1*(CAP_2/2)*(CBP_2/2)K_1*(CC+P_2/2))*DT
P_4 : = (K.1*(CAP_3)*(CBP_3)K_1*(CC+P_3))*DT
CAn : = CA(P_1+2*P_2+2*P_3+P_4)/6

Po wprowadzeniu definicji kadej zmiennej czy staej naley klikn przycisk Dodaj,
a dopiero na kocu OK.

Warto zwrci uwag, e wystpujce we wzorach poprawki s odejmowane od ste


substratw, a dodawane do ste produktw.

W kolumnie CA w arkuszu, w drugim wierszu wprowadzamy wyraenie:


= INDEKS(CAn;I)

Wyraenie to kopiujemy do kolejnych wierszy w tabeli. Tak zapisane wyraenie pobiera


warto CAn z poprzedniego kroku i nadaje t warto zmiennej CA w kroku biecym.
Naley cay czas pamita, e zmienna I w pierwszym wierszu tabeli ma warto 0, a funk-
cja INDEKS numeruje elementy od 1.

Alternatywnie w kolumnie CA, poczwszy od wiersza o numerze 1 (czyli drugiego),


mona umieci formu tablicow = CAn. Poniewa wartoci z pozostaych kolumn
s ju obliczone z formu nazwanych, wystarczy je wywietli, posugujc si wywo-
aniami tablicowymi odpowiednio: = T, = CB i = CC. W tym celu naley zaznaczy
waciw kolumn (cay zakres od pierwszego wiersza), wprowadzi powysze od-
woanie i zatwierdzi przez Ctrl+Shift+Enter.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 219

Na rysunku 17.4 zaprezentowano wyniki rozwizania przykadowego rwnania metod


Rungego-Kutty.

Rysunek 17.4.
Wyniki uzyskane
metod Rungego-Kutty
przy rozwizaniu
przykadowego
rwnania kinetycznego

W ten sposb wykorzystanie formu nazwanych, ktre s w istocie formuami tablicowymi,


pozwala unikn wpisywania do arkusza wynikw oblicze porednich i poprawia jego
czytelno. Ale oczywicie traci na tym przejrzysto oblicze, bo analiza tak skonstru-
owanego arkusza jest trudniejsza.

Zaproponowane rozwizanie ogranicza do niezbdnego minimum ilo danych wylicza-


nych w arkuszu, wyniki porednie s obliczane w tle i nie s wywietlane. To rozwi-
zanie nie jest jednak jeszcze doskonae. W formuach nazwanych elementy specyficzne
dla metody Rungego-Kutty s wymieszane z elementami rwnania kinetycznego. Przy
zmianie postaci rwnania kinetycznego naleaoby cay ten fragment napisa od nowa.
Lepszym rozwizaniem byoby wydzielenie rwnania kinetycznego jako osobnej funkcji.
Ale to wymaga ju zaangaowania Visual Basica, gdy tylko on pozwala na przekazy-
wanie parametrw. Wrcimy do tej sprawy przy omawianiu funkcji definiowanych przez
uytkownika w VBA.

Porwnanie dokadnoci metod


cakowania rwna rniczkowych
Przykad, ktry rozwizywalimy rnymi metodami numerycznymi, da si rwnie roz-
wiza analitycznie. Posta rozwizania jest do zoona i nie chc jej tutaj przytacza
w caoci. Daje to jednak moliwo atwej oceny dokadnoci zaprezentowanych metod.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


220 Excel w obliczeniach naukowych i inynierskich

Porwnywano metod Eulera z krokiem o dugoci rwnej 1 z jej modyfikacjami i metod


Rungego-Kutty z krokiem rwnym 10. Porwnanie dokadnoci, wyraonej jako bd
procentowy stenia CA, przedstawiono graficznie na rysunku 17.5. Na wykresie wyniki
s wizualnie podobne, ale naley pamita, e w metodzie Eulera zastosowano 10 razy
mniejszy krok, a bd metody Rungego-Kutty pomnoono przez 1000, gdy jej dokad-
no jest o okoo trzy rzdy wiksza. Ponadto wida, e gdy metoda Eulera daje wynik
zaniony, pozostae metody daj wynik z bdem dodatnim. (Oczywicie gdyby wzi do
porwnania stenie produktu CC, byoby odwrotnie).

Rysunek 17.5.
Porwnanie
dokadnoci
rozwiza rwnania
rniczkowego
rnymi metodami

Zagadnienie brzegowe rwnania


rniczkowego zwyczajnego
Z zagadnieniem brzegowym spotykamy si przy rozwizaniu rwna rniczkowych,
gdy dane s wartoci funkcji niewiadomej lub jej pochodnej w dwu lub wicej punktach.
Problem taki moe wystpi przy rozwizaniu rwnania rniczkowego drugiego rzdu
lub ukadu dwu rwna sprzonych pierwszego rzdu. W chemii zagadnienia tego typu
wystpuj na przykad przy analizie ukadw jednowymiarowych, w ktrych dyfuzji to-
warzyszy reakcja chemiczna.

Jako konkretny przykad posuy rwnanie dyfuzji sferycznej z reakcj chemiczn, ktrej
kinetyk opisuje rwnanie nieliniowe. Tego typu rwnania spotyka si przy opisie nie-
ktrych ukadw katalizy enzymatycznej. Rwnanie do rozwizania wraz z warunkami
brzegowymi zapisane w postaci bezwymiarowej przedstawia si tak:
1 d 2 dc c dc
r = , (0) = 0, c(1) = 1
r 2 dr dr 1 + Kc dr

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 221

Wartoci staych wynosz: = 5, K = 2. Stae te potraktujemy jako parametry.

Przykad zosta zaczerpnity z ksiki [6]. Rozwaymy dwa sposoby rozwizania tego
zagadnienia brzegowego.

Metoda strzaw
Pierwszy sposb jest podobny do omawianych wczeniej metod iteracyjnych rozwizania
zagadnienia pocztkowego. Rwnanie rniczkowe drugiego rzdu przeksztacamy w ukad
rwna sprzonych rzdu pierwszego, traktujc pierwsz pochodn funkcji niewiado-
mej jako now niewiadom. Z dwu warunkw jeden traktujemy jako pocztkowy, a drugi
warunek pocztkowy (dla tej samej wartoci zmiennej niezalenej) odgadujemy. Roz-
wizujemy teraz ukad rwna pierwszego rzdu jedn z metod omwionych dotychczas.
Po uzyskaniu rozwizania sprawdzamy, czy jest speniony warunek brzegowy. Jeeli nie,
korygujemy odgadnity warunek pocztkowy i powtarzamy obliczenia a do uzyskania
zgodnoci. Procedur dopasowania warunku brzegowego mona przeprowadzi za po-
moc Solvera lub narzdzia Szukaj wyniku. Ta metoda rozwizania jest nazywana me-
tod strzaw.

W naszym przykadzie funkcj niewiadom jest stenie c, a zmienn niezalen pro-


mie r. Pochodn dc/dr potraktujemy jak now zmienn p. Wyjciowe rwnanie prze-
ksztaca si w ukad dwu rwna sprzonych.
c
1 d 2
2
( )
r p =
1 + Kc
, p (0) = 0
r dr
dc
= p, c(1) = 1
dr

Zmienna niezalena r, jako promie bezwymiarowy, zmienia si od 0 do 1. Warunek


pocztkowy jest znany dla zmiennej p, natomiast dla zmiennej c musimy go odgadn.
Przyjmiemy na pocztek c(0) = c0 = 0,5.

Trzeba teraz rozwiza ten ukad rwna sprzonych, posugujc si jedn z metod opi-
sanych poprzednio. Schemat obliczeniowy dla metody Eulera bdzie taki jak poniej:

ci ri2
ri 2+1 pi +1 = ri 2 pi + r , p0 = 0
1 + Kci
ci +1 = ci + pi r , c(1) = 1

Z pierwszego rwnania wyznaczamy now warto p:

ri 2 ci
pi +1 = p +
2 i
r , p0 = 0
ri +1 1 + Kci

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


222 Excel w obliczeniach naukowych i inynierskich

W przypadku zmodyfikowanej metody Eulera otrzymujemy taki oto schemat obliczeniowy:


ri 2 c i
p i+1 = p +
2 i
r
ri +1 1 + Kc i
c i+1 = c i + p i r

ri 2 0,5ci 0,5ci+1
pi +1 = p +
2 i
r + r
ri +1 1 + Kci 1 + Kci+1
ci +1 = ci + 0,5( pi + pi+1 )r

Do rozwizania w arkuszu wykorzystamy zmodyfikowan metod Eulera. Nadamy na-


zwy staym alfa (), Ka (K) oraz n (liczba krokw cakowania) i DR (krok cakowania r).
Wprowadzimy ponadto zmienne jako nazwy zakresw lub formu:
i : = WIERSZ(ADR.POR("1:"&n)) numer kroku cakowania od 1 do n
c. : = PRZESUNICIE(Adres_c;0;0;n;1) zakres przewidziany dla stenia c,
Adres_c to adres pierwszej komrki zakresu c., odpowiadajcy indeksowi
i = 0 (do c dodano kropk, gdy sama litera c jest nieprawidow nazw)
p : = PRZESUNICIE(Adres_p;0;0;n;1) zakres przewidziany dla pochodnej
stenia p, Adres_p to adres pierwszej komrki zakresu p, odpowiadajcy
indeksowi i = 0
cn : = c.+0,5*(p+p_)*DR odpowiada nowej wartoci c, wedug schematu ci+1 = cni
c_ : = c.+p*DR odpowiada c* ze schematu
p_ : = (p+alfa*c./(1+Ka*c.)*DR)*((i-1)/i)^2 odpowiada p* ze schematu,
stosunek promieni zosta zastpiony stosunkiem indeksw, indeksy s
zmniejszone o 1, poniewa faktycznie elementy tablicy s numerowane
od 1, a indeks i startuje od 0
pn : =(p+0,5*alfa*c./(1+Ka*c.)*DR)*((i-1)/i)^2+0,5*alfa*c_/(1+Ka*c_)*DR
odpowiada nowej wartoci p, wedug schematu pi+1 = pni

W arkuszu umieszczamy wszystkie stae. Poniewa r zmienia si od 0 do 1, krok DR wy-


liczamy jako = 1/n. W tabeli z wynikami oblicze obowizkowo musz by tylko dwie
kolumny: c. i p. Warto jednak doda na pocztku kolumn i albo r przydadz si przy
wykonywaniu wykresu i do oglnej orientacji.

W pierwszym wierszu tabeli pod i lub r wpisujemy 0, pod p wpisujemy 0 (jeden z danych
warunkw), pod c. wpisujemy odgadnit warto c0 = 0,5. Poczwszy od drugiego wiersza
tabeli, zaznaczamy zakres i (= i) lub r (= i*DR) obejmujcy n wierszy i zatwierdzamy
formu przez Ctrl+Shift+Enter. Podobnie w kolumnach p i c. zaznaczamy zakresy po n
wierszy i wprowadzamy formuy = INDEKS(pn;i) i = INDEKS(cn;i) jako formuy zwyke
lub odpowiednio = pn i = cn jako formuy tablicowe.

W ostatnim wierszu kolumny c. mamy warto = INDEKS(cn;n), ktra powinna by rwna


drugiemu warunkowi brzegowemu, w naszym przykadzie 1. Dopasowanie odgadnitego
warunku pocztkowego do zadanego warunku brzegowego mona przeprowadzi za pomo-

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 223

c jednego z narzdzi: Szukaj wyniku lub Solvera. W pierwszym przypadku trzeba zmieni
w Narzdziach/Opcje/Przeliczanie (w wersji 2007 Przycisk pakietu Office/Opcje programu
Excel/Formuy/Opcje obliczania, a w wersji 2010 Plik/Opcje/Formuy/Opcje obliczania)/
Maksymalna zmiana domyln warto 0,001 na mniejsz, na przykad 1E8.

Zwykle po zakoczeniu oblicze wykonuje si wykres uzyskanego rozwizania. Jeeli


liczba punktw uytych w obliczeniach jest zbyt dua, naley zastosowa sposb opisany
ju wczeniej przy okazji omwienia metody Eulera. Tworzymy now tabelk z wybra-
nymi punktami na przykad indeks i zmieniamy co 10. Wartoci stenia uzysku-
jemy przez = INDEKS(cn;i) lub = INDEKS(c.;i+1), podobnie warto pochodnej przez
= INDEKS(pn;i) lub = INDEKS(p;i+1). Tabel z oryginalnymi wynikami mona ukry, ale
nie mona jej skasowa.

Wyniki oblicze pokazano na rysunku 17.6. W tabeli wynikw zamieszczono co 10. punkt
obliczeniowy. Warto drugiego warunku brzegowego dopasowano za pomoc narz-
dzia Szukaj wyniku.

Rysunek 17.6.
Przykad
rozwizania
zagadnienia
brzegowego
metod strzaw

W analogiczny sposb mona zorganizowa obliczenia przy uyciu metody Rungego-


Kutty. W przypadku ukadu dwu rwna sprzonych pierwszego rzdu o postaci:
y = f(x, y, z)
z = g(x, y, z)

formuy umoliwiajce zastosowanie metody Rungego-Kutty maj form:


yi +1 = yi + 16 ( pi1 + 2 pi 2 + 2 pi 3 + pi 4 )
zi +1 = z i + 16 (qi1 + 2qi 2 + 2qi 3 + qi 4 )
pi1 = f ( xi , yi , z i ) * x
qi1 = g ( xi , yi , zi ) * x

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


224 Excel w obliczeniach naukowych i inynierskich

pi 2 = f ( xi + 12 x, yi + 12 pi1 , zi + 12 qi1 ) * x
qi 2 = g ( xi + 12 x, yi + 12 pi1 , zi + 12 qi1 ) * x
pi 3 = f ( xi + 12 x, yi + 12 pi 2 , z i + 12 qi 2 ) * x
qi 3 = g ( xi + 12 x, yi + 12 pi 2 , z i + 12 qi 2 ) * x
pi 4 = f ( xi + x, yi + pi 3 , zi + qi 3 ) * x
qi 4 = g ( xi + x, yi + pi 3 , zi + qi 3 ) * x

Metoda rnic skoczonych


Druga metoda rozwizania zagadnienia brzegowego wykorzystuje dyskretyzacj cigego
przedziau zmiennoci zmiennej niezalenej za pomoc punktw wzowych. Pochodne
zastpuje si odpowiednimi ilorazami rnicowymi. Jak ju pisaem w rozdziale o r-
niczkowaniu, pierwsz i drug pochodn mona aproksymowa za pomoc rnic cen-
tralnych, tak jak pokazano poniej:
dy y y1 y1 y1 y1
= =
dx x x1 x1 2x

d 2 y 2 y y 2 y0 + y1 y 2 y0 + y1
2 = 1 = 1
dx 2
x 0,25 ( x1 x1 ) 2
x 2

Dzielimy przedzia okrelonoci zmiennej niezalenej na podprzedziay rwnej dugoci.


Koce tych podprzedziaw wyznaczaj punkty wzowe. W kadym z tych punktw
zapisujemy rwnanie rniczkowe w postaci rnicowej. Otrzymujemy ukad rwna
algebraicznych, do ktrego doczamy warunki brzegowe. Ukad ten mona rozwizywa
wieloma sposobami, najczciej robi si to iteracyjnie. Rozwizanie tego ukadu rwna
algebraicznych stanowi przyblienie rozwizania wyjciowego rwnania tym lepsze,
im wicej punktw wzowych uwzgldniono. Oczywicie w miar wzrostu liczby
punktw wzowych ronie te czas niezbdny do rozwizania rwnania.

Jak w praktyce przebiega takie rozwizanie, przeledzimy na tym samym co poprzednio


przykadzie. Rwnanie rniczkowe, ktre rozpatrywalimy, mona przepisa w postaci:
d 2c 2 dc c dc
+ = , (0) = 0, c(1) = 1
dr 2
r dr 1 + Kc dr

Dziki zastosowaniu do tego rwnania schematw z rnicami centralnymi mona je za-


pisa w formie rnicowej (schemat dla i-tego punktu):
c i +1 2c i + c i 1 2 c i +1 c i 1 c i c1 c 0
+ = , = 0, c n = 1
( r ) 2
ri 2r 1 + Kc i r

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 17. Rwnania rniczkowe zwyczajne 225

Po przeksztaceniu do postaci dogodnej do iteracji:


ci +1 (1 + r / ri ) + ci 1 (1 r / ri )
ci = , c1 = c 0 , c n = 1
2 + (r ) 2 /(1 + Kci )

Obliczenia wygodniej bdzie przeprowadzi od tyu, od punktu n-tego do punktu 0-wego.


Powyszy wzr zastosujemy do punktw od (n1)-szego do drugiego. W pierwszym
punkcie wykorzystamy warunek brzegowy c1 = c0. W wyniku otrzymamy:
c 2 (1 + r / r1 )
c1 = , c 0 = c1
1 + r / r1 + (r ) 2 /(1 + Kc1 )

Rwnania maj charakter iteracyjny, ich wprowadzenie do arkusza bdzie powodowa


odwoania cykliczne. Formuy umieszczone w kolumnie odwouj si do komrek po-
wyej, poniej oraz do samej siebie. W tym przypadku jest to zamierzone, dlatego przed
wprowadzeniem formu naley w Narzdziach/Opcje/Przeliczanie (w wersji 2007 Przycisk
pakietu Office/ Opcje programu Excel/Formuy/Opcje obliczania, a w wersji 2010 Plik/
Opcje/Formuy/Opcje obliczania) zaznaczy pole Iteracja. Obliczenia bd wymagay
stosunkowo duej liczby iteracji, tym wikszej, im gciejsza jest siatka punktw wzo-
wych. Po wprowadzeniu wzorw do wszystkich komrek naley naciska klawisz F9,
ktry powoduje przeliczenie arkusza. Za kadym razem bdzie wykonana maksymalna
liczba iteracji ustawiona w opcjach przeliczania. Obliczenia naley kontynuowa a do
ustalenia wynikw.

Na rysunku 17.7 pokazano wyniki oblicze wykonanych t technik oraz wykres stenia.

Rysunek 17.7.
Rozwizanie
zagadnienia
brzegowego metod
rnic skoczonych

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


226 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18.
Rwnania rniczkowe
czstkowe
Przykady rwna
rniczkowych czstkowych
Rwnaniem rniczkowym czstkowym nazywamy rwnanie rniczkowe, w ktrym
niewiadoma funkcja zaley od dwu lub wicej zmiennych. W praktyce tymi zmiennymi
s najczciej czas t i zmienne przestrzenne x, y i z. Metody numeryczne rozwizywania
rwna tego typu wykorzystuj aproksymacj pochodnych ilorazami przyrostw sko-
czonych, w wyniku czego rwnanie rniczkowe przeksztaca si w ukad rwna al-
gebraicznych.

Analiza rnych ukadw fizycznych prowadzi czsto do rwna rniczkowych czst-


kowych drugiego rzdu. Zagadnienie rozwizania takich rwna jest obszerne i zoone
w niniejszym opracowaniu ogranicz si do rwna, w ktrych funkcje zale od dwu
zmiennych czasu i jednej zmiennej przestrzennej albo tylko dwch zmiennych prze-
strzennych. Oglna posta rwnania rniczkowego, bdcego przedmiotem naszego
zainteresowania, jest taka jak poniej:
2 F ( x, y ) 2 F ( x, y ) 2 F ( x, y ) F ( x, y ) F ( x, y )
a +b +c +d +e + fF + g = 0
x 2
xy y 2
x y

Wspczynniki od a do g mog by funkcjami x i y. Rwnania, ktre mamy rozwizywa,


s zwykle duo prostsze, niektre wspczynniki s rwne zeru albo maj stae wartoci.

W zalenoci od wartoci wspczynnikw a, b i c rwnania klasyfikuje si jako eliptyczne


(b24ac < 0), paraboliczne (b24ac = 0) lub hiperboliczne (b24ac > 0). Jeli wyrnik
zmienia znak, mamy rwnanie typu mieszanego lub hiperboliczno-eliptycznego.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


228 Excel w obliczeniach naukowych i inynierskich

Przykadem rwnania typu eliptycznego moe by rwnanie Laplacea, opisujce na


przykad rozkad potencjau pola elektrycznego w orodku o staym przewodnictwie
elektrycznym:
2 2
+ =0
x 2 y 2

Rwnania typu parabolicznego opisuj przewodzenie ciepa lub dyfuzj masy w warun-
kach niestacjonarnych w ukadach jednowymiarowych, na przykad rwnanie
T 2T
=a 2
t x

opisuje rozkad temperatury T w prcie, w ktrym wspczynnik przewodnictwa tempe-


raturowego wynosi a. Analogiczne rwnanie opisuje dyfuzj masy zamiast tempera-
tury w rwnaniu byoby stenie C, a zamiast wspczynnika a wspczynnik dyfuzji D.

Rwnania typu hiperbolicznego opisuj rozchodzenie si drga w orodku jednorodnym.


Przykadowo rwnanie opisujce drgania struny ma posta:
2 y 2 y
2
= c
t 2 x 2

y oznacza wychylenie poprzeczne struny, a c szybko rozchodzenia si fali. Sposb


rozwizania rwnania zaley od tego, do ktrej kategorii dane rwnanie si zalicza.
W kolejnych podrozdziaach bdzie mowa o metodach rozwizania stosowanych w przy-
padku rwna eliptycznych i parabolicznych.

Rwnania eliptyczne
Rwnanie eliptyczne opisuje pole skalarne na przykad potencjau elektrycznego czy tem-
peratury w obszarze dwuwymiarowym. Warunki brzegowe musz by okrelone na gra-
nicy caego zamknitego konturu ograniczajcego obszar rozwizania. Warunki brzegowe
mog okrela warto funkcji niewiadomej (warunki Dirichleta) lub warto jej po-
chodnej na granicy obszaru (warunki Neumanna), ewentualnie ich kombinacj liniow.
Przykadowo gdy rozpatrywany jest rozkad potencjau w reaktorze elektrochemicznym
(elektrolizerze lub ogniwie), na granicy obszaru musi by okrelony potencja albo gsto
prdu proporcjonalna do pochodnej potencjau (zerowa gsto prdu na nieprzewodz-
cych ciankach reaktora, potencja lub gsto prdu na elektrodach). Jeeli zagadnienie
wykazuje symetri osiow, wystarczy je rozwizywa tylko dla czci obszaru o sy-
metrii mona traktowa jak ciank nieprzewodzc.

Rozwizujc rwnanie metod rnic skoczonych, zwan te metod siatek, pokry-


wamy obszar rozwizania siatk prostoktn i tak dobieramy krok siatki, aby jak najwi-
cej wzw znalazo si na brzegu obszaru. Krok siatki w kierunku osi x oznaczymy przez h,
a krok w kierunku osi y przez k. Po zastosowaniu wzoru na aproksymacj drugiej po-
chodnej za pomoc rnic centralnych otrzymamy przyblienie:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18. Rwnania rniczkowe czstkowe 229

2 ( x h, y ) 2( x, y ) + ( x + h, y )

x 2 h2

Analogicznie w przypadku osi y:


2 ( x, y k ) 2 ( x, y ) + ( x, y + k )

y 2 k2

2 2
Std rwnanie + = 0 zastpimy rwnaniem rnicowym:
x 2 y 2

( x, y) 12 w( x h, y) + 12 w( x + h, y) + 12 (1 w)( x, y k ) + 12 (1 w)( x, y + k ) ,

k2
gdzie w = . Gdy h = k, wszystkie wspczynniki s rwne 1/4. Warto poten-
h +k 2 2

cjau w punkcie centralnym jest redni z wartoci potencjaw w punktach ssied-


nich (jeli kroki siatki nie s rwne, bdzie to rednia waona).

Warunek brzegowy na ciankach nieprzewodzcych lub osiach symetrii, okrelajcy ze-


row warto prdu, przekada si na warunek rwnoci potencjaw w ssiednich
punktach siatki w kierunku prostopadym do brzegu obszaru. Jako przykad rozpatrzymy
elektrolizer, ktrego widok z gry przedstawiono na rysunku 18.1.

Rysunek 18.1.
Schemat elektrolizera,
w ktrym wyznaczono
rozkad potencjau

Przyjto, e potencjay elektrod s rwne odpowiednio 0 i 10 V i s stae na caej po-


wierzchni elektrody. Ze wzgldu na symetri ukadu wystarczy wykona obliczenia dla
poowy obszaru. Wymiar prostopady do powierzchni rysunku nie ma znaczenia, jeeli
elektrody sigaj od dna naczynia do powierzchni elektrolitu. Punkty wzowe siatki
umieszczono w odlegociach co 1 cm w kierunku obu osi. Jest zatem: h = k = 1cm. Punkty
ponumerowano liczbami od 1 do 81, poczwszy od dou rysunku i od lewej.

Po zapisaniu rwna dla wszystkich punktw wzowych, ktre nie le ani na brzegu
obszaru, ani na elektrodach, ani na osi symetrii (tych punktw jest 39), otrzymujemy ukad
39 rwna liniowych, ktry mona rozwiza dowoln dogodn metod. Przy niezbyt
gstej siatce, a zarazem niewielkiej liczbie rwna mona stosowa metod macierzow.
Na rysunku 18.2 przedstawiono macierz wspczynnikw, kolumn staych oraz wyniki
oblicze metod macierzow. Sposb wykonania oblicze opisano w rozdziale 11. Ukady

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


230 Excel w obliczeniach naukowych i inynierskich

Rysunek 18.2. Tablica wspczynnikw i wyniki rozwizania rozkadu potencjau w elektrolizerze


pokazanym na rysunku 18.1, uzyskane metod macierzow

rwna liniowych. Numeracja punktw jak na rysunku 18.3. Niezerowe wartoci w ma-
cierzy wspczynnikw i w wektorze staych zostay oznaczone kolorem jasnoszarym.
Excel wymaga, aby wszystkie wartoci zerowe byy wpisane do macierzy, w przeciw-
nym razie sygnalizuje bd #ARG!.

Przy duej liczbie rwna mona stosowa metod iteracyjn obliczenia rozpoczyna si
od dowolnych wartoci startowych (np. zer) i przelicza si potencjay w kolejnych punk-
tach wielokrotnie a do osignicia stabilnych wynikw. W Excelu mona wykorzysta
odwoania cykliczne. Zbieno iteracji mona przyspieszy dziki zastosowaniu tzw. me-
tody nadrelaksacji polegajcej na wprowadzeniu do wzorw parametru nadrelaksacji
, ktry musi si mieci w przedziale [1, 2). Wzory po modyfikacji przyjmuj posta:
a ( x, y) 12 w( x h, y) + 12 w( x + h, y) + 12 (1 w)( x, y k ) + 12 (1 w)( x, y + k )

( x, y ) = (1 ) s ( x, y ) + a ( x, y )

a(x, y) jest obliczane jak poprzednio (x, y). s(x, y) jest wartoci potencjau w tym
punkcie obliczon dotychczas. Jeeli = 1, otrzymujemy wyniki takie jak we wzorach bez
nadrelaksacji, jeeli > 1, wartoci potencjaw zmieniaj si szybciej w kolejnych przebie-
gach procedury iteracyjnej. Konkretne wartoci parametru dobiera si eksperymentalnie.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18. Rwnania rniczkowe czstkowe 231

Rysunek 18.3.
Potencjay w punktach
wzowych siatki
obliczone metod
iteracyjn
z nadrelaksacj

Zbyt dua warto powoduje oscylacje wartoci potencjau. Oglnie im wicej punktw
w siatce, tym warto powinna by wiksza, ale nie moe doj do 2, gdy wtedy proces
obliczeniowy traci zbieno. Na rysunku 18.3 przedstawiono wyniki oblicze wykona-
nych powysz metod przy uyciu siatki o kroku 1 cm (jak poprzednio). Przyjto pa-
rametr nadrelaksacji = 1,5. Wyniki stabilne z dokadnoci do piciu miejsc po prze-
cinku uzyskuje si po mniej wicej 100 iteracjach.

Aby poprawi dokadno aproksymacji, naley zmniejszy krok siatki, najlepiej dwu-
krotnie. Porwnanie wynikw uzyskanych na siatkach o rnej gstoci pozwala jeszcze
dodatkowo poprawi dokadno metod ekstrapolacji, podobnie jak w przypadku ca-
kowania numerycznego.

Majc do dyspozycji dwa wyniki oblicze: 1(x, y) na siatce wyjciowej i 2(x, y) na siatce
dwukrotnie zagszczonej (w obu kierunkach), uzyskany wynik oszacowa mona ze wzoru:
(x, y) = 22(x, y)1(x, y)

Jeeli procedur zagszczania siatki przeprowadzimy dwukrotnie i na siatce o kroku


cztery razy mniejszym od wyjciowego uzyskamy dodatkowy wynik 4(x, y), wyniki
ekstrapolowane mona obliczy ze wzoru:
(x, y) = (84(x, y)62(x, y)+1(x, y))/3

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


232 Excel w obliczeniach naukowych i inynierskich

Wzr ten wyprowadzono przy zaoeniu, e uzyskane wyniki s funkcj kwadratow


dugoci kroku.

Przeprowadzono takie obliczenia przy kroku 0,5 i 0,25 cm. Wyniki zajmuj do duo
miejsca w arkuszu i z tego powodu nie nadaj si do reprodukcji w tekcie. Na rysunku
18.4 przedstawiono ekstrapolacj wynikw oblicze do kroku zerowego w trzech wy-
branych punktach. Wida, e ekstrapolacja wielomianem drugiego stopnia jest wystar-
czajco dokadna.

Rysunek 18.4.
Ekstrapolacja
rozwizania rwnania
Laplacea do kroku
zerowego

Zestawienie ekstrapolowanych wynikw na siatce podstawowej przedstawiono na ry-


sunku 18.5.

Rysunek 18.5.
Potencjay w punktach
wzowych siatki
obliczone metod
iteracyjn
z nadrelaksacj
po ekstrapolacji
do kroku zerowego

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18. Rwnania rniczkowe czstkowe 233

Do rozwizania ukadu rwna liniowych mona rwnie wykorzysta nakadk Solver.


Jednak liczba zmiennych jest tu ograniczona (do 200), siatka nie moe by zbyt rozlega.
Aby zastosowa t metod, naley utworzy dwie identyczne struktury siatki. W pierw-
szej strukturze w tych komrkach, gdzie rozwizanie jest znane (w naszym przykadzie
bd to wzy umieszczone na elektrodach), umieszczamy wartoci potencjau, natomiast
w pozostaych komrkach wewntrznych dowolne wartoci pocztkowe, na przykad
zera. W komrkach pooonych na nieprzewodzcym brzegu obszaru umieszczamy od-
woania do komrek ssiednich (w kierunku prostopadym do krawdzi obszaru). W dru-
giej strukturze siatki w punktach wewntrznych umieszczamy wyraenia:

( ( x, y ) + 12 w ( x h, y ) + 12 w ( x + h, y ) + 12 (1 w) ( x, y k ) + 12 (1 w) ( x, y + k )) 2 *10000

czyli kwadraty odchyle wartoci potencjau od redniej (waonej) potencjaw w punk-


tach ssiednich. Wielkoci te pomnoono przez sta, na przykad 10000, aby funkcja celu
nie miaa zbyt maej wartoci. W punktach lecych na elektrodach obliczamy kwadraty
rnic midzy wartoci biec a wartoci zadan, pomnoone przez t sam co poprzed-
nio sta. Jako funkcj celu Solvera bierzemy sum z komrek, gdzie liczono sumy kwadra-
tw odchyle. Komrki zmieniane to wszystkie komrki wewntrzne siatki (z pierwszej
struktury). Jeeli zechcemy skorzysta z opcji odgadywania komrek zmienianych, zakres
ten obejmie rwnie wzy pooone na elektrodach. Solver musi teraz znale rozwiza-
nie, ktre minimalizuje funkcj celu. Po uruchomieniu Solvera obliczenia trwaj kilka-
dziesit sekund i otrzymujemy wyniki wypeniajce ca struktur siatki.

Na rysunku 18.6 pokazano siatk podstawow z wartociami potencjaw obliczonymi


przez Solver. Na nastpnym rysunku widoczna jest siatka pomocnicza (druga struktura)
zawierajca kwadraty odchyle w poszczeglnych punktach.

Rysunek 18.6.
Rozwizanie rwnania
Laplacea na siatce
podstawowej uzyskane
za pomoc Solvera

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


234 Excel w obliczeniach naukowych i inynierskich

Rysunek 18.7.
Siatka pomocnicza do
rozwizania rwnania
Laplacea za pomoc
Solvera; w punktach
wzowych kwadraty
odchyle potencjaw
od rednich z punktw
ssiednich

Rwnania paraboliczne
Typowe rwnania typu parabolicznego opisuj procesy transportu masy lub ciepa. Jako
przykad rozpatrzmy nastpujcy problem. Wilgotna paska pyta ceramiczna o gruboci
2L = 4,0 cm jest poddawana suszeniu z obu stron. Pocztkowo wilgo jest rozoona
rwnomiernie z gstoci a = 0,50 g/cm3. Transport wody wewntrz pyty odbywa si na
drodze dyfuzji; wspczynnik dyfuzji wynosi D = 0,25 cm2/h. Suszenie odbywa si z rw-
nomiern szybkoci 0,1 g/(hcm2) z kadej strony pyty, a zawarto wilgoci na po-
wierzchni pyty wyniesie 0,22 g/cm3. Naley okreli czas trwania procesu suszenia, ilo
odparowanej wody oraz rozkad zawartoci wilgoci wewntrz pyty pod koniec procesu
suszenia. (Przykad pochodzi z ksiki [1]).

Dyfuzyjny transport wody wewntrz pyty opisuje II prawo Ficka:


c 2c
=D 2
t x

Ukad jest symetryczny, wic mona umieci pocztek ukadu wsprzdnych x = 0


w rodku pyty i analizowa tylko poow gruboci pyty. Przez paszczyzn symetrii
woda nie dyfunduje. Otrzymujemy wic dwa warunki brzegowe:
c
F0 = D = 0 przy x=0
x
c
F = D = 0,1 przy x = L
x
oraz warunek pocztkowy c(x, 0) = c0 = 0,500.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18. Rwnania rniczkowe czstkowe 235

Zagadnienie tak sformuowane ma rozwizanie analityczne w postaci szeregu potgowe-


go. Po wprowadzeniu parametrw bezwymiarowych mona przedstawi to rozwizanie
w postaci:

c( , ) 1 2
c0
=1+ +
12 2 2
(1) n
( n ) 2
( )
exp (n ) 2 cos(n )

n =1

x Dt 2 LF
gdzie: = , = 2, =
L L Dc0

Po podstawieniu danych liczbowych:


x[cm] 0,25[cm 2 /h ] t[s] t[s]
= , = = ,
2 4[cm 2 ] 3600[s/h ] 57600
2 2[cm] 0,1[g/(h cm 2 )]
= = 3,2
0,25[cm 2 /h ] 0,5[g/cm 3 ]

Rozwizanie to w postaci liczbowej uzyskamy w Excelu, wykorzystujc odwoania cy-


kliczne do obliczenia sumy szeregu. Obliczenia wykonano dla 11 wartoci z zakresu
[0, 1] z krokiem 0,1 oraz dla narastajcych wartoci czasu a do osignicia kocowego
stenia. Wynikiem oblicze s wartoci stenia bezwymiarowego, ktre zmniejsza si
od wartoci 1 do wartoci kocowej 0,44 na brzegu obszaru ( = 1).

Sposb przeprowadzenia oblicze opisano ju poprzednio, w rozdziale 10. Obliczanie


caek oznaczonych z wykorzystaniem szeregw potgowych. Potrzebne s dwie komrki
pomocnicze jedna o nazwie start, przyjmujca warto 1 lub 0 (albo PRAWDA lub FASZ),
oraz druga o nazwie nr, przechowujca biecy numer wyrazu w szeregu (we wzorze
oznaczony przez n). Obliczenia inicjuje si, nadajc zmiennej start warto 1. Spowoduje
to nadanie wartoci 0 numerowi nr oraz wartoci pocztkowych wszystkim komrkom
ze steniami. Te wartoci pocztkowe okrela wzr:

c( , ,0) 1 2
= 1+
c0 12 2 2

Nastpnie naley zmieni warto start na 0. Spowoduje to rozpoczcie iteracji w kadej


z nich warto nr jest zwikszana o 1, a stenia s powikszane o kolejne wyrazy szeregu:
c( , , n) c( , , n 1)
c0
=
c0
+
(1) n
(n ) 2
(
exp (n ) 2 cos(n ) )
Wykonywanych jest tyle iteracji, ile ustawiono w Narzdzia/Opcje/Przeliczanie (w wersji
2007 Przycisk pakietu Office/Opcje programu Excel/Formuy/Opcje obliczania, a w wersji
2010 Plik/Opcje/Formuy/Opcje obliczania) /Maksymalna liczba iteracji. Pole Iteracje
musi by oczywicie zaznaczone. W praktyce wystarczy 50 iteracji. Jeeli zauwaymy,
e wartoci stale si zmieniaj, moemy nacisn klawisz F9 (przeliczanie) i wykona

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


236 Excel w obliczeniach naukowych i inynierskich

nastpne iteracje. Kocow warto czasu ustaliem metod prb i bdw i otrzymaem
wynik tk = 5541,7 s. Odpowiada to odparowaniu tkF = 5541,7/36000,1 = 0,154 g/cm2
z kadej strony pyty, czyli 0,308 g/cm2 cznie.

Wyniki oblicze pokazano na rysunku 18.8.

Rysunek 18.8. Rozkad stenia bezwymiarowego wody w pycie poddawanej suszeniu. Rozwizanie
analityczne w postaci szeregu

Innymi sposobami rozwizania rwnania parabolicznego s metody numeryczne oparte


na rnych schematach rnicowych. Pochodne czstkowe wystpujce w rwnaniu dy-
fuzji mona przyblia ilorazami rnicowymi wedug kilku schematw, z ktrych naj-
bardziej znane s dwa:

a) schemat jawny (ang. explicit)

c ( x, t + k ) c ( x , t ) c( x h, t ) 2c( x, t ) + c( x + h, t )
=D
k h2

Krok czasowy oznaczono liter k, a krok wzdu osi x liter h. Pochodn czasow
aproksymowano ilorazem rnicowym w przd, a pochodn wzgldem x ilorazem
centralnym. Po przeksztaceniu otrzymujemy wzr, z ktrego mona wyznaczy stenie
w nastpnej chwili na podstawie wartoci aktualnych.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18. Rwnania rniczkowe czstkowe 237

Dk
c( x, t + k ) = c( x, t ) + a[c( x h, t ) 2c( x, t ) + c( x + h, t )], gdzie a=
h2

Staa a jest nazywana liczb dyfuzji. Schemat jest stabilny numerycznie, gdy a mieci si
w przedziale (0; 0,5).

b) schemat niejawny Cranka-Nicolsona (ang. implicit)

c( x, t + k ) = c( x, t ) + 12 a[c( x h, t ) 2c( x, t ) + c( x + h, t )
Dk
+ c( x h, t + k ) 2c( x, t + k ) + c( x + h, t + k )], gdzie a=
h2

Ten schemat jest bezwarunkowo stabilny numerycznie. Istniej rwnie inne schematy
stabilne numerycznie, ale te wymienione stosuje si najczciej.

Warunek brzegowy musi by rwnie przeksztacony na posta rnicow:


c(h, t ) c(h, t )
F0 = D = 0 przy x=0
2h
c( L + h, t ) c( L h, t )
F = D = 0,1 przy x=L
2h
co daje po przeksztaceniu i po przejciu na stenia bezwymiarowe:
c( h, t ) c(h, t )
= przy x=0
c0 c0

c ( L h, t ) c ( L + h, t ) F 2 h
= + przy x = L
c0 c0 Dc0

Fh 0,1[g/(h cm 2 )] 0,2[cm]
Wprowadzimy oznaczenie f = = = 0,16
Dc0 0,25[cm 2 /h] 0,5[g/cm 3 ]
przy przyjtym kroku dugoci h = 0,2 cm.

Stosujc schemat jawny, rozpoczynamy obliczenia od t = 0. Wszystkie stenia s okre-


lone przez warunek pocztkowy c(x, 0)/c0 = 1,000. Aby przej dalej, trzeba okreli
krok czasowy k. Maksymalny krok odpowiada a = 1/2. Jego warto wynosi:
ah 2 0,2 2 [cm 2 ] 3600[s/h ]
k max = = = 288[s]
D 2 0,25[cm 2 /h ]

Naley wybra nieco mniejsz warto kroku, na przykad k = 200 s.

Stenia odnoszce si do nastpnej chwili wyznacza si na podstawie wartoci aktual-


nych ze wzoru:
Dk
c( x, t + k ) = a c( x h, t ) + (1 2a) c( x, t ) + a c( x + h, t ), gdzie a =
h2

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


238 Excel w obliczeniach naukowych i inynierskich

Na granicy obszaru przy x = 0 zachodzi c(h, t ) = c(h, t ) , zatem


c(0, t + k ) = (1 2a ) c(0, t ) + 2a c(h, t )

Po przeciwnej stronie c( L h, t ) = c( L + h, t ) + 2 fc 0 dla t > 0, zatem analogicznie

c( L, t + k ) = 2a c( L h, t ) + (1 2a)c( L, t ) 2afc 0

Wyniki oblicze zaprezentowano na rysunku 18.9. Fragment tabeli z rozwizaniami zo-


sta ukryty, aby pokaza ostatnie wiersze.

Rysunek 18.9. Rozwizanie rwnania parabolicznego metod numeryczn z wykorzystaniem schematu


jawnego

Kocow warto czasu ustalono metod interpolacji liniowej, otrzymano wynik tk = 5563,6 s.
Odpowiada to odparowaniu tkF = 5563,6/36000,1 = 0,1545 g/cm2 z kadej strony pyty,
czyli 0,309 g/cm2 cznie.

Przy uyciu schematu niejawnego Cranka-Nicolsona wykorzystuje si rwnanie:


c( x, t + k ) = c( x, t ) + 12 a[c( x h, t ) 2c( x, t ) + c( x + h, t )
Dk
+ c( x h, t + k ) 2c( x, t + k ) + c( x + h, t + k )], gdzie a =
h2

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18. Rwnania rniczkowe czstkowe 239

ktre po przeksztaceniu przyjmuje posta:


1+ a
c( x h, t + k ) + 2 c( x, t + k ) c( x + h, t + k ) =
a
1 a
= c( x h, t ) + 2 c( x, t ) + c( x + h, t )
a

Na granicy obszaru przy x = 0 zachodzi c(h, t ) = c(h, t ) oraz c(h, t + k ) = c(h, t + k ) ,


zatem po uwzgldnieniu tych warunkw brzegowych pierwsze z serii rwna przyjmie
posta:
1+ a 1 a
c(0, t + k ) c(h, t + k ) = c(0, t ) + c(h, t )
a a

Po przeciwnej stronie przy x = L mamy c( L h, t ) = c( L + h, t ) + 2 fc 0 oraz


c( L h, t + k ) = c( L + h, t + k ) + 2 fc 0 dla t > 0. Po uwzgldnieniu tych zalenoci
ostatnie rwnanie przyjmie posta:
1+ a 1 a
c ( L h, t + k ) + c ( L, t + k ) = c ( L h , t ) + c( L, t ) 2 fc 0
a a

Dla kadego kroku czasowego otrzymuje si ukad L/h+1 rwna liniowych, z ktrych
mona wyznaczy wartoci ste C(t+k) (w chwili t+k) na podstawie ste C(t)
(w chwili t) i warunku brzegowego. Ukad ten mona rozwiza metod macierzow, ktra
jest w tym przypadku bardzo dogodna, gdy te same macierze wspczynnikw pozwalaj
na obliczenia w kolejnych krokach czasowych. Macierz wspczynnikw A jest macierz
trjdiagonaln o postaci:

1 + a
a 1 0 L 0 0 0
1+ a
1 2 1 L 0 0 0
a
1+ a
0 1 2 L 0 0 0
a
A= M M M L M M M
1+ a
0 0 0 L 2 1 0
a
0 1+ a
0 0 L 1 2 1
a
1+ a
0 0 0 L 0 1
a

Z kolei wyrazy wolne w tym ukadzie rwna s kombinacjami liniowymi wartoci ste
w chwili t ze wspczynnikami okrelonymi przez macierz B:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


240 Excel w obliczeniach naukowych i inynierskich

1 a
a 1 0 L 0 0 0 0
1 a
1 2 1 L 0 0 0 0
a
0 1 a
1 2 L 0 0 0 0
a
B= M M M L M M M M
1 a
0 0 0 L 2 1 0 0
a
0 1 a
0 0 L 1 2 1 0
a
1 a
0 0 0 L 0 1 2f
a

Macierz B jest podobna do macierzy A, ale zawiera dodatkow kolumn, ktra skada
si z samych zer, z wyjtkiem ostatniego wiersza, w ktrym wystpuje warto 2f wy-
nikajca z warunku brzegowego.

Macierze A i B mona wygenerowa za pomoc odpowiednich formu tablicowych,


nadajc im nazwy, na przykad TA i TB. Naley w tym celu zdefiniowa w Menederze
nazw kolejno:
n : = L/h+1
wn : = WIERSZ(ADR.POR("1:"&n))
wr : = TRANSPONUJ(WIERSZ(ADR.POR("1:"&n+1)))
TA : = JEELI(wn = TRANSPONUJ(wn); JEELI((wn = 1)+(wn = n); (1+a)/a;
2*(1+a)/a); JEELI(MODU.LICZBY(wn TRANSPONUJ(wn)) = 1; 1; 0))
TB : = JEELI(wn = wr; JEELI((wn = 1)+(wn = n); (1a)/a; 2*(1a)/a);
JEELI(MODU.LICZBY(wn wr) = 1; JEELI(wr = n+1; 2*f; 1); 0))

Aby obliczy kolumn wyrazw wolnych, naley pomnoy (macierzowo) tablic B przez
kolumn wartoci ste w chwili t. Kolumn t oznaczyem jako CT(t) (indeks T oznacza
transpozycj oryginalnie stenia byy zapisane w wierszu). Do tej kolumny na ostat-
nim miejscu dodano 1, ktre bdzie mnoone przez 2f i pozwoli uwzgldni warunek
brzegowy.

Mamy zatem ukad rwna zapisany w formie macierzowej:


A CT(t+k) = B CT(t)

Rozwizanie tego ukadu w zapisie macierzowym:


C(t+k) = (A1 (B CT(t)))T

Odpowiednia formua tablicowa ma posta:


= TRANSPONUJ(MACIERZ.ILOCZYN(MACIERZ.ODWR(TA);
MACIERZ.ILOCZYN(TB;TRANSPONUJ(wiersz_ste))))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 18. Rwnania rniczkowe czstkowe 241

Wiersz_ste oznacza tu zakres wierszowy obejmujcy stenia w chwili t oraz dodat-


kow komrk zawierajc liczb 1. Formu naley wprowadzi jako tablicow w tym
celu trzeba zaznaczy wczeniej kolejny wiersz jako miejsce na wynik i po wpisaniu for-
muy nacisn Ctrl+Shift+Enter. Nastpnie mona skopiowa cay wiersz ze steniami
w chwili t+k do nastpnych wierszy i w ten sposb obliczy stenia w kolejnych mo-
mentach czasu.

Obliczenia przeprowadzono przy kroku dugoci h = 0,2 cm i kroku czasu k = 300 s. Ko-
cow warto czasu suszenia ustalono metod interpolacji liniowej i otrzymano wynik
tk = 5614,0 s. Odpowiada to odparowaniu tkF = 5614,0/36000,1 = 0,156 g/cm2 z kadej
strony pyty, czyli 0,312 g/cm2 cznie.

Na rysunku 18.11 przedstawiono wyniki oblicze przeprowadzonych wedug opisanego


powyej schematu metody Cranka-Nicolsona. Wczeniej, na rysunku 18.10, pokazano
przykadow struktur tablic TA i TB, niezbdnych do wykonania oblicze t metod.

Rysunek 18.10. Tablice wspczynnikw TA i TB, umoliwiajce rozwizanie rwnania typu parabolicznego
za pomoc numerycznego schematu niejawnego Cranka-Nicolsona

Przy porwnywaniu rozwiza rwnania parabolicznego za pomoc schematw jawnego


i niejawnego naley zauway, e schemat jawny jest duo prostszy obliczeniowo. Jego
zbieno zaley jednak od wartoci parametru a. Gdy warto a zblia si do wartoci
granicznej 0,5, zmiany ste w kolejnych krokach czasowych staj si nierwnomierne.
Naley dobiera krok czasowy k proporcjonalnie do kwadratu kroku dugoci h2. Z kolei
w przypadku schematu niejawnego dugo kroku czasowego k nie ma wikszego zna-
czenia (w niewielkim stopniu wpywa na dokadno). Due znaczenie ma natomiast krok
dugoci h. Bd jest proporcjonalny w przyblieniu do h2, co oznacza, e aby uzyska
dokadne wyniki, naley powtrzy obliczenia przy zmniejszonej (najlepiej dwukrotnie)
dugoci kroku i przeprowadzi ekstrapolacj do h 0, tak jak to zostao omwione przy
okazji prezentacji cakowania numerycznego.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


242 Excel w obliczeniach naukowych i inynierskich

Rysunek 18.11. Rozkad ste stanowicy rozwizanie rwnania typu parabolicznego za pomoc
numerycznego schematu niejawnego Cranka-Nicolsona

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 19.
Konwersja liczb
i jednostek
Konwersja liczb
w rnych systemach pozycyjnych
Oprcz stosowanego powszechnie systemu dziesitnego do wyraania wielkoci liczbo-
wych mona uywa systemw pozycyjnych opartych na podstawie innej ni 10. Zna-
czenie praktyczne maj jedynie systemy na bazie potg dwjki, tzn. system dwjkowy
(binarny), semkowy (oktalny) i szesnastkowy (heksadecymalny). Systemy te s uywane
w elektronice, informatyce i dziaach pokrewnych przy przetwarzaniu informacji. System
dwjkowy wykorzystuje cyfry 0 i 1, system semkowy cyfry od 0 do 7, system szes-
nastkowy cyfry od 0 do 9 oraz litery od A do F, ktre zastpuj cyfry reprezentowane
dziesitnie przez wartoci od 10 do 15. W zapisie tych liczb nie stosuje si adnych przed-
rostkw ani przyrostkw wskazujcych na podstaw systemu. Liczby mog by co naj-
wyej uzupeniane wiodcymi zerami do wymaganej liczby pozycji.

Excel, poprzez zestaw 12 funkcji wchodzcych w skad dodatku Analysis Toolpak, umo-
liwia obustronn konwersj liczb cakowitych pomidzy trzema wymienionymi syste-
mami niedziesitnymi oraz systemem dziesitnym. Dodatek ten mia pocztkowo tylko
wersj anglojzyczn, do wersji 2003 musia by instalowany przez uytkownika, od wersji
2007 jest zintegrowany z arkuszem, a w wersji 2010 przeprowadzono jego lokalizacj,
tumaczc nazwy funkcji na jzyk polski. W wersji angielskiej nazwy wszystkich tych
funkcji s skonstruowane analogicznie skadaj si z dwu trzyliterowych czonw:
BIN, OCT, HEX oraz DEC, poczonych cyfr 2 (angielska maniera zastpowania przyimkw
cyframi o podobnie brzmicych nazwach to two). Mamy wic na przykad funkcj
OCT2DEC, ktra zamienia liczb semkow na dziesitn, i DEC2BIN, ktra dokonuje za-
miany liczby dziesitnej na binarn. W wersji spolszczonej (Excel 2010) nazwy s trzy-
czonowe, z czonami rozdzielonymi kropkami, skrajne czony to odpowiednio DWJK, SM,
SZESN i DZIES, czon rodkowy to NA. Bd wic funkcje SM.NA.DZIES, DZIES.NA.DWJK

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


244 Excel w obliczeniach naukowych i inynierskich

i inne o analogicznych nazwach. W polskiej wersji Excela 2010 nie mona ju wprowadza
nazw angielskich, ale pliki arkusza utworzone we wczeniejszych wersjach po wczytaniu
przez wersj 2010 s automatycznie konwertowane. Natomiast pliki zapisane w wersji 2010
daj si odczyta we wczeniejszych wersjach (pod warunkiem wyboru waciwego for-
matu zapisywanego pliku), ale nie s konwertowane do wersji angielskiej. Wskutek tego
w kadej komrce poddawanej edycji trzeba rcznie zmieni polskie nazwy funkcji na
angielskie.

Liczby szesnastkowe poddawane konwersji trzeba wpisywa w cudzysowie, jeeli za-


wieraj cyfry od A do F (chyba e korzystamy z okienka dialogowego Wstaw funkcj,
wtedy komputer sam uzupenia brakujce znaki cudzysowu). Liczby zawierajce tylko
cyfry od 0 do 9 mona wpisywa w cudzysowie lub bez niego. W zapisie liczb szesnast-
kowych litery zastpujce cyfry mog by zarwno mae, jak i due. Przy zamianie liczby
z jednego systemu na inny (z wyjtkiem zamiany na system dziesitny) mona okreli
liczb pozycji w wynikowej liczbie gdy liczba jest krtsza, jest z przodu uzupeniana
zerami, gdy jest zbyt duga, sygnalizowany jest bd #LICZBA!. Gdy liczba konwertowana
jest ujemna, liczba pozycji zostaje zignorowana i wywietlana jest pena 10-cyfrowa
reprezentacja wyniku, przy czym najstarszy bit to bit znaku jest to tzw. kod uzupe-
nienia do 2. Na przykad = DEC2HEX(284;4)(w wersji 2010 = DZIES.NA.SZESN(284;4)) daje
wynik "011C", = DEC2HEX(6500;3) daje kod bdu #LICZBA!, ale = DEC2HEX(6500;3) da
w wyniku "FFFFFFE69C". Liczby podlegajce konwersji nie mog by zbyt dugie. Ogra-
niczeniem jest 10 znakw liczby po konwersji. Dokadne zakresy liczb we wszystkich wa-
riantach konwersji s podane w pliku pomocy [15].

Operacje arytmetyczne mona wykonywa tylko na liczbach dziesitnych. Jeli


chcielibymy na przykad doda czy odj dwie liczby szesnastkowe, trzeba by je naj-
pierw zamieni na dziesitne, wykona operacj na reprezentacjach dziesitnych i dopie-
ro wynik przeksztaci z powrotem na liczb szesnastkow. Przykadowo aby obliczy
rnic midzy dwiema liczbami szesnastkowymi "A7CD" "28CC", musimy napisa
wyraenie:
= DEC2HEX(HEX2DEC("A7CD")HEX2DEC("28CC"))

W wersji 2010 odpowiednio: = DZIES.NA.SZESN(SZESN.NA.DZIES("A7CD")SZESN.NA.DZIES


("28CC")). Wynikiem bdzie liczba szesnastkowa "7F01".

Liczby powstae w wyniku konwersji, zapisane w systemach innych ni dziesitny, s


w komrkach wyrwnywane do prawej strony, tak jak teksty, ale nie s chronione przed ich
nieuprawnionym wykorzystaniem w innych operacjach jako liczb dziesitnych, co moe
prowadzi do zaskakujcych konsekwencji. Na przykad w wyniku operacji = DEC2HEX
(1000)+4 (w wersji 2010 = DZIES.NA.SZESN(1000)+4) otrzymamy 300000004! Jak to jest
moliwe? Wynikiem konwersji liczby 1000 na system szesnastkowy jest liczba 3E8. Liczba
ta w operacji dodawania zostaa potraktowana jako plogarytmiczny (naukowy) zapis
liczby 3108, co po dodaniu 4 dao przytoczony wynik. Naley zatem zachowa du
ostrono przy wykonywaniu operacji na liczbach bdcych wynikiem konwersji.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 19. Konwersja liczb i jednostek 245

Konwersja jednostek miar


W badaniach naukowych i praktyce inynierskiej stosuje si wiele systemw jednostek.
Obecnie standardem powszechnie obowizujcym w Polsce i w wielu innych krajach jest
system SI, wci jednak s w uyciu jednostki dawniej uywanego systemu CGS, jak
rwnie wiele jednostek tradycyjnych. Do tego dochodz jednostki systemw nieme-
trycznych, stosowane w krajach anglosaskich i wci spotykane w literaturze pochodzcej
z tych krajw.

Z przeliczaniem jednostek z jednego systemu na inny wi si trzy problemy:


a) uwzgldnienie relacji midzy jednostkami podstawowymi w obu systemach,
b) uwzgldnienie przedrostkw oznaczajcych jednostki wielokrotne
i podwielokrotne,
c) uwzgldnienie jednostek zoonych bdcych iloczynami lub ilorazami
jednostek podstawowych.

W Excelu przeliczanie jednostek wspomaga funkcja CONVERT (w wersji 2010 KONWERTUJ),


ktra wchodzi w skad pakietu Analysis Toolpak. We wczeniejszych wersjach Excela do-
datek ten naleao zainstalowa, a nastpnie uaktywni, od wersji 2007 jest ju integraln
czci pakietu. Funkcja CONVERT (KONWERTUJ) wspomaga dwa pierwsze z wymienionych
wyej problemw konwersji, nie uwzgldnia jednak trzeciego, pozostawiajc to uytkow-
nikowi. Katalog jednostek obsugiwanych przez t funkcj jest do obszerny, ale niestety
niepeny i zamknity. Stosuje on te nazwy jednostek nie zawsze zgodne z naszymi przy-
zwyczajeniami. Dlatego podczas korzystania z tej funkcji trzeba czsto zaglda do jej
opisu w pliku pomocy Excela [15] lub choby do spisu jednostek zawartego w tej ksice.

Funkcja CONVERT (KONWERTUJ) przeksztaca liczb mianowan z jednego systemu miar na


inny. Funkcja ta uywa nastpujcej skadni:
CONVERT(liczba; jednostka_wejciowa; jednostka_wynikowa)
lub
KONWERTUJ(liczba; jednostka_wejciowa; jednostka_wynikowa)

Liczba to warto w jednostkach_wejciowych podlegajca przeksztaceniu.

Jednostka_wynikowa to jednostka, ktra jest mianem wyniku dziaania funkcji. Jednostki


wejciowa i wynikowa musz mie cile okrelon form tekstow. W przypadku nie-
ktrych jednostek dopuszczalne s dwie wersje skrtw. Zestawienie akceptowanych przez
funkcj CONVERT (KONWERTUJ) jednostek podstawowych przedstawia ponisza tabela 19.1
(skrty nazw jednostek nie zostay spolonizowane).

Nazwy jednostek s tekstami zapisanymi dokadnie w takiej postaci jak w tablicy. W tym
przypadku mae i due litery s rozrniane. Przeliczanie jednostek ma sens tylko w ob-
rbie jednej grupy.

Kada metryczna jednostka_wejciowa lub jednostka_wynikowa moe by poprzedzona


skrtem przedrostka oznaczajcym wielokrotno lub podwielokrotno. Mona stosowa
skrty wymienione w tabeli 19.2.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


246 Excel w obliczeniach naukowych i inynierskich

Tabela 19.1. Wykaz jednostek podlegajcych konwersji za pomoc funkcji CONVERT (KONWERTUJ)
Masa Czas
Nazwa jednostki Skrt Nazwa jednostki Skrt
gram "g" rok "yr"
funt masy (handlowy) "lbm" dzie "day"
uncja masy (handlowa) "ozm" godzina "hr"
dalton, j.m.a. "u" minuta "mn"
*)
slug "sg" sekunda "sec"
Odlego Sia
Nazwa jednostki Skrt Nazwa jednostki Skrt
metr "m" niuton "N"
cal "in" dyna "dyn" lub "dy"
stopa "ft" funt siy "lbf"
jard "yd" Cinienie
angstrem "ang" Nazwa jednostki Skrt
1
cycero, pica ( /72) "Pica" paskal "Pa" lub "p"
mila ldowa "mi" atmosfera "atm" lub "at"
mila morska "Nmi" mm supa rtci "mmHg"
Energia Pojemno
Nazwa jednostki Skrt Nazwa jednostki Skrt
dul "J" yeczka "tsp"
erg "e" yka stoowa "tbs"
elektronowolt "eV" lub "ev" litr "l" lub "lt"
watogodzina "Wh" lub "wh" uncja objtoci "oz"
koniogodzina "HPh" lub "hh" kubek "cup"
kaloria (midzynarodowa) "cal" pinta (pkwarta) amerykaska "us_pt" lub "pt"
kaloria termodynamiczna "c" pinta (pkwarta) brytyjska "uk_pt"
stopofunt "flb" kwarta "qt"
brytyjska jednostka ciepa "BTU" lub "btu" galon "gal"
Temperatura Moc
Nazwa jednostki Skrt Nazwa jednostki Skrt
stopie Celsjusza "C" lub "cel" wat "W" lub "w"
stopie Fahrenheita "F" lub "fah" angielski ko parowy "HP" lub "h"
stopie Kelvina "K" lub "kel"
Pole magnetyczne
Nazwa jednostki Skrt
tesla "T"
gaus "ga"
*)
Mao znana w Polsce jednostka masy, definiowana jako 1 lbf*s2/ft 14,594 kg

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 19. Konwersja liczb i jednostek 247

Tabela 19.2. Dopuszczalne skrty jednostek wielokrotnych i podwielokrotnych podlegajcych konwersji


Przedrostek Mnonik Skrt Przedrostek Mnonik Skrt
eksa 1E+18 "E" atto 1E18 "a"
peta 1E+15 "P" femto 1E15 "f"
tera 1E+12 "T" piko 1E12 "p"
giga 1E+09 "G" nano 1E09 "n"
mega 1E+06 "M" mikro 1E06 "u"
kilo 1E+03 "k" mili 1E03 "m"
hekto 1E+02 "h" centy 1E02 "c"
deka 1E+01 "da" decy 1E01 "d"

Jeli jednostka nie istnieje, nie czy si ze skrtem przedrostka jednostki miary, albo je-
li jednostki znajduj si w rnych grupach, funkcja CONVERT (KONWERTUJ) podaje warto
bdu #N/D!.

Proste przykady konwersji:


W dalszej czci tego rozdziau uywam angielskiej nazwy funkcji CONVERT. Uytkownicy
Excela w wersji 2010 powinni w tym miejscu wpisa KONWERTUJ.
CONVERT(2,0;"in";"cm") jest rwne 5,08
CONVERT(50; "C";"F") jest rwne 122
CONVERT(2,5;"ft";"sec") jest rwne #N/D!

Konwersja jednostek zoonych


W przypadku konwersji jednostek zoonych naley podda konwersji kad jednostk
skadow, przy czym warto liczbow umieszcza si z reguy przy pierwszym wywoa-
niu funkcji CONVERT, a przy nastpnych wpisuje si w polu liczby warto 1.

W krajach anglosaskich czsto stosuje si jednostk cinienia o nazwie psi. Nie ma jej na
licie jednostek funkcji CONVERT. Odpowiada ona funtowi siy na cal kwadratowy. Chcemy
przeliczy 50 psi na atmosfery. Naley przeliczy funty siy na niutony, cale na metry,
a nastpnie podnie je do kwadratu. Wynik otrzymamy w paskalach. W kocu paskale
przeliczamy na atmosfery.
= CONVERT(50;"lbf";"N")/CONVERT(1;"in";"m")^2 daje wynik 344738.
= CONVERT(344738;"Pa";"atm") daje wynik 3,402.

Strumie energii cieplnej w krajach anglosaskich jest wyraany czsto w jednostkach


BTU/(hr*ft2). Chcemy przeliczy strumie 4000 BTU/(hr*ft2) na jednostki ukadu SI:
kW/m2. Musimy przeliczy BTU na kilodule, godzin na sekundy (po podzieleniu bd
kW) i cao podzieli na przelicznik stp na metry podniesiony do kwadratu.
= CONVERT(4000;"BTU";"kJ")/CONVERT(1;"hr";"sec")/CONVERT(1;"ft";"m")^2
daje wynik 12,6184.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


248 Excel w obliczeniach naukowych i inynierskich

Szczegln ostrono trzeba zachowa przy przeliczaniu jednostek zwizanych z tem-


peratur. Musimy mie wiadomo, czy mamy do czynienia z temperatur, czy z rnic
temperatur. Na przykad temperatura 200F odpowiada po konwersji 93,3C. Taki wynik
da nam uycie funkcji = CONVERT(200;"F";"C"). Ale rnica temperatur 200F to jest po
konwersji 111,1C. Taki wynik da nam na przykad wyraenie = CONVERT(200;"F";"C")
CONVERT(0;"F";"C"). Wynika to std, e w rnych skalach temperatur rni si nie tyl-
ko wielkoci stopnia, ale te punkty pocztkowe skali. Z reguy jeeli w jednostkach
zoonych wystpuje jednostka temperatury inna ni K (kelwin), odnosi si ona do rnicy
temperatur.

Przeliczymy teraz wspczynnik wymiany ciepa 80 BTU/(hr*ft2*F) na jednostki stoso-


wane w Polsce: W/(m2*C).
= CONVERT(80;"BTU";"J")/CONVERT(1;"hr";"sec")/CONVERT(1;"ft";"m")^2/
(CONVERT(1;"F";"C")CONVERT(0;"F";"C")) daje wynik 454,3.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 20.
Liczby i funkcje zespolone
Arkusz kalkulacyjny Excel opracowano z myl o obliczeniach na liczbach rzeczywistych
(a cilej wymiernych). Z czasem jednak w celu zaspokojenia potrzeb obliczeniowych
wiata nauki i techniki wprowadzono dodatek Analysis Toolpak, a wraz z nim implemen-
tacj oblicze w zakresie liczb zespolonych. Niestety, implementacja ta jest daleka od
doskonaoci i trudno raczej poleca j do bardziej zoonych oblicze. Liczby zespolone
s w niej traktowane jako dane tekstowe o cile okrelonej strukturze, a wszystkie opera-
cje na liczbach zespolonych wymagaj uycia odpowiednich funkcji. Ze wzgldu na uycie
typu tekstowego liczb zespolonych nie da si formatowa tak jak liczb rzeczywistych.
Aby mona byo wywietli lub wydrukowa wyniki oblicze w estetycznej i czytelnej
formie, konieczne jest konwertowanie liczby zespolonej do pary liczb rzeczywistych,
a potem z powrotem do liczby zespolonej.

Funkcje operujce na liczbach zespolonych przyjmuj tylko pojedyncze dane w postaci


staej, adresu lub nazwy oznaczajcej pojedyncz komrk. Nie akceptuj nazw odnosz-
cych si do obszarw ani argumentw w postaci tablic.

Niezalenie jednak od tych ogranicze i niedogodnoci Excel umoliwia wykonanie pod-


stawowych operacji na liczbach zespolonych w zakresie wystarczajcym do najbardziej
typowych zastosowa.

Do wersji Excela 2007 funkcje z grupy tzw. funkcji inynierskich, ktra obejmuje wszyst-
kie funkcje operujce na argumentach zespolonych, miay nazwy angielskojzyczne.
W Excelu 2010 przetumaczono nazwy tych funkcji na jzyki narodowe i w zwizku
z tym w polskiej wersji Excela naley si posugiwa polskimi nazwami. Pliki arkusza
utworzone we wczeniejszych wersjach Excela po wczytaniu przez wersj 2010 s auto-
matycznie konwertowane. Natomiast pliki zapisane w wersji 2010 daj si odczyta we
wczeniejszych wersjach (pod warunkiem wyboru waciwego formatu zapisywanego
pliku), ale nie s konwertowane do wersji angielskiej. Wskutek tego w kadej komrce
poddawanej edycji trzeba rcznie zmieni polskie nazwy funkcji na angielskie.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


250 Excel w obliczeniach naukowych i inynierskich

Podstawowe wzory i definicje


Liczb zespolon nazywamy liczb z, ktr mona przedstawi w postaci sumy a+bi,
gdzie a i b s dowolnymi liczbami rzeczywistymi, a i jest tzw. jednostk urojon, ktra
spenia rwnanie i2 = 1. Liczby a i b nazywamy odpowiednio czci rzeczywist i cz-
ci urojon liczby z. Zapisujemy to symbolicznie w postaci rwnoci:
a = Re(z) b = Im(z)

Liczb zespolon moemy wic utworzy z pary liczb rzeczywistych. W Excelu do utwo-
rzenia liczby zespolonej wykorzystuje si funkcj:
COMPLEX(cz_rzeczywista; cz_urojona; jednostka_urojona)

W wersji 2010 funkcja ta nosi nazw LICZBA.ZESP.

Pierwszy i drugi argument odpowiadaj liczbom a i b algebraicznej postaci liczby zespo-


lonej, natomiast trzeci argument jest opcjonalny i oznacza wybran jednostk urojon "i"
lub "j" (jeli si go pominie, przyjmuje si "i").

W arkuszu kalkulacyjnym rwnie istniej funkcje rozdzielajce liczb zespolon


na cz rzeczywist i urojon. S to odpowiednio funkcje:
IMREAL(liczba_zespolona) i IMAGINARY(liczba_zespolona)

W wersji 2010 ich nazwy to odpowiednio CZ.RZECZ.LICZBY.ZESP i CZ.UROJ.LICZBY.ZESP.

Argumentem kadej z tych funkcji jest liczba_zespolona podana w postaci tekstowej


"a+bi" lub "a+bj". Pena liczba_zespolona (z niezerow czci urojon) wprowadzana
do formuy jako staa musi by ujta w cudzysw (chyba e korzystamy z okienka dialo-
gowego Wstaw funkcj, wtedy komputer sam go uzupeni). Gdy jako jednego z argumen-
tw funkcji chcemy uy liczby rzeczywistej, moemy uj j w cudzysw, ale nie jest to
konieczne. Jeeli jednak wprowadzamy sam liczb zespolon do komrki, nie uywamy
cudzysowu. Jednostka urojona moe by oznaczana liter "i" lub "j". Musi to by maa
litera i musi by zapisana bezporednio za liczb b. Niedopuszczalne jest wstawianie spacji
ani adnych innych znakw pomidzy liczb a jednostk urojon. Symbol jednostki uro-
jonej ma dwie wersje, gdy w matematyce stosuje si z reguy liter "i", natomiast w na-
ukach technicznych liter "j", gdy "i" oznacza zwykle natenie prdu.

Jeli liczba zespolona z = a+bi, to liczb zespolon z* = abi rnic si tylko znakiem
czci urojonej nazywamy liczb sprzon do liczby z. Liczby sprzone maj t wa-
sno, e ich iloczyn jest liczb rzeczywist. Istotnie zz* = (a+bi)(abi) = a2b2i2 = a2+b2.
Ponadto jeli liczba zespolona z jest pierwiastkiem wielomianu o wspczynnikach rze-
czywistych, to liczba do niej sprzona te jest pierwiastkiem tego wielomianu.

Do wyznaczania liczby sprzonej suy w Excelu funkcja


IMCONJUGATE(liczba_zespolona)

W Excelu 2010 obowizuje nazwa SPRZ.LICZBY.ZESP.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 20. Liczby i funkcje zespolone 251

Interpretacja geometryczna
liczby zespolonej
i jej posta trygonometryczna
Liczb zespolon z mona zinterpretowa geometrycznie jako punkt w ukadzie wsp-
rzdnych, w ktrym cz rzeczywist liczby z odoono na osi x, a cz urojon na osi y.
Alternatywnie liczba zespolona moe by przedstawiona jako wektor czcy rodek
ukadu wsprzdnych z punktem o wsprzdnych (a, b). Pooenie punktu na paszczy-
nie moemy okreli, podajc wsprzdne kartezjaskie (a, b) lub wsprzdne biegunowe
(r, ), ktre oznaczaj odpowiednio odlego od pocztku ukadu wsprzdnych oraz kt
pomidzy osi x (rzeczywist) a wektorem czcym rodek ukadu wsprzdnych z tym
punktem. Dlatego te liczba zespolona moe by okrelona wsprzdnymi biegunowymi.
Wsprzdne te s powizane zalenociami:

r = a 2 + b2 a = r cos
b
= arc tg b = r sin
a

Liczba zespolona z zapisana we wsprzdnych biegunowych ma posta:


z = a+bi = r(cos +isin )

Tak posta liczby zespolonej nazywamy postaci trygonometryczn.

Dugo promienia (odlego) r nazywamy moduem liczby zespolonej, a kt jej


argumentem. Modu liczby zespolonej z oznacza si czsto symbolem |z|, a argument
symbolem Arg(z). Do wyznaczania moduu i argumentu liczby zespolonej w Excelu
su funkcje:
IMABS(liczba_zespolona) oraz IMARGUMENT(liczba_zespolona)

W wersji 2010 ich nazwy to odpowiednio MODU.LICZBY.ZESP i ARG.LICZBY.ZESP.

Majc dany modu i argument liczby zespolonej, mona z niej utworzy klasyczn
(algebraiczn) posta za pomoc funkcji:
COMPLEX(modu*SIN(argument); modu*COS(argument); jednostka_urojona)

W wersji 2010 odpowiednio:


LICZBA.ZESP(modu*SIN(argument); modu*COS(argument); jednostka_urojona)

Ze wsprzdnymi biegunowymi wie si jednak pewna niedogodno argument mona


zwikszy lub zmniejszy o dowoln cakowit wielokrotno 2 i ten nowy argument
bdzie reprezentowa t sam liczb zespolon, zatem argument liczby zespolonej jest
okrelony niejednoznacznie. Przyjto, e warto argumentu zawarta w przedziale (, ]
jest wartoci gwn tego argumentu. Funkcje Excela podaj zawsze warto gwn ar-
gumentu i wartoci gwne tych funkcji zalenych od argumentu, ktre nie s jednoznaczne.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


252 Excel w obliczeniach naukowych i inynierskich

Wzr Eulera i wykadnicza posta


liczby zespolonej
Podstawowym wzorem, na ktrym opiera si rachunek liczb zespolonych, jest tzw. wzr
Eulera, wicy ze sob funkcj wykadnicz i funkcje trygonometryczne. Ma on posta:
ei = cos +isin

Rwno ta pozwala na zapisanie liczby zespolonej w jeszcze jednej postaci tzw.


postaci wykadniczej:
z = a+bi = rei

Liczby zespolone sprzone maj taki sam modu, a ich argumenty gwne rni si zna-
kiem. W interpretacji geometrycznej punkty lub wektory reprezentujce liczby sprzone
s pooone symetrycznie wzgldem osi odcitych (osi rzeczywistej).

Rwno liczb zespolonych


Dwie liczby zespolone s rwne, jeeli maj rwne czci rzeczywiste i rwne czci ze-
spolone. W zapisie wykadniczym lub trygonometrycznym liczby zespolone s rwne, gdy
maj rwne moduy i argumenty rwne lub rnice si o cakowit wielokrotno 2.
Dwie liczby zespolone mog by rwne bd nierwne w przypadku tych liczb nie
okrela si pojcia wikszy czy mniejszy.

Dziaania arytmetyczne
na liczbach zespolonych
Dziaania arytmetyczne na liczbach zespolonych wykonuje si tak jak na dwumianach
typu a+bx, pamitajc o tym, e i2 = 1. Przykadowo:
z1+z2 = (a1+b1i)+(a2+b2i) = (a1+a2)+(b1+b2) i
z1 a +bi (a + b i )(a 2 b2 i ) a1 a 2 + b1b2 a 2 b1 a1b2
= 1 1 = 1 1 = + i
z 2 a 2 + b2 i (a 2 + b2 i )(a 2 b2 i ) a 22 + b22 a 22 + b22

W przypadku dzielenia mnoymy licznik i mianownik przez liczb sprzon z mianow-


nikiem, aby wyeliminowa z mianownika cz urojon. W Excelu do wykonania dziaa
na liczbach zespolonych trzeba uywa specjalnych funkcji; dodawanie i mnoenie mona
wykona na wielu argumentach, odejmowanie i dzielenie tylko na dwch. Argumenty
musz by stosowane w standardowej tekstowej postaci algebraicznej. Zamiast argumentw
zespolonych mona uy liczb rzeczywistych, nie mona natomiast uywa adnych ope-
ratorw arytmetycznych do wyniku funkcji (ktry jest tekstem). Skadnia funkcji su-
cych do wykonania czterech podstawowych dziaa:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 20. Liczby i funkcje zespolone 253

dodawanie IMSUM(liczba_zespolona1; liczba_zespolona2;...)


Polska nazwa funkcji w Excelu 2010: SUMA.LICZB.ZESP
odejmowanie IMSUB(liczba_zespolona1; liczba_zespolona2)
Polska nazwa funkcji w Excelu 2010: RN.LICZB.ZESP
mnoenie IMPRODUCT(liczba_zespolona1; liczba_zespolona2;...)
Polska nazwa funkcji w Excelu 2010: ILOCZYN.LICZB.ZESP
dzielenie IMDIV(liczba_zespolona1; liczba_zespolona2)
Polska nazwa funkcji w Excelu 2010: ILORAZ.LICZB.ZESP

Dodawanie i odejmowanie najatwiej wykonuje si na liczbach zespolonych w postaci


algebraicznej, natomiast do mnoenia i dzielenia najdogodniejsza jest posta wykadnicza.
Mamy bowiem:
z1 z2 = r1ei1r2ei2 = r1 r2 ei(1+2)

Przy mnoeniu liczb zespolonych w postaci wykadniczej lub trygonometrycznej moduy


czynnikw naley pomnoy, a argumenty doda. Analogicznie przy dzieleniu modu
dzielnej trzeba podzieli przez modu dzielnika, a argumenty odj. W Excelu nie ma jednak
osobnych funkcji wspierajcych dziaania na liczbach zespolonych w postaci wykadniczej.

Potgowanie i pierwiastkowanie
Podobnie jak mnoenie i dzielenie, operacje potgowania i pierwiastkowania najwy-
godniej wykonywa na liczbach zespolonych w postaci wykadniczej:
zn = (rei)n = rnein = rn(cos n+isin n)

Przy potgowaniu modu liczby podnosi si do potgi n, a argument mnoy przez n.


Jeeli po wykonaniu tej operacji warto argumentu wyjdzie poza przedzia (, ], mona
doda lub odj 2 lub jego wielokrotno, aby otrzyma warto gwn argumentu.
Mona te zastosowa konstrukcj ACOS(COS(n*theta)) lub ASIN(SIN(n*theta)), a wic
zadanie okrelenia wartoci gwnej argumentu powierzy Excelowi.

Obliczenie pierwiastka z liczby zespolonej opiera si w zasadzie na tym samym wzorze


obliczenie pierwiastka n-tego stopnia jest rwnowane podniesieniu liczby do potgi
1/n. O ile jednak operacja potgowania bya jednoznaczna dawaa zawsze jeden wynik,
o tyle pierwiastkowanie nie jest jednoznaczne. Trzeba bowiem pamita o niejednoznacz-
noci argumentu liczby zespolonej mona go zwikszy o dowoln cakowit wielo-
krotno 2. Przy obliczaniu pierwiastka n-tego stopnia z liczby zespolonej o argumencie
otrzymamy n rnych wartoci pierwiastka o argumentach rwnych:
+ 2 + 4 + 2(n 1)
, , , ... ,
n n n n

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


254 Excel w obliczeniach naukowych i inynierskich

Wynik pierwiastkowania mona zatem zapisa w postaci:


+ 2k + 2k
n
z = z 1 / n = r 1 / n cos + i sin
n n
gdzie k = 0, 1, 2, , n1.

Jeli dysponujemy algebraiczn form liczby zespolonej, potgowanie moemy wykona


w Excelu za pomoc funkcji:
IMPOWER(liczba_zespolona; liczba)

W polskiej wersji Excela 2010 funkcja ta nosi nazw POTGA.LICZBY.ZESP. Podnosi ona
liczb_zespolon do potgi liczba, ktra moe by dowoln liczb rzeczywist (wymier-
n), take uamkow. Jednak w wyniku otrzymuje si zawsze tylko jedn warto, odpo-
wiadajc k = 0.

W przypadku uamkowych wykadnikw pozostae pierwiastki naley obliczy samo-


dzielnie, na przykad tak: kady kolejny pierwiastek otrzymuje si przez pomnoenie
poprzedniego pierwiastka przez liczb
2 2
cos + i sin
n n
czyli w notacji Excela: COMPLEX(COS(2*PI()/n); SIN(2*PI()/n))
lub w wersji 2010: LICZBA.ZESP(COS(2*PI()/n); SIN(2*PI()/n)).

Zamy, e chcemy obliczy pierwiastki szstego stopnia (n = 6) z liczby_zespolonej.

Obliczamy krok z jednego ze wzorw podanych powyej.

Kolejne pierwiastki maj warto:


dla k = 0 IMPOWER(liczba_zespolona; 1/n) w komrce np. C5
lub POTGA.LICZBY.ZESP(liczba_zespolona; 1/n)
dla k = 1 IMPRODUCT(C5; krok) w komrce C6
lub ILOCZYN.LICZB.ZESP(C5; krok)
itd.
dla k = 5 IMPRODUCT(C9; krok) w komrce np. C10
lub ILOCZYN.LICZB.ZESP(C9; krok)

Do obliczenia pierwiastka kwadratowego z liczby zespolonej w zasadzie wystarczy funkcja


IMPOWER (lub POTGA.LICZBY.ZESP), ale tak jak w przypadku liczb rzeczywistych ist-
nieje te funkcja przeznaczona specjalnie do tego: IMSQRT(liczba_zespolona) w wersji
2010 pod nazw: PIERWIASTEK.LICZBY.ZESP. Podobnie jak funkcja IMPOWER (POTGA.
LICZBY.ZESP), daje ona w wyniku tylko jeden pierwiastek. Drugi pierwiastek uzyskamy,
mnoc pierwszy przez 1: IMPRODUCT(IMSQRT(liczba_zespolona); 1), w wersji 2010:
ILOCZYN.LICZB.ZESP(PIERWIASTEK.LICZBY.ZESP(liczba_zespolona); 1).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 20. Liczby i funkcje zespolone 255

Funkcje elementarne
z argumentem zespolonym
Dziedzin funkcji elementarnych, takich jak funkcja wykadnicza, logarytmiczna,
funkcje trygonometryczne i im pokrewne, mona rozszerzy na liczby zespolone.

Z wzoru Eulera wynika na przykad, e:


ez = ea+bi = ea (cos b+isin b)

Powyszy wzr okrela jednoznacznie warto funkcji wykadniczej dla argumentu zespo-
lonego. W arkuszu obliczenia te wykonuje funkcja IMEXP(liczba_zespolona) w wersji
2010 wystpujca pod nazw: EXP.LICZBY.ZESP. Cz urojona wykadnika jest traktowana
jak kt wyraony w mierze ukowej (w radianach), ktry staje si argumentem funkcji
trygonometrycznych. Mamy zatem |ez| = ea i = b.

Ze wzgldu na to, e funkcja ln jest funkcj odwrotn do funkcji wykadniczej, musi


zachodzi zaleno:
eln z = z
z czego wynika, e
ln z = ln |z|+i Arg(z) = ln |z|+i (+2k)

k jest dowoln liczb cakowit,

jest argumentem gwnym liczby zespolonej z.

Logarytm zespolony jest okrelony z dokadnoci do staej k. Dla k = 0 otrzymuje si


warto gwn logarytmu i t warto oblicza funkcja IMLN(liczba_zespolona). W wersji
2010 funkcja ta nosi nazw: LN.LICZBY.ZESP.

W zakresie liczb zespolonych mona logarytmowa dowolne liczby rzeczywiste lub ze-
spolone z wyjtkiem zera, w tym liczby rzeczywiste ujemne. Na przykad warto gwna
ln(1) = i. Oprcz logarytmu naturalnego w Excelu dostpne s funkcje obliczajce loga-
rytmy przy podstawie 2 i 10. S to odpowiednio funkcje: IMLOG2(liczba_zespolona)
i IMLOG10(liczba_zespolona). W wersji 2010 nadano im nazwy: LOG2.LICZBY.ZESP
i LOG10.LICZBY.ZESP.

Logarytmy o innych podstawach (w tym zespolonych) oblicza si na podstawie znanego


wzoru na zmian podstawy logarytmu:
ln z
log w z = dla z0
ln w

Wrd funkcji zmiennej zespolonej znajdziemy jeszcze uoglnione funkcje trygono-


metryczne sinus i cosinus w postaci:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


256 Excel w obliczeniach naukowych i inynierskich

IMSIN(liczba_zespolona) i IMCOS(liczba_zespolona). W wersji 2010 funkcje te nosz


nazwy: SIN.LICZBY.ZESP i COS.LICZBY.ZESP.

Wartoci tych funkcji definiuje si wedug wzorw:


e zi e zi e zi + e zi
sin z = cos z =
2i 2

Po rozdzieleniu czci rzeczywistych i urojonych wartoci funkcji oblicza si ze wzorw:


sin z = sin(a + bi ) = sin a cosh b + i cos a sinh b
cos z = cos(a + bi ) = cos a cosh b i sin a sinh b

Format wywietlania liczb zespolonych


W przypadku oblicze wykonywanych na liczbach zespolonych w Excelu pewne utrud-
nienie stanowi brak moliwoci okrelenia formatu wywietlanych wynikw. Wartoci
zespolone, bdce wynikiem oblicze, s tekstami zoonymi z reprezentacji czci rze-
czywistej i zespolonej w formacie Oglnym z pen dokadnoci obliczeniow, czyli
15 cyfr znaczcych. Wyniki wywietlane z tak dokadnoci s mao czytelne i zajmuj
duo miejsca na ekranie, jednak jeeli s to wyniki porednie, ktre posu do dalszych
oblicze, nie powinny by zaokrglane.

Mona sobie z tym problemem poradzi moe w niezbyt elegancki, ale skuteczny sposb:
generujc dwie wersje wyniku jedna, dokadna, bdzie suy do dalszych oblicze,
druga po zaokrgleniu bdzie suy tylko do prezentacji (wywietlania, wydruku). Funkcja
suca do zaokrglenia wyniku moe mie posta:

COMPLEX(ZAOKR(IMREAL(wynik);3); ZAOKR(IMAGINARY(wynik);3)). W wersji 2010 nalea-


oby uy formuy: LICZBA.ZESP(ZAOKR(CZ.RZECZ.LICZBY.ZESP(wynik);3); ZAOKR(CZ.UROJ.
LICZBY.ZESP (wynik);3)).

W tym przypadku obie czci liczby zespolonej s zaokrglone do trzech miejsc po


przecinku.

Komrki z dokadnymi wynikami oblicze naley ukry. Mona to zrobi albo ukrywajc
ca kolumn zawierajc te wyniki (menu Format/Kolumna/Ukryj, a od wersji 2007
Narzdzia gwne/Komrki/Format/Widoczno/Ukryj i odkryj/Ukryj kolumny), albo
formatujc te komrki z wykorzystaniem formatu ukrywajcego zawarto. W tym celu
naley zaznaczy komrki, ktrych zawartoci nie chcemy wywietla w arkuszu, otwo-
rzy menu Format/Komrki/Liczby (od wersji 2007 Narzdzia gwne/Komrki/Format/
Formatuj komrki), z listy Kategorii wybra Niestandardowe i w okienku Typ wpro-
wadzi ;;; (trzy redniki). Takie oznaczenie formatu komrki powoduje ukrycie jej za-
wartoci. Po naciniciu OK zawarto zaznaczonych komrek bdzie widoczna tylko
w polu edycji (na pasku formuy).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 20. Liczby i funkcje zespolone 257

Opisany sposb zastosowano przy obliczaniu pierwiastkw szstego stopnia z liczby 23i.
Wygld arkusza pokazano na rysunkach 20.1 i 20.2. Dokadne wyniki oblicze znajduj
si w kolumnie C, ale s wywietlane w kolumnie B po zaokrgleniu.

Rysunek 20.1.
Obliczenia pierwiastkw
szstego stopnia z liczby
zespolonej. Wyniki
s wywietlane
po zaokrgleniu.
Wygld ekranu
z Excela w wersji 2000

Rysunek 20.2.
Obliczenia pierwiastkw
szstego stopnia
z liczby zespolonej
wykonane w Excelu
w wersji 2010. Wyniki
s wywietlane po
zaokrgleniu

Zastosowanie liczb zespolonych


w elektrotechnice
Chyba najbardziej znanym zastosowaniem liczb zespolonych jest uycie ich do opisu
obwodw elektrycznych prdu zmiennego. Zmienne przebiegi elektryczne (prdy,
napicia) maj najczciej charakter sinusoidalny i mog by opisane funkcjami za-
lenymi od czasu, na przykad:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


258 Excel w obliczeniach naukowych i inynierskich

I(t) = I0sin(t+)
gdzie I oznacza natenie prdu, t czas, I0 amplitud, czyli warto maksymaln na-
tenia prdu, tzw. czsto koow, powizan z czstotliwoci prdu, faz
pocztkow, ktra determinuje chwilow warto prdu na pocztku pomiaru, gdy t = 0.

Napicie U(t) bdzie opisane podobnym wzorem, z tym e faza pocztkowa moe mie
inn warto, prd i napicie mog si rni w fazie. Obliczenia dotyczce obwodw
elektrycznych wymagaj sumowania, mnoenia, rniczkowania i cakowania funkcji
opisujcych przebiegi elektryczne. Wikszo z tych operacji atwiej wykona na funkcjach
wykadniczych ni na trygonometrycznych. Korzystajc z piknego wzoru Eulera i z faktu,
e rwno liczb zespolonych wymaga, aby czci rzeczywiste i zespolone byy rwne nie-
zalenie, mona przyrwna interesujcy nas przebieg elektryczny do czci rzeczywistej
albo czci urojonej liczby zespolonej (t drug cz trzeba stosownie uzupeni, ale uzy-
skane tam wyniki mog by dla nas bez znaczenia). Utworzon liczb zespolon mona za-
pisa w notacji wykadniczej i uzyska zespolon reprezentacj przebiegu elektrycznego.

Wzr Eulera (zapisany z liter j jako symbolem jednostki urojonej taki zapis dominuje
w elektrotechnice)
ej = cos +jsin
mnoymy obustronnie przez I0 i za podstawiamy t+. Otrzymujemy:
I = I0ej(t+) = I0cos(t+)+j I0sin(t+)

Podkrelone I symbolizuje zespolon reprezentacj prdu I, ktrego cz urojona zawiera


faktyczny przebieg czasowy natenia prdu. Tak zapisany prd mona atwo na przykad
zrniczkowa wzgldem czasu:
dI
= jI 0e j (t + ) = j I
dt

Reprezentacj zespolon mona wykorzysta do atwego obliczania impedancji obwodu


zoonego z rezystancji (oporu omowego) R, reaktancji pojemnociowej XC = 1/(jC)
= j/(C) oraz reaktancji indukcyjnej XL = jL. Przy poczeniu szeregowym obo-
wizuje zasada sumowania skadowych, tzn. impedancja zastpcza obwodu Z = Xi,
gdzie Xi = R, XC, XL. Przy poczeniu rwnolegym odwrotno impedancji zastpczej
jest sum odwrotnoci impedancji skadowych:
1 1
Z
= X i i

W charakterze przykadu rozpatrzymy obwd zoony z szeciu elementw, przed-


stawiony na rysunku 20.3.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 20. Liczby i funkcje zespolone 259

Rysunek 20.3.
Schemat obwodu
elektrycznego,
dla ktrego naley
wyznaczy obwd
zastpczy

Impedancja w pierwszej (grnej) gazi obwodu wyrazi si wzorem:


1
Z1 = + R2 .
1 1
+
R1 + X C1 X L1

Impedancja drugiej (dolnej) gazi obwodu jest rwna:


Z2 = XC2+XL2

Naley znale moliwie prosty obwd zastpczy dla powyszego obwodu. Parame-
try elementw obwodu s takie jak poniej:
R1 = 10 , R2 = 5 , C1 = 100 F, C2 = 50 F, L1 = 20 mH, L2 = 70 mH,
= 100 s1.
|XC1| = 1/(C1) = 1001 |XC2| = 1/(C2) = 2001
|XL1| = L1 = 2 |XL2| = L2 = 7 .

Po wykonaniu wszystkich oblicze otrzymujemy w wyniku Z = 8,063+8,022j


|Z| = 11,374

Impedancja obejmuje skadow omow 8,063 i indukcyjn 8,022 , co odpowiada


indukcyjnoci 25,534 mH. Oba te elementy musz by poczone szeregowo.

Alternatyw jest poczenie rwnolege rezystancji R = 16,044 i reaktancji induk-


cyjnej XL = 16,126 , co odpowiada indukcyjnoci 51,331 mH.

Na rysunkach 20.4 i 20.5 przedstawiono wygld ekranu z przeprowadzonymi obliczeniami.


Formuy obliczeniowe umieszczono w kolumnie C, ktra pniej zostaa ukryta. W kolum-
nie D umieciem informacyjnie formuy obliczeniowe z kolumny C. W kolumnie B s wy-
wietlone wyniki z kolumny C po ich zaokrgleniu do trzech cyfr po przecinku (formua
do zaokrglania zostaa podana w poprzednim podrozdziale).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


260 Excel w obliczeniach naukowych i inynierskich

Rysunek 20.4.
Przykadowe
obliczenia parametrw
obwodu elektrycznego.
Obliczenia wykonano
w Excelu w wersji 2007;
w tej i wczeniejszych
wersjach obowizuj
angielskie nazwy
funkcji do oblicze na
liczbach zespolonych

Rysunek 20.5. Przykadowe obliczenia parametrw obwodu elektrycznego. Obraz ekranu pochodzi
z Excela w wersji 2010; nazwy funkcji zostay przetumaczone na jzyk polski

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21.
Proste bazy danych
O ile do obsugi baz danych stworzono wiele specjalistycznych programw i jzykw
programowania, o tyle proste zadania zwizane z obsug pojedynczej tabeli danych mona
z powodzeniem rozwiza w Excelu.

Tabela bazy danych jest prostoktn tablic, w ktrej wierszach, zwanych rekorda-
mi, umieszczono informacje o poszczeglnych obiektach zawartych w bazie. Infor-
macje te s uporzdkowane tak, e kada kolumna, zwana polem, zawiera dane o tej
samej waciwoci obiektw. Pierwszy wiersz tabeli jest zwykle wierszem nagwko-
wym zawierajcym etykiety (nazwy, nagwki) pl. Wiersz nagwkowy to pojedyn-
czy wiersz umieszczony bezporednio nad waciwymi danymi. (Jeli w nagwkach
pl naley poda wicej informacji, mona je umieci nad tabel, powyej waciwe-
go wiersza nagwkowego. Zawarte tam informacje s przeznaczone tylko dla uyt-
kownika bazy danych, natomiast wszystkie informacje przekazywane do Excela bd
zawiera tylko jeden wiersz nagwkowy). Dane zawarte w komrkach bazy danych
mog by wartociami liczbowymi, tekstowymi lub logicznymi. Niektre komrki
mog pozostawa puste. Ze wzgldu na charakter pl zawarte w nich dane s z reguy
tego samego typu, jednak formalnie nie musi tak by.

Opisane w tym rozdziale operacje i funkcje dotyczce operacji na tabelach danych s


dostpne we wszystkich wersjach Excela i nie wymagaj specjalnego oznaczania za-
kresu danych. Aby dodatkowo uatwi prac z tabelami danych w wersji 2003 Excela
wprowadzono pojcie listy, ktr w Excelu 2007 przemianowano na tabel. Pojcia
te mona traktowa rwnowanie. Aby nie byo problemw z identyfikacj obszaru
tabeli danych, zaleca si pozostawia wok tabeli po jednym pustym wierszu i pustej
kolumnie. Jeli dane do tabeli wpisujemy z klawiatury, moemy sobie pomc, stosu-
jc formularz. Jest to rodzaj okna dialogowego, w ktrym informacje przewidziane
do wprowadzenia do tabeli wpisuje si w odpowiednie pola opisane nagwkami ko-
lumn. atwo mona te nawigowa midzy rekordami w celu wprowadzenia popra-
wek i uzupenie. Aby wywoa formularz z menu Dane, naley wybra Formularz
(od wersji 2007 formularz nie jest dostpny na Wstce mona go odszuka na li-
cie polece w Opcjach programu Excel/Dostosowywanie i umieci na pasku Szybki
dostp, a w wersji 2010 rwnie na wstce, wykorzystujc opcj Dostosowywanie
wstki).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


262 Excel w obliczeniach naukowych i inynierskich

Zadeklarowanie (sformatowanie) zakresu danych jako listy (w wersji 2003) lub tabeli
(od wersji 2007) powoduje wczenie dodatkowej funkcjonalnoci. Sposb deklaracji
tabeli oraz konsekwencje takiej deklaracji opisano dokadnie w rozdziale 3. Operacje
i funkcje tablicowe, w podrozdziale Odwoania strukturalne w tabelach.

Sortowanie i filtrowanie
Rekordy umieszczone s w bazie danych w okrelonym porzdku (kolejnoci). Bezpo-
rednio po wprowadzeniu dane s umieszczane w kolejnoci, jaka zostaa im nadana przy
wprowadzaniu. Na yczenie kolejno t mona zmieni, wykonujc operacj sortowania
bazy danych. Sortowanie wykonuje si wedug zawartoci wybranego pola, przy czym
mona wybra porzdek rosncy lub malejcy. Jeeli wybrane pole zawiera dane rnych
typw, porzdek rosncy ustala si w takiej kolejnoci: wartoci liczbowe < tekstowe
< logiczne < bdne < puste. Jeeli komrki zawieraj formuy, przy sortowaniu bierze
si pod uwag wartoci obliczone przed sortowaniem. Formuy powinny si odwoywa
do danych z tego samego rekordu lub staych spoza tabeli danych. W przeciwnym razie
wyniki po sortowaniu strac sens. Jeli wartoci w polu wybranym jako podstawa sorto-
wania powtarzaj si, mona wybra inne pola jako podstawy sortowania poziomu II, III
i ewentualnie dalszych poziomw.

Bazy danych tworzy si po to, aby mc wyszukiwa w nich informacje wedug okrelo-
nych kryteriw. Czasem poszukiwane s pojedyncze rekordy, a czasem zestawy rekor-
dw. Wszystko zaley od sformuowania kryterium wyszukiwania i od tego, czy dane za-
warte w polach mog si powtarza. Jeeli baza zostaa wczeniej posortowana wedug
tego kryterium, atwo odszuka potrzebne rekordy. Czsto jednak trzeba w tej samej bazie
prowadzi przeszukiwanie wedug rnych kryteriw. Sortowanie bazy przed kadym
wyszukiwaniem w przypadku duej liczby rekordw byoby nieefektywne (sortowanie
zajmuje troch czasu), dlatego tworzy si do bazy tzw. indeksy, ktre s tworzone jedno-
razowo dla kadego pola, s pamitane wraz z baz i w pewnym sensie zastpuj sorto-
wanie. W Excelu na okrelenie indeksu stosuje si nazw Filtr. Rozrniono przy tym
Autofiltr, oparty na prostym kryterium odwoujcym si do jednego pola, i Filtr zaawan-
sowany, umoliwiajcy wykorzystanie kryteriw zoonych.

Dziaanie operacji sortowania i filtrowania najlepiej przeledzi na konkretnym przyka-


dzie. Jako przykadow baz danych mona wykorzysta zestawienie podstawowych in-
formacji o pierwiastkach chemicznych (tabela 21.1). W Excelu 2007 lub 2010 mona za-
deklarowa, e jest to tabela (w znaczeniu Excela). Automatycznie otrzyma ona nazw
Tabela1, ktr mona pniej zmieni na dowoln dozwolon nazw.

Tabela skada si z wiersza nagwka i 92 wierszy (rekordw) danych. Dane zestawione


s w omiu kolumnach (polach). Kolejno rekordw jest ustalona na podstawie pola L.at.
(liczba atomowa) w porzdku rosncym. Dane w polach Nazwa i Symbol s typu tekstowego,
w polu Metal typu logicznego, pozostae pola zawieraj dane numeryczne. Dane w po-
lach L.at., Nazwa, Symbol i Masa at. nie powtarzaj si, w pozostaych polach mog si
powtarza.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 263

Tabela 21.1. Zestawienie waciwoci pierwiastkw chemicznych jako przykad bazy danych
TABLICA PIERWIASTKW CHEMICZNYCH
L.at. Nazwa Symbol Masa at. T. top. Elektrouj. Metal Gsto
1 Wodr H 1,00794 259,32 2,1 FASZ 0,071
2 Hel He 4,002602 272,2 FASZ 0,126
3 Lit Li 6,941 180,5 1 PRAWDA 0,532
4 Beryl Be 9,012182 1287 1,5 PRAWDA 1,85
5 Bor B 10,811 2100 2 FASZ 2,35
6 Wgiel C 12,011 3850 2,5 FASZ 2,27
7 Azot N 14,00674 210 3 FASZ 0,808
8 Tlen O 15,9994 218,78 3,5 FASZ 1,141
9 Fluor F 18,9984 218,6 4 FASZ 1,51
10 Neon Ne 20,1797 248,58 FASZ 1,2
11 Sd Na 22,989768 97,9 0,9 PRAWDA 0,97
12 Magnez Mg 24,305 650 1,2 PRAWDA 1,74
13 Glin Al 26,981539 660,32 1,5 PRAWDA 2,7
14 Krzem Si 28,0855 1417 1,8 FASZ 2,328
15 Fosfor P 30,973762 44,15 2,1 FASZ 1,823
16 Siarka S 32,066 119,6 2,5 FASZ 2,07
17 Chlor Cl 35,4527 101 3 FASZ 1,65
18 Argon Ar 39,948 189,33 FASZ 1,4
19 Potas K 39,0983 63,7 0,9 PRAWDA 0,86
20 Wap Ca 40,078 842 1 PRAWDA 1,55
21 Skand Sc 44,95591 1545 1,3 PRAWDA 2,99
22 Tytan Ti 47,88 1669 1,5 PRAWDA 4,5
23 Wanad V 50,9415 1950 1,7 PRAWDA 6,11
24 Chrom Cr 51,9961 1910 1,9 PRAWDA 7,17
25 Mangan Mn 54,93805 1244 1,7 PRAWDA 7,47
26 elazo Fe 55,847 1538 1,9 PRAWDA 7,87
27 Kobalt Co 58,9332 1495 2 PRAWDA 8,9
28 Nikiel Ni 58,6934 1454 2 PRAWDA 8,91
29 Mied Cu 63,546 1084,6 1,9 PRAWDA 8,95
30 Cynk Zn 65,39 419,53 1,6 PRAWDA 7,14
31 Gal Ga 69,723 29,76 1,6 PRAWDA 5,9
32 German Ge 72,61 938 1,8 PRAWDA 5,323
33 Arsen As 74,92159 817 2 FASZ 5,78
34 Selen Se 78,96 219 2,4 FASZ 4,81
35 Brom Br 79,904 7,25 2,8 FASZ 3,13
36 Krypton Kr 83,8 157,2 FASZ 2,16
37 Rubid Rb 84,4678 39,3 0,8 PRAWDA 1,53

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


264 Excel w obliczeniach naukowych i inynierskich

Tabela 21.1. Zestawienie waciwoci pierwiastkw chemicznych jako przykad bazy danych cig dalszy
TABLICA PIERWIASTKW CHEMICZNYCH
L.at. Nazwa Symbol Masa at. T. top. Elektrouj. Metal Gsto
38 Stront Sr 87,62 768 1 PRAWDA 2,63
39 Itr Y 89,90585 1530 1,3 PRAWDA 4,45
40 Cyrkon Zr 91,224 1859 1,4 PRAWDA 6,51
41 Niob Nb 92,90638 2470 1,6 PRAWDA 8,58
42 Molibden Mo 95,94 2620 2 PRAWDA 10,25
43 Technet Tc 97,905 2200 1,9 PRAWDA 11,48
44 Ruten Ru 101,07 2282 2,2 PRAWDA 12,41
45 Rod Rh 102,9055 1960 2,2 PRAWDA 12,4
46 Pallad Pd 106,42 1552 2,2 PRAWDA 11,99
47 Srebro Ag 107,8682 961,8 1,9 PRAWDA 10,49
48 Kadm Cd 112,411 320,8 1,7 PRAWDA 8,65
49 Ind In 114,818 156,6 1,7 PRAWDA 7,3
50 Cyna Sn 118,71 231,93 1,8 PRAWDA 7,28
51 Antymon Sb 121,757 630,6 1,9 PRAWDA 6,69
52 Tellur Te 127,6 450 2,1 FASZ 6,25
53 Jod I 126,90447 113,6 2,5 FASZ 4,94
54 Ksenon Xe 131,29 111,8 FASZ 3
55 Cez Cs 132,90543 28,5 0,7 PRAWDA 1,9
56 Bar Ba 137,327 727 0,9 PRAWDA 3,62
57 Lantan La 138,9055 920 1,1 PRAWDA 6,17
58 Cer Ce 140,115 804 1,1 PRAWDA 6,77
59 Prazeodym Pr 140,90765 935 1,1 PRAWDA 6,48
60 Neodym Nd 144,24 1020 1,2 PRAWDA 7
61 Promet Pm 144,913 1042 1,2 PRAWDA 7,26
62 Samar Sm 150,36 1072 1,2 PRAWDA 7,54
63 Europ Eu 151,965 826 1 PRAWDA 5,25
64 Gadolin Gd 157,25 1312 1,1 PRAWDA 7,89
65 Terb Tb 158,92534 1356 1,2 PRAWDA 8,25
66 Dysproz Dy 162,5 1408 1,2 PRAWDA 8,56
67 Holm Ho 164,93032 1465 1,2 PRAWDA 8,79
68 Erb Er 167,26 1510 1,2 PRAWDA 9,05
69 Tul Tm 168,93421 1545 1,2 PRAWDA 9,32
70 Iterb Yb 173,04 824 1,1 PRAWDA 6,97
71 Lutet Lu 174,967 1655 1,2 PRAWDA 9,84
72 Hafn Hf 178,49 2233 1,3 PRAWDA 13,29
73 Tantal Ta 180,9479 3022 1,5 PRAWDA 16,65

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 265

Tabela 21.1. Zestawienie waciwoci pierwiastkw chemicznych jako przykad bazy danych cig dalszy
TABLICA PIERWIASTKW CHEMICZNYCH
L.at. Nazwa Symbol Masa at. T. top. Elektrouj. Metal Gsto
74 Wolfram W 183,84 3420 2 PRAWDA 19,27
75 Ren Re 186,207 3180 1,9 PRAWDA 21
76 Osm Os 190,23 3045 2,2 PRAWDA 22,57
77 Iryd Ir 192,22 2443 2,2 PRAWDA 22,61
78 Platyna Pt 195,08 1770 2,2 PRAWDA 21,41
79 Zoto Au 196,96654 1064,2 2,4 PRAWDA 19,28
80 Rt Hg 200,59 38,83 1,9 PRAWDA 13,534
81 Tal Tl 204,3833 303 1,8 PRAWDA 11,86
82 Ow Pb 207,2 327,5 1,8 PRAWDA 11,34
83 Bizmut Bi 208,98037 271,4 1,9 PRAWDA 9,81
84 Polon Po 208,982 250 2 PRAWDA 9,14
85 Astat At 209,987 470 2,2 FASZ
86 Radon Rn 222,018 71 FASZ 4,4
87 Frans Fr 223,02 0,7 PRAWDA
88 Rad Ra 226,025 700 0,9 PRAWDA 5,5
89 Aktyn Ac 227,028 817 1,1 PRAWDA 10,1
90 Tor Th 232,0381 1750 1,3 PRAWDA 11,78
91 Protaktyn Pa 231,03588 1552 1,5 PRAWDA 15,4
92 Uran U 238,0289 1135 1,7 PRAWDA 19,05

Aby zmieni kolejno rekordw w tabeli (przeprowadzi sortowanie), naley zaznaczy


ca tabel (wraz z wierszem nagwkowym) i z menu Dane wybra Sortuj, a nastpnie
Sortuj wedug Nazwa Rosnco (od wersji 2007 Sortuj wedug Nazwa, Sortowanie Wartoci,
Kolejno Od A do Z). Po zatwierdzeniu tabela zostanie uporzdkowana alfabetycznie
wedug nazw pierwiastkw.

Jeeli chcemy szybko wyszuka rekord, dla ktrego znamy warto jednego z pl, a baza
nie jest uporzdkowana wedug tego pola, musimy posuy si Autofiltrem (od wersji
2007 po prostu Filtrem). Zamy, e szukamy pierwiastka, ktrego temperatura topnienia
ley najbliej 300C. Zaznaczamy ca tabel (albo jej fragment obejmujcy kolumn
T.top.). Z menu Dane wybieramy Filtr, a nastpnie Autofiltr (od wersji 2007 tylko Filtr).
Jeeli wczeniej zostaa wczona funkcjonalno tabeli, Filtr jest wczony automatycznie.
W nagwkach zaznaczonych kolumn pojawi si po prawej stronie przyciski oznaczone
znakiem trjkta (strzaki). Kliknicie myszk w ten znak spowoduje rozwinicie listy,
na ktrej bd wszystkie wartoci z wybranej kolumny uporzdkowane rosnco (lub ma-
lejco, jeli zaznaczymy odpowiedni opcj). List t mona szybko przejrze i zaznaczy
wybran warto. Spowoduje to wywietlenie caego wybranego rekordu w miejsce tabeli
(pozostae wiersze tabeli s ukryte). Po zakoczeniu pracy z wybranym rekordem klikamy
ponownie znak trjkta i wybieramy Poka wszystko. Przywraca to widoczno caej tabeli.
Po wybraniu opcji Inne mona okreli kryterium wyboru wartoci w kolumnie i wy-
selekcjonowa wszystkie rekordy, ktre speniaj wybrane kryterium. Od wersji 2007

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


266 Excel w obliczeniach naukowych i inynierskich

rozwizanie filtra jest nieco inne. Po klikniciu trjkta pojawia si okno z opcjami kolej-
noci sortowania na licie rozwijanej, a poniej pole Filtry liczb (lub Filtry tekstu, za-
lenie od zawartoci kolumny danych). W tym polu wstpnie zaznaczone do wywietlenia
s wszystkie rekordy. Mona odznaczy w polu Filtry liczb Zaznacz wszystko i rcznie
zaznaczy wybrany rekord (lub rekordy). Mona te najecha kursorem myszki na pole
Filtry liczb i z listy, ktra rozwinie si po prawej stronie, wybra kryterium filtrowania
danych. Jest ich 11 (przy liczbach) lub 7 (w przypadku tekstu), ale znaczenie jest do
oczywiste i nie wymaga szczegowego komentarza. Po zatwierdzeniu widoczne pozo-
stan tylko wybrane rekordy. Aby przywrci widoczno wszystkich rekordw, naley
ponownie zaznaczy w polu Filtry liczb Zaznacz wszystko.

W naszym przykadzie po zastosowaniu Autofiltra uzyskamy uporzdkowan rosnco


list temperatur, na ktrej najbliej 300C s wartoci 271,4; 303 Moemy wybra
jedn z nich i zaznaczy myszk. Jeli wybierzemy na przykad 303, zobaczymy odpowia-
dajcy jej rekord pierwiastek Tal. Posugujc si Excelem w wersji 2007 lub 2010,
moemy zaznaczy oba rekordy i wywietli ich zawarto. Mona zdefiniowa kryteria
filtrowania (wyboru) w kilku kolumnach i wywietli rekordy, ktre speniaj rwnocze-
nie wszystkie kryteria.

Jeeli chcemy wybra jeden lub kilka rekordw na podstawie wicej ni jednego pola, mo-
emy rwnie uy Filtra zaawansowanego. Jest to rozwizanie bardziej uniwersalne, gdy
moe uwzgldnia nie tylko koniunkcj, ale rwnie alternatyw warunkw odnoszcych
si do poszczeglnych kolumn, jak te warunki odwoujce si rwnoczenie do danych
z rnych kolumn. Ponadto dziaanie filtra nie musi polega na ukrywaniu wierszy niespe-
niajcych kryteriw, lecz moe zosta utworzona i umieszczona we wskazanym miejscu
arkusza kopia rekordw speniajcych kryteria. W tym celu trzeba skonstruowa zakres
kryteriw i umieci go w wolnym miejscu w arkuszu, najlepiej nad tabel z danymi.

Zakres kryteriw
Konstrukcja zakresu kryteriw obejmuje dowoln liczb kryteriw o postaciach okre-
lonych przez dwa podstawowe warianty ich budowy:
1. kryteria z nagwkami kolumn,
2. kryteria w formie wyrae logicznych.

Ad 1) Najprostsze kryterium tego typu skada si z nagwka kolumny, w postaci kopii


lub odwoania (nie zaleca si odrcznego przepisywania nagwka, bo wystarcz mini-
malne rnice w porwnaniu z oryginaem, by kryterium nie dziaao), oraz umieszczonego
w komrce poniej wyszczeglnienia wartoci.

Wyszczeglnienie to moe mie posta staej lub wyraenia (liczbowego, tekstowego


bd logicznego) albo staej poprzedzonej jednym z operatorw relacji: <, <=, >, >= lub <>.
Jeeli poprzedzimy sta operatorem relacji, to poszukujemy rekordw, ktre speniaj
podan relacj. Uycie operatora ze sta tekstow oznacza relacj alfabetyczn, na przy-
kad <C oznacza poszukiwanie tekstw zaczynajcych si od liter A lub B. (Stae tekstowe
wpisujemy bez cudzysowu).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 267

Operatorem relacji przed sta moe by te znak =, ale poniewa wystpienie tego znaku
na pocztku wpisu oznacza formu, moe to troch komplikowa jego uycie. Jeli
wpiszemy znak = przed sta liczbow lub logiczn, nie bdzie adnych problemw i wpisy
ze znakiem = i bez niego bd rwnowane. Sytuacja si komplikuje, gdy chcemy uy
staej tekstowej. Przede wszystkim staa tekstowa poprzedzona znakiem = jest interpreto-
wana inaczej ni sama staa tekstowa. Sama staa tekstowa jest interpretowana jako po-
cztek sowa, natomiast poprzedzona znakiem rwnoci oznacza cae sowo. (Mae i due
litery nie s rozrniane). W staych tekstowych mog wystpowa symbole wieloznaczne
? i *. Znak zapytania zastpuje jeden dowolny znak, gwiazdka zastpuje dowolny, rw-
nie pusty cig znakw. Jeeli szukamy znaku zapytania lub gwiazdki, we wzorcu po-
przedzamy je znakiem ~ (tylda). W razie szukania tyldy naley jej uy dwukrotnie.

Jeeli chcemy wprowadzi do komrki na przykad wzorzec =B, musimy uy konstrukcji


="=B". Uycie wyraenia ="B" jest rwnowane wpisowi B, wpisanie =B bdzie interpreto-
wane jako odwoanie do zmiennej o nazwie B i zazwyczaj wywoa komunikat bdu.

Przykadowo jeeli do naszej tabeli pierwiastkw sformuujemy kryteria odnoszce si


do pola Symbol, to ich znaczenie bdzie takie jak poniej:
B wyszuka pierwiastki o symbolach zaczynajcych si od litery B
="b" jw.
="=B" wyszuka pierwiastek o symbolu B
="=?" wyszuka pierwiastki o symbolach jednoliterowych
="=B?" wyszuka pierwiastki o symbolach dwuliterowych rozpoczynajcych
si od B

Analogicznie mona sformuowa kryteria do pola Nazwa:


="=T*l" wyszuka pierwiastki o nazwach rozpoczynajcych si od T
i zakoczonych na l
T*l wyszuka pierwiastki o nazwach rozpoczynajcych si od T
i zawierajcych l

Jeeli wpiszemy tylko sta liczbow lub logiczn bd wyraenie, ktre po obliczeniu
daje warto liczbow lub logiczn, to znaczy, e poszukujemy rekordw, ktre w polu
(kolumnie) o podanym nagwku zawieraj dokadnie tak warto.

Pod jednym nagwkiem kolumny mona umieci w kolejnych komrkach kilka warto-
ci (ewentualnie poprzedzonych operatorami relacji). Oznacza to alternatyw kryteriw
(kryteria poczone spjnikiem LUB), na przykad kryterium w postaci:
Symbol
Fe
Co
Ni
oznacza, e poszukujemy danych o trzech pierwiastkach, ktrych symbole podano.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


268 Excel w obliczeniach naukowych i inynierskich

Aby poczy elementarne kryteria spjnikiem ORAZ, czyli utworzy koniunkcj kryteriw,
naley je zapisa w ssiednich kolumnach. Kada kolumna musi zawiera nagwek i list
wartoci poniej. Nagwki kolumn mog si powtarza. Koniunkcja kryteriw dotyczy
danych umieszczonych w tym samym wierszu.

Przykadowo zapis:
Metal Elektrouj.
FASZ <2,5
PRAWDA >2
oznacza, e poszukujemy niemetali o elektroujemnoci <2,5 lub metali o elektroujemnoci >2.

Jeeli poszukujemy metali o gstoci pomidzy 5 a 7 g/cm3, musimy zapisa nastpujce


kryteria:
Metal Gsto Gsto
PRAWDA >=5 <=7

Gdy poszukujemy pierwiastkw, ktre s w zwykych warunkach ciaami staymi (tem-


peratura topnienia >=20C) i rwnoczenie albo maj gsto <3 g/cm3, albo elektroujem-
no >2, zapisujemy kryteria:
T.top. Gsto Elektrouj.
>=20 <3
>=20 >2

Wartoci gstoci i elektroujemnoci naley zapisa w rnych wierszach, poniewa mi-


dzy nimi zachodzi alternatywa, natomiast warunek na temperatur topnienia trzeba przepi-
sa dwa razy, bo musi by speniony jednoczenie z kadym z pozostaych warunkw.

W ostatnim przykadzie wida, e nagwki (etykiety) kolumn musz by zapisane


w pierwszym wierszu zakresu kryteriw, natomiast wartoci kryterium zapisuje si
w kolejnych wierszach w tym samym wierszu, jeli maj by jednoczenie spenione,
lub w rnych wierszach, jeli maj stanowi alternatyw.

Ad 2) Alternatywnie kryterium moe by zapisane w postaci wyraenia, ktre przyjmuje


warto logiczn PRAWDA lub FASZ. Kryterium to nie jest powizane z jedn kolumn,
lecz moe odwoywa si do wartoci z rnych kolumn. Mona pozostawi nad nim
pust komrk w wierszu nagwkw kolumn lub wpisa tam nagwek inny ni nagwki
kolumn z danymi. Ale nawet jeli komrka nagwkowa bdzie pusta, trzeba j uwzgld-
ni w zakresie kryteriw. W treci kryterium wartoci, ktre maj by odczytane z po-
szczeglnych pl (kolumn) tabeli danych, naley zastpi wzgldnymi odwoaniami do
odpowiednich wartoci z pierwszego wiersza danych. Alternatywnie mona uy etykiet
(nagwkw) kolumn, traktujc je tak, jakby byy zdefiniowanymi nazwami. W tym przy-
padku w komrce kryterium bdzie wywietlany komunikat bdu (gdy nagwki kolumn
nie s de facto zdefiniowanymi nazwami), lecz mimo to kryterium powinno dziaa po-
prawnie. Komunikatu bdu mona unikn, jeli zostanie zaznaczona opcja Narzdzia/
Opcje/Przeliczanie/Akceptuj etykiety w formuach (od wersji 2007 jest niedostpna).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 269

W formule kryterium nie mona uywa odwoa strukturalnych. Mona natomiast uy-
wa bezwzgldnych odwoa do dowolnych komrek arkusza.

Jeli tabel pierwiastkw umiecimy w arkuszu w kolumnach od A do H, tak e wiersz na-


gwkowy jest w wierszu 10, a dane w wierszu 11 i nastpnych, to moemy zapisa na
przykad kryterium:
= KOD(B11)<>KOD(C11) lub = KOD(Nazwa)<>KOD(Symbol)

Pozwoli ono znale pierwiastki, ktrych nazwy i symbole rozpoczynaj si od innej litery.
Funkcja KOD zwraca kod ASCII pierwszego znaku tekstu podanego jako argument.
Ta funkcja odrnia due i mae litery.

W przypadku gdy uywane jest kryterium z etykiet kolumny zawierajc dane tekstowe,
nie s rozrniane mae i due litery, mona natomiast stosowa symbole wieloznaczne ? i *.
Gdyby zachodzia konieczno rozrnienia maych i duych liter, naleaoby posuy
si funkcj PORWNAJ, na przykad:
= PORWNAJ(B11;"Bar") porwnanie z jednym wzorcem,
= LUB(PORWNAJ(B11;{"Wap";"Stront";"Bar"})) porwnanie z list wzorcw.

Jeeli w analogiczny sposb uyje si operatora rwnoci zamiast funkcji PORWNAJ, due
i mae litery nie bd rozrniane:
= B11="Bar" porwnanie z jednym wzorcem,
= LUB(B11={"Wap";"Stront";"Bar"}) porwnanie z list wzorcw.

W adnym z wariantw kryteriw w postaci formuy nie mona uywa symboli wielo-
znacznych.

Kryteria z etykietami kolumn mona czy z kryteriami w postaci formu w jednym za-
kresie kryteriw.

Uycie filtra zaawansowanego


Przed uyciem filtra zaawansowanego powinnimy przygotowa zakres kryteriw. Przed
wywoaniem filtra dogodnie jest zaznaczy obszar tabeli danych wraz z etykietami pl.
Filtr wywoujemy z menu Dane/Filtr/Filtr zaawansowany (od wersji 2007 Dane/Filtruj/
Zaawansowane). Pojawia si okienko dialogowe, w ktrym jest ju zaznaczony zakres
danych do filtrowania (jeli nie zostao to zrobione wczeniej, mona go teraz zaznaczy).
Jeeli uywamy filtra ponownie, zakres danych jest pamitany. W nastpnym polu naley
wskaza zakres kryteriw. Sposb konstrukcji tego zakresu opisano w poprzednim pod-
punkcie. Musi on stanowi spjny prostoktny obszar, w ktrym nagwki kolumn znaj-
duj si w pierwszym wierszu. W obszarze kryteriw mog wystpi puste komrki.
Kryteria s analizowane wierszami.

Ostatnia decyzja, ktr musimy podj, dotyczy tego, czy wynik filtrowania ma by umiesz-
czony w miejscu oryginalnej tabeli (w takim przypadku rekordy niespeniajce kryteriw

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


270 Excel w obliczeniach naukowych i inynierskich

zostan ukryte), czy ma by umieszczony w innym miejscu arkusza. W tym pierw-


szym przypadku naley pamita, e Excel, ukrywajc rekordy niespeniajce kryteriw,
ukrywa cae wiersze arkusza, wic jeli poza tabel danych, ale w tych samych wierszach
znajduj si jakie inne dane, to mog one rwnie zosta ukryte. Dotyczy to take zakresu
kryteriw, dlatego twrcy Excela zalecaj umieszczenie zakresu kryteriw nad albo pod
tabel danych, aby unikn niepodanych efektw ubocznych. Z kolei jeli zdecydujemy
si umieci wynik w innym miejscu, musimy zaznaczy odpowiedni przycisk i wskaza
miejsce umieszczenia wyniku. Jeeli wynik filtrowania ma obejmowa wszystkie kolumny
tabeli, wystarczy i naley wskaza lew grn komrk obszaru na wynik. Mona jednak
dokona wyboru i wywietli tylko niektre kolumny oryginalnej tabeli. W takim przypadku
naley wczeniej skopiowa nagwki wybranych kolumn do pierwszego wiersza w miejscu
przeznaczonym na wynik i wskaza ten zakres komrek jako miejsce na wynik filtrowania.
Po potwierdzeniu przyciskiem OK otrzymamy wynik filtrowania. Jeli tabela bya filtro-
wana na miejscu i niektre wiersze zostay ukryte, mona przywrci stan wyjciowy, wy-
bierajc z menu Dane/Filtr/Poka wszystko (od wersji 2007 Dane/Filtruj/Wyczy).

Jeeli na przykad tabela pierwiastkw jest uporzdkowana wedug rosncych liczb ato-
mowych, a chcemy odszuka pierwiastki, przy ktrych zaburzony jest rosncy porzdek
mas atomowych, musimy zastosowa kryteria zapisane jedno pod drugim albo w formie
alternatywy wyraonej funkcj LUB (pooenie tabeli w arkuszu jak poprzednio):
=D11>D12 albo =LUB(D11>D12;D11<D10)
=D11<D10

W obu przypadkach do zakresu kryteriw trzeba doczy pust komrk nad formuami
kryteriw. W wyniku otrzymamy list pierwiastkw speniajcych te kryteria (4 pary):

L.at. Nazwa Symbol Masa at. T. top. Elektrouj. Metal Gsto


18 Argon Ar 39,948 189,33 FASZ 1,4
19 Potas K 39,0983 63,7 0,9 PRAWDA 0,86
27 Kobalt Co 58,9332 1495 2 PRAWDA 8,9
28 Nikiel Ni 58,6934 1454 2 PRAWDA 8,91
52 Tellur Te 127,6 450 2,1 FASZ 6,25
53 Jod I 126,90447 113,6 2,5 FASZ 4,94
90 Tor Th 232,0381 1750 1,3 PRAWDA 11,78
91 Protaktyn Pa 231,03588 1552 1,5 PRAWDA 15,4

Uycie funkcji do odzyskiwania danych


z tabeli lub listy
Uycie filtru nie jest jedynym sposobem odszukania w tabeli potrzebnych danych. Istnieje
wiele funkcji, ktre rwnie pozwalaj uzyska podobne efekty, czsto w sposb bardziej
elastyczny.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 271

Najbardziej typowym zadaniem jest odszukanie odpowiadajcych sobie danych nale-


cych do tego samego rekordu, a pooonych w rnych kolumnach. Przykadem niech
bdzie odszukanie gstoci pierwiastka na podstawie jego symbolu. Zadanie to mona
wykona kilkoma sposobami.

Trzeba zacz od wyboru komrki, do ktrej bdzie wprowadzany symbol pierwiastka.


Poniewa symbole pierwiastkw nie mog by dowolne, celowe jest przeprowadzenie
weryfikacji poprawnoci wprowadzanego symbolu. W tym celu z menu Dane naley
wybra Poprawno danych, a dalej w oknie dialogowym, w zakadce Ustawienia, w polu
Dozwolone naley wskaza Lista, a w polu rdo wpisa zakres obejmujcy kolumn
Symbol w tabeli danych. W zakadce Komunikat wejciowy, w polu Tytu mona wpisa na
przykad Symbol pierwiastka, a w polu Komunikat wejciowy na przykad Wpisz lub
wybierz z listy. W wersji 2007 sekwencja wywoa jest podobna, trzeba tylko dwukrot-
nie wybra Poprawno danych.

Do tej komrki mona wpisa symbol pierwiastka lub po klikniciu w pole ze strzak
z prawej strony pola dokona wyboru z listy rozwijanej. Na licie symbole pierwiastkw s
umieszczone w takiej kolejnoci jak w oryginalnej tabeli. W przypadku wyboru z listy nie
ma moliwoci bdu, a w przypadku wpisu bezporedniego ewentualny bd bdzie sy-
gnalizowany odpowiednim komunikatem. Przy weryfikacji nie jest sprawdzana wielko
liter. W celu uproszczenia zapisu formu nadamy komrce nazw sp.

Dalej mamy kilka moliwoci wyboru funkcji, ktre zrealizuj nasze zadanie. Zagadnienie
jest podobne do opisanego w rozdziale 14. Wyszukiwanie danych w tablicach i interpo-
lacja, tam poszukiwalimy jednak danych liczbowych i dane byy uporzdkowane, tu
poszukujemy danych tekstowych, ktre pocztkowo nie s uporzdkowane.
1. Pierwszy wariant wymaga uycia funkcji PODAJ.POZYCJ, a nastpnie INDEKS. Jest to
rozwizanie najbardziej uniwersalne i nie wymaga sortowania tabeli danych.
Najpierw znajdujemy numer wiersza, w ktrym zapisano symbol pierwiastka,
a nastpnie z wiersza o tym numerze i odpowiedniej kolumny odczytujemy gsto
pierwiastka.
Wywoanie funkcji PODAJ.POZYCJ ma posta:
= PODAJ.POZYCJ(sp; kolumna_symboli; 0)
Kolumna_symboli oznacza zakres w tabeli, w ktrym zapisano symbole
pierwiastkw. W naszej przykadowej tabeli jest to kolumna C, zakres C11:C102,
obejmujcy 92 symbole. W Excelu 2007 i 2010 mona zastosowa odwoanie
strukturalne Tabela1[Symbol].
0 jako trzeci argument oznacza, e bdziemy poszukiwa dokadnego
dopasowania danej do wzorca.
Komrce z wynikiem nadamy nazw pp. Do odszukania gstoci pierwiastka
wykorzystamy teraz funkcj INDEKS. Odszukuje ona dane w tabeli na podstawie
indeksw wiersza i kolumny. Uycie tej funkcji jest moliwe w kilku wariantach:
a) = INDEKS(kolumna_gstoci; pp)
Kolumna_gstoci oznacza zakres w tabeli, w ktrym zapisano gstoci
pierwiastkw. W naszej przykadowej tabeli jest to kolumna H, zakres H11:H102.
W Excelu 2007 i 2010 mona zastosowa odwoanie strukturalne Tabela1[Gsto].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


272 Excel w obliczeniach naukowych i inynierskich

Jest to wariant mao uniwersalny; gdybymy chcieli odczyta warto z innej


kolumny, musielibymy zmodyfikowa zakres kolumny wynikw.
b) = INDEKS(tabela;pp; nr_kolumny)
Tabela oznacza tu ca tabel danych bez wiersza nagwkowego, czyli w naszym
przykadzie zakres A11:H102. Mona te uy nazwy tabeli nadanej przy
jej deklaracji w Excelu 2007 lub 2010.
Nr_kolumny odnosi si do kolumny, w ktrej szukamy wyniku. Kolumny s
numerowane od 1, wic w naszym przykadzie kolumna H ma numer 8. Numer
ten mona rwnie wyznaczy na podstawie nazwy nagwka kolumny po
odnalezieniu jej w wierszu nagwkw:
= PODAJ.POZYCJ("Gsto"; wiersz_nagwkowy; 0)
W naszym przykadzie wiersz_nagwkowy to zakres A10:H10. W Excelu 2007
i 2010 mona zastosowa odwoanie strukturalne Tabela1[#Nagwki].
Jeeli informacja wejciowa jest liczb, tabela powinna by uporzdkowana
wedug kolumny wejciowej. Mamy dwie opcje albo pozostawimy tylko
moliwo wyboru wartoci z listy, jak w przypadku danych tekstowych, albo
umoliwimy wprowadzanie dowolnych danych z klawiatury. W tym drugim
przypadku nie zawsze da si znale w tabeli wprowadzon warto. W tym
przypadku moemy zaakceptowa dopasowanie przyblione. Jeli podamy jako
trzeci argument funkcji PODAJ.POZYCJ warto 1, Excel odnajdzie rekord o wartoci
najbliszej, ale mniejszej od zadanej lub rwnej zadanej. Warunkiem jest
uporzdkowanie danych rosnco. Alternatyw jest trzeci argument rwny 1
i dane uporzdkowane malejco, wtedy odnajdziemy rekord o wartoci najbliszej,
ale wikszej lub rwnej zadanej.
Aby poczy wszystko w jednej formule, moemy napisa:
= INDEKS(TAB; PODAJ.POZYCJ(sp;INDEKS(TAB;0;PODAJ.POZYCJ("Symbol";
INDEKS(TAB;1;0);0));0); PODAJ.POZYCJ("Gsto";INDEKS(TAB;1;0);0))
W tym przypadku TAB oznacza ca tabel wraz z wierszem nagwkowym,
co w naszym przykadzie odpowiada zakresowi A10:H102, komrka sp
jak poprzednio, "Symbol" i "Gsto" s nagwkami kolumn odpowiednio
rdowej i wynikowej (mona te uy odwoa do komrek zawierajcych
te nagwki). W te miejsca mona wstawi nagwki innych kolumn.
W przypadku zmiany kolumny rdowej naley oczywicie zmieni
odpowiednio zakres listy rozwijanej w komrce sp.
Stosujc odwoania strukturalne, powysz formu mona zapisa nieco
bardziej przejrzycie:
= INDEKS(Tabela1; PODAJ.POZYCJ(sp;Tabela1[Symbol];0);
PODAJ.POZYCJ("Gsto";Tabela1[#Nagwki];0))
lub jeszcze prociej:
= INDEKS(Tabela1[Gsto]; PODAJ.POZYCJ(sp;Tabela1[Symbol];0))

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 273

Pewn niedogodnoci przy stosowaniu odwoa strukturalnych jest to, e nagwki


kolumn, w tym przypadku Symbol lub Gsto, musz by podane explicite i nie
mona uy odwoa do komrek zawierajcych te nagwki.
2. W drugim wariancie wykorzystamy funkcj WYSZUKAJ.PIONOWO. Metoda ta
jest mniej uniwersalna, ograniczeniem jest to, e dane wejciowe musz
by odnalezione w pierwszej kolumnie tabeli. Jeeli zmieniamy kolumn
wejciow, musimy zmodyfikowa zakres tablicy, w szczeglnym przypadku
przestawi kolumny. Jak poprzednio, jeeli warto poszukiwana w tabeli
w kolumnie wejciowej ma by odwzorowana dokadnie, dane nie musz by
uporzdkowane; jeli zezwalamy na dopasowanie przyblione, kolumna
wejciowa musi by uporzdkowana rosnco. W przypadku danych tekstowych
mona uywa symboli wieloznacznych.
Skadnia tej funkcji zostaa omwiona w rozdziale 14. Wyszukiwanie danych
w tablicach i interpolacja. Zalet tej wersji jest to, e cae zadanie realizuje
jedna funkcja, a nie dwie, jak poprzednio.
Zakadajc, e jak poprzednio chcemy odszuka gsto pierwiastka na
podstawie jego symbolu i z zastosowaniem podobnych oznacze jak w wersji 1.,
moemy uy funkcji:
= WYSZUKAJ.PIONOWO(sp; fragment_tabeli; nr_kolumny; FASZ)
Komrka sp zawiera, jak poprzednio, list symboli pierwiastkw wybieramy
z niej ten, ktry nas interesuje. Fragment_tabeli oznacza zakres danych tabeli,
ktrego lew kolumn stanowi kolumna symboli pierwiastkw. W obszarze
tabeli musi by kolumna gstoci. W naszym przykadzie byby to zakres
C11:H102. Nr_kolumny jest w tym przypadku rwny 6, bo pierwsz kolumn jest
kolumna C. Ostatni argument jest rwny FASZ, co oznacza danie dokadnego
dopasowania wzorca sp do danych z tabeli.
Stosujc odwoania strukturalne, interesujcy nas fragment_tabeli mona zapisa
w formie:
Tabela1[[Symbol]:[Gsto]]
3. W trzecim wariancie wykorzystamy funkcj WYSZUKAJ w formie wektorowej.
Uycie tej funkcji wymaga, aby kolumna wejciowa bya posortowana w porzdku
rosncym. Wywoanie funkcji ma posta:
= WYSZUKAJ(sp; kolumna_wejciowa; kolumna_wyjciowa)
Znaczenie sp jak poprzednio. Kolumna_wejciowa jest kolumn symboli,
w naszym przykadzie: C11:C102. Przed uyciem funkcji WYSZUKAJ trzeba
przeprowadzi sortowanie tabeli wedug kolumny symboli w porzdku rosncym.
Kolumna_wyjciowa jest kolumn gstoci, w naszym przykadzie: H11:H102.
Stosujc odwoania strukturalne, zmienne kolumna_wejciowa i kolumna_wyjciowa
mona zapisa odpowiednio jako: Tabela1[Symbol] i Tabela1[Gsto].
4. W czwartym wariancie wykorzystamy funkcj WYSZUKAJ w formie tablicowej.
Wywoanie funkcji jest tu najprostsze:
= WYSZUKAJ(sp; fragment_tabeli)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


274 Excel w obliczeniach naukowych i inynierskich

Znaczenie sp jak poprzednio. Fragment_tabeli oznacza zakres danych tabeli,


ktrego lew kolumn stanowi kolumna symboli pierwiastkw, a ostatni
kolumna gstoci. W naszym przykadzie byby to zakres C11:H102. Przed
uyciem funkcji WYSZUKAJ trzeba przeprowadzi sortowanie tabeli wedug kolumny
symboli w porzdku rosncym.
Stosujc odwoania strukturalne, interesujcy nas fragment_tabeli zapiszemy
w formie:
Tabela1[[Symbol]:[Gsto]].
5. W pitym wariancie wykorzystamy funkcj bazy danych BD.POLE. Funkcje te
omawiam bardziej szczegowo w kolejnym podrozdziale. Ta funkcja odgrywa
tu swoj rol wyjtkowo efektywnie. Aby jej uy, naley nad komrk sp
umieci nagwek kolumny "Symbol". W komrce obok wstawiamy nagwek
"Gsto". Pod t komrk wpisujemy wyraenie:
= BD.POLE(TAB;"Gsto";kryteria)
TAB, jak poprzednio, oznacza ca tabel danych z nagwkami, "Gsto" jest
nagwkiem kolumny zawierajcej dane wynikowe; zamiast tego nagwka mona
uy odwoania do komrki powyej, w ktrej jest ten sam nagwek, lub liczby 8
oznaczajcej numer kolumny gstoci w tabeli danych. Kryteria oznaczaj
odwoanie do zakresu dwch komrek, z ktrych grna zawiera nagwek
"Symbol", a dolna jest komrk sp.

Jak zatem wida, moliwoci odszukiwania danych w tabelach jest wiele rozwizanie
pierwsze wydaje si najbardziej zoone, ale po wpisaniu do uniwersalnej formuy po-
zwala na atw modyfikacj obiektu poszukiwa; rozwizania nastpne, od drugiego do
czwartego, s jednorazowe, ale za to prostsze. W razie zmiany obiektu poszukiwa trzeba
rcznie zmienia zakresy i przeprowadza sortowanie tabeli danych. Rozwizanie pite
jest rwnie uniwersalne jak pierwsze i znacznie prostsze w zapisie.

Funkcje podsumowa
Bardzo czsto na danych zgromadzonych w tabeli naley wykona operacje podsumo-
wujce (agregujce), takie jak obliczenie sumy, redniej, odchylenia standardowego,
wartoci najwikszej, najmniejszej itp. Odpowiednie funkcje do tego celu byy zawsze
dostpne w Excelu. Jednake oprcz funkcji sucych do wykonania jednej konkretnej
operacji udostpniono funkcj o troch nieczytelnej nazwie SUMY.POREDNIE, zmienionej
od wersji 2007 na SUMY.CZCIOWE, ktra wykonuje wybran operacj bazow zako-
dowan w jej pierwszym parametrze. Rnice w dziaaniu funkcji SUMY.POREDNIE (lub
SUMY.CZCIOWE) i indywidualnych funkcji bazowych ujawniaj si po ukryciu niektrych
wierszy z zakresu oblicze, co wyjaniono dokadnie w uwagach poniej. Skadnia funkcji
SUMY.POREDNIE (lub SUMY.CZCIOWE) jest nastpujca:
SUMY.POREDNIE(funkcja_nr;adres1;adres2;...)
SUMY.CZCIOWE(funkcja_nr;adres1;adres2;...)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 275

Zmieniajc nazw tej funkcji, twrcy Excela nie ustrzegli si lekkiego baaganu, bo po-
mimo wprowadzenia nowej nazwy w Excelu 2007 w pliku pomocy do tej wersji uywana
jest nadal nazwa SUMY.POREDNIE, obowizujca we wczeniejszych wersjach. Nawet
w wersji 2010 stara nazwa pozostaa jeszcze w spisie funkcji w pliku pomocy. Funkcja
wykonuje operacj okrelon w tabeli 21.2 zgodnie z wartoci parametru funkcja_nr.
Parametr ten moe przyjmowa wartoci od 1 do 11 (uwzgldnia wartoci ukryte) lub
od 101 do 111 (ignoruje wartoci ukryte dostpne od wersji 2003).

Tabela 21.2. Operacje wykonywane w zalenoci od wartoci parametru funckja_nr


Funkcja nr Funkcja_nr Wykonywana
(uwzgldnia wartoci ukryte) (ignoruje wartoci ukryte) funkcja bazowa
1 101 REDNIA
2 102 ILE.LICZB
3 103 ILE.NIEPUSTYCH
4 104 MAKSIMUM
5 105 MINIMUM
6 106 ILOCZYN
7 107 ODCH.STANDARDOWE
8 108 ODCH.STANDARD.POPUL
9 109 SUMA
10 110 WARIANCJA
11 111 WARIANCJA.POPUL

Adres1; adres2 to od 1 do 29 (do 254 od wersji 2007) zakresw lub odwoa, dla
ktrych naley obliczy sum poredni (czciow).

Uwagi
Jeli wewntrz odwoa adres1; adres2;... znajduj si inne sumy porednie (lub
zagniedone sumy porednie), te zagniedone sumy s ignorowane, aby unikn ich
podwjnego obliczania.

Uycie parametru funkcja_nr z zakresu od 1 do 11 powoduje, e funkcja SUMY.POREDNIE


(lub SUMY.CZCIOWE) uwzgldnia wartoci wierszy pomimo ukrycia ich poleceniem
Format/Wiersz/Ukryj (od wersji 2007 Ukryj wiersze z podmenu Ukryj i odkryj polecenia
Format w grupie Komrki na karcie Narzdzia gwne) lub przez zmniejszenie wysokoci
wiersza do zera. Tych staych naley uywa, aby obliczy SUMY.POREDNIE (lub SUMY.
CZCIOWE) liczb ukrytych i nieukrytych na licie. Uycie parametrw funkcja_nr z zakre-
su od 101 do 111 powoduje, e funkcja SUMY.CZCIOWE uwzgldni tylko wartoci z wierszy
widocznych po uyciu polecenia Ukryj wiersze. Tych staych naley uywa, aby obliczy
funkcj SUMY.CZCIOWE obejmujc tylko te liczby, ktre nie s ukryte na licie.

Jeeli ukrycie wierszy nastpio w wyniku filtrowania, to funkcja SUMY.POREDNIE (lub


SUMY.CZCIOWE) uwzgldnia tylko wiersze widoczne, niezalenie od uytej wartoci
funkcja_nr. Ewentualne dodatkowe ukrycie wierszy poleceniem menu nie zmienia sytuacji

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


276 Excel w obliczeniach naukowych i inynierskich

funkcja SUMY.CZCIOWE uwzgldnia tylko wiersze widoczne, niezalenie od tego, z kt-


rego zakresu wzito warto funkcja_nr. Natomiast w przypadku uycia indywidualnych
funkcji bazowych ukrycie wierszy jest ignorowane, niezalenie od przyczyny ukrycia.
Funkcje te podaj zawsze wyniki dla penych zakresw przekazanych im jako argumenty.

Funkcja SUMY.POREDNIE (lub SUMY.CZCIOWE) jest przeznaczona do obliczania sum ko-


lumn danych lub zakresw pionowych i tylko w obrbie jednego arkusza. Nie jest prze-
znaczona do pracy z wierszami danych ani zakresami poziomymi. I tak w przypadku
obliczania sumy poredniej zakresu poziomego przy uyciu argumentu funkcja_nr rw-
nego 101 lub wikszego, na przykad SUMY.CZCIOWE(109;B2:G2), ukrycie kolumny nie
wpynie na wynik. Jednak ukrycie wiersza w zakresie pionowym bdzie miao wpyw na
sum poredni.

Funkcja SUMY.CZCIOWE jest wykorzystywana w wierszu podsumowa umieszczanym na


dole tabeli po zadeklarowaniu, e tabela ma mie wiersz podsumowa. Uytkownik moe
edytowa ten wiersz, wybierajc potrzebne funkcje.

Jeeli mamy tabel z blokami danych, dla ktrych chcemy obliczy SUMY.POREDNIE (lub
SUMY.CZCIOWE), moemy uy polecenia Sumy porednie z karty Dane (od wersji 2007
polecenia Suma czciowa dostpnego w grupie Konspekt na karcie Dane). Po utworzeniu
listy z sumami czciowymi mona j modyfikowa, edytujc funkcj SUMY.POREDNIE
(lub SUMY.CZCIOWE).

Funkcja SUMY.POREDNIE (lub SUMY.CZCIOWE) rozwizaa problem podsumowa danych


poddawanych filtrowaniu lub czciowo ukrywanych, ale pozosta problem pojawiajcy
si, gdy dane s obliczane i w zakresie podlegajcym podsumowaniu pojawiaj si rnego
rodzaju bdy. W takim przypadku wszystkie dotychczasowe funkcje odmawiaj wsp-
pracy i zwracaj tylko kod bdu.

Prba rozwizania tego problemu pojawia si w Excelu 2010 wraz z wprowadzeniem


nowej funkcji o nazwie AGREGUJ, ktra pozwala ignorowa bdy. Lista funkcji bazowych,
obsugiwanych przez funkcj AGREGUJ, jest ponadto obszerniejsza ni w przypadku funkcji
SUMY.POREDNIE (lub SUMY.CZCIOWE).

Funkcja AGREGUJ ma dwie wersje skadni odwoaniow i tablicow:


forma odwoaniowa
AGREGUJ(funkcja_nr; opcja; adres1; adres2;...)
forma tablicowa
AGREGUJ(funkcja_nr; opcja; tablica; k)

Znaczenie argumentw funkcji jest nastpujce:


funkcja_nr liczba od 1 do 19, okrelajca funkcj bazow, ktra ma by
uyta; znaczenie tego argumentu wyjania tabela 21.3.
opcja liczba od 0 do 7, okrelajca, ktre wartoci z zakresu oblicze
funkcji maj by ignorowane; znaczenie tego argumentu wyjania tabela 21.4.
adres1; adres2 to od 1 do 254 zakresw lub odwoa, dla ktrych naley
obliczy warto zagregowan.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 277

Tabela 21.3. Zestawienie wartoci parametru funkcja_nr i odpowiadajcych im rodzajw funkcji bazowej
Funkcja_nr Rodzaj funkcji bazowej
1 REDNIA
2 ILE.LICZB
3 ILE.NIEPUSTYCH
4 MAX
5 MIN
6 ILOCZYN
7 ODCH.STANDARD.PRBKI
8 ODCH.STAND.POPUL
9 SUMA
10 WARIANCJA.PRBKI
11 WARIANCJA.POP
12 MEDIANA
13 WYST.NAJCZCIEJ.WART
14 MAX.K
15 MIN.K
16 PERCENTYL.PRZEDZ.ZAMK
17 KWARTYL.PRZEDZ.ZAMK
18 PERCENTYL.PRZEDZ.OTW
19 KWARTYL.PRZEDZ.OTW

Tabela 21.4. Zestawienie wartoci parametru opcja i odpowiadajcych im zachowa funkcji AGREGUJ
Opcja Zachowanie
0 lub pominity Pomija zagniedone funkcje SUMY.CZCIOWE i AGREGUJ
1 Pomija ukryte wiersze oraz zagniedone funkcje SUMY.CZCIOWE i AGREGUJ
2 Pomija wartoci bdw oraz zagniedone funkcje SUMY.CZCIOWE i AGREGUJ
3 Pomija ukryte wiersze, wartoci bdw oraz zagniedone funkcje SUMY.CZCIOWE
i AGREGUJ
4 Nie pomija niczego
5 Pomija ukryte wiersze
6 Pomija wartoci bdw
7 Pomija ukryte wiersze i wartoci bdw

W przypadku odwoania w wersji tablicowej argument tablica jest tablic, formu tabli-
cow lub odwoaniem do zakresu komrek, dla ktrych ma zosta obliczona warto za-
gregowana. k jest drugim argumentem wymaganym w niektrych funkcjach. Argumentu k
wymagaj funkcje zebrane w tabeli 21.5.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


278 Excel w obliczeniach naukowych i inynierskich

Tabela 21.5. Funkcje wymagajce argumentu k


Funkcja
MAX.K(tablica;k)
MIN.K(tablica;k)
PERCENTYL.PRZEDZ.ZAMK(tablica;k)
KWARTYL.PRZEDZ.ZAMK(tablica;kwartyl)
PERCENTYL.PRZEDZ.OTW(tablica;k)
KWARTYL.PRZEDZ.OTW(tablica;kwartyl)

Uwagi
Funkcja AGREGUJ, podobnie jak funkcja SUMY.CZCIOWE, operuje tylko na danych w jednym
arkuszu i jest przeznaczona jedynie do kolumn danych i zakresw pionowych. W przypadku
obliczania sumy zagregowanej zakresu poziomego przy uyciu opcji 1, na przykad za
pomoc wyraenia AGREGUJ(1;1; adres1), ukrycie kolumny nie bdzie miao wpywu
na warto sumy zagregowanej. Jednak ukrycie wiersza w zakresie pionowym ma wpyw
na warto zagregowan.

W przypadku funkcji AGREGUJ nie ma znaczenia, czy ukrycie wierszy nastpio w wyniku
uycia filtra, czy polecenia Ukryj wiersze.

Porwnujc dziaanie funkcji AGREGUJ i SUMY.CZCIOWE, mona stwierdzi, e:


uycie funkcji AGREGUJ z opcj 4 odpowiada uyciu funkcji bazowej;
uycie funkcji SUMY.CZCIOWE z numerem funkcji bazowej wikszym od 100
odpowiada uyciu funkcji AGREGUJ z opcj 1;
uycie funkcji SUMY.CZCIOWE z numerem funkcji bazowej z zakresu od 1 do 11
odpowiada uyciu funkcji AGREGUJ z opcj 0, o ile nie uyto filtrowania. Jeeli
zakres by filtrowany to odpowiednikiem jest uycie funkcji AGREGUJ z opcj 1.

Przykady uycia funkcji AGREGUJ i SUMY.CZCIOWE mona znale w pliku pomocy


Excela [15].

Uycie funkcji z grupy bazy danych


W Excelu zdefiniowano 12 funkcji, ktrych nazwy w polskiej wersji rozpoczynaj si od
liter BD i kropki, a ktre przewidziano do obsugi prostych tabel danych. Nazwy tych
funkcji i opis ich dziaania podano w spisie funkcji w rozdziale 24. Wybrane funkcje wbu-
dowane w Excelu. Ich skadnia jest bardzo podobna i w kadym przypadku obejmuje
trzy parametry:
BD.nazwa.funkcji(baza; pole; kryteria)

baza oznacza ca tabel danych lub list wraz z pierwszym wierszem nagwkowym;

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 21. Proste bazy danych 279

pole wskazuje, z ktrego pola tabeli naley odczyta dane do wykonania operacji. Pole
jest identyfikowane albo przez nazw (nagwek kolumny) ujt w cudzysw, albo od-
woanie do komrki zawierajcej t nazw (bez cudzysowu), albo przez numer kolumny
w tabeli danych (pierwsza kolumna z lewej ma numer 1). Parametr pole w przypadku nie-
ktrych funkcji jest opcjonalny;

kryteria oznaczaj zakres komrek zawierajcy kryteria wyboru utworzone zgodnie


z opisem zamieszczonym wczeniej w tym rozdziale przy omawianiu filtrowania zaawan-
sowanego. Kryteria musz obejmowa co najmniej dwa wiersze i dowoln liczb kolumn.
Pierwszy wiersz kryteriw jest wierszem nagwkowym. Wedug warunkw okrelonych
w kryteriach wybiera si rekordy, a nastpnie z tych rekordw pobiera si dane zawarte
w kolumnie pole i na tych danych wykonuje si przewidzian w nazwie funkcji operacj.
Kryteria mog odwoywa si do wszystkich kolumn listy lub bazy danych, na ich pod-
stawie dokonuje si tylko wyboru rekordw, ktre maj by brane pod uwag.

Stosowanie funkcji z tej grupy nie pozwala, niestety, w naturalny sposb wykorzysta
odwoa strukturalnych.

Moliwoci wykorzystania funkcji baz danych zostan zilustrowane przykadami z wyko-


rzystaniem tablicy pierwiastkw.

Przykad 21.1.
Wrd pierwiastkw nalecych do 4. okresu ukadu okresowego naley znale pierwia-
stek o najwikszej gstoci.

Czwarty okres obejmuje pierwiastki o liczbach atomowych od 19 do 36. Jako zakres kry-
teriw wyboru mona przyj na przykad koniunkcj:
L.at. L.at.
>=19 <=36

Zakresowi temu mona nada nazw kryteria. Teraz naley wybra odpowiedni
funkcj. Za pomoc funkcji BD.MAX mona znale najwiksz warto gstoci w za-
kresie okrelonym przez kryteria.
= BD.MAX(TAB; "Gsto"; kryteria)

Zastosowanie tej funkcji da w wyniku warto 8,95.

W nastpnym kroku trzeba ustali, jakiemu pierwiastkowi odpowiada znaleziona gsto.


Do tego wykorzystamy funkcj BD.POLE. Najwygodniej bdzie do zakresu kryteria dopisa
komrk z nagwkiem "Gsto", a pod ni powysze wyraenie z BD.MAX lub odwoanie
do komrki z tym wyraeniem. Poszerzony zakres kryteriw mona nazwa na przykad
kryteria2 i uy jako argumentu funkcji BD.POLE.
= BD.POLE(TAB; "Nazwa"; kryteria2)

W wyniku otrzymamy nazw pierwiastka mied.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


280 Excel w obliczeniach naukowych i inynierskich

Przykad 21.2.
Naley obliczy redni warto elektroujemnoci w grupie wapniowcw, obejmujcej
wap, stront i bar.

Zakres kryteriw obejmuje nagwek "Nazwa" i umieszczone w kolejnych wierszach nazwy


pierwiastkw: wapnia, strontu i baru. Caemu zakresowi mona nada nazw na przykad
kryteria3.

Zadanie rozwiemy, uywajc funkcji:


= BD.REDNIA(TAB; "Elektrouj."; kryteria3)

W wyniku otrzymujemy warto 0,9667.

Przykad 21.3.
Naley obliczy, ile pierwiastkw metalicznych ma temperatur topnienia wysz
od 2000C.

Pierwiastki te musz spenia kryteria:


T.top. Metal
>2000 PRAWDA

Jeli te kryteria umiecimy w zakresie C3:D4, moemy uy funkcji:


= BD.ILE.REKORDW(TAB;;C3:D4)

W wyniku otrzymujemy liczb 10. Warto zwrci uwag, e argument pole zosta w tym
przypadku pominity.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22.
Elementy jzyka VBA
(Visual Basic
for Applications)
Podstawowe informacje
o jzyku programowania VBA
Arkusz kalkulacyjny jest narzdziem obliczeniowym o bardzo rozbudowanych moliwo-
ciach. Jednak zawsze mona znale takie problemy obliczeniowe, ktrych rozwizanie
za pomoc rodkw dostpnych w arkuszu jest niezbyt eleganckie lub wymaga wykonania
zbyt wielu operacji. Czasem te trzeba wykonywa wielokrotnie podobne sekwencje obli-
cze i podana byaby ich automatyzacja. Wreszcie bywa i tak, e osoba wprowadzajca
dane do arkusza nie rozumie istoty wykonywanych oblicze i trzeba przygotowa arkusz
w taki sposb, aby by on w maksymalnym stopniu odporny na ewentualne bdy w danych
i dokonywa ich wstpnej weryfikacji. We wszystkich tych sytuacjach przydatne bdzie
rozszerzenie moliwoci arkusza, jakie daje nam do dyspozycji jzyk Visual Basic.

VBA (skrt angielskiej nazwy Visual Basic for Applications) jest uniwersalnym obiekto-
wym jzykiem programowania zintegrowanym z aplikacjami z pakietu Microsoft Office.
Omwienie wszystkich moliwoci, jakie stwarza zastosowanie tego jzyka, znacznie
przekracza ramy niniejszej ksiki. Ogranicz si wic do wskazania tych elementw
Visual Basica, ktre mog pomc w usprawnieniu oblicze naukowych, pomin za wik-
szo aspektw dotyczcych tworzenia przyjaznego interfejsu uytkownika dla osb
wprowadzajcych dane. Przedstawiony opis jzyka stanowi jego wybrany fragment, co
w praktyce oznacza, e proponowane poniej rozwizania i pomysy nie wyczerpuj
wszystkich dostpnych moliwoci. Znaczn cz dostpnych rodkw i funkcji Visual
Basica wiadomie pominem, aby nie rozbudowywa zanadto tej czci ksiki. Zainte-
resowanym bardziej szczegowo tym jzykiem mog poleci wydan niedawno ksik
Walkenbacha [14].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


282 Excel w obliczeniach naukowych i inynierskich

W Visual Basicu mona tworzy podprogramy (makroinstrukcje), ktre wywouje si p-


niej z poziomu arkusza, oraz funkcje uytkownika (funkcje definiowane), ktrych mona
uywa w wyraeniach, tak jak funkcji standardowych. Podprogramy (makroinstrukcje),
ktre su do automatyzacji czsto powtarzanych operacji, mona rwnie rejestrowa
jako sekwencje polece wydawanych z klawiatury lub za pomoc myszki. Te polecenia s
automatycznie tumaczone na instrukcje jzyka VBA i mog by pniej modyfikowane
(edytowane) jak kod napisany od razu w Visual Basicu. Osobicie preferuj samodzielne
tworzenie kodu programu, gdy ten wygenerowany automatycznie podczas rejestracji
makroinstrukcji jest zwykle mao czytelny i zawiera duo zbdnych zapisw. Rejestracj
mona jednak wykorzysta, aby zorientowa si, jakie instrukcje VBA odpowiadaj okre-
lonym operacjom przeprowadzanym w arkuszu.

Pewn trudno dla uytkownikw polskiej wersji Excela moe stanowi fakt, e Visual
Basic pozosta w wersji oryginalnej (angielskiej dotyczy to take pliku pomocy [15]).
Konsekwencj tego jest nie tylko konieczno uywania angielskich nazw sw klu-
czowych i funkcji, ale rwnie separatorw waciwych dla angielskiej wersji (kropka
dziesitna zamiast przecinka, przecinek zamiast rednika jako separator parametrw
funkcji itd.).

Ze wzgldu na inn struktur instrukcji jzyka Visual Basic w stosunku do formu sto-
sowanych w arkuszu kalkulacyjnym w tym rozdziale przyjto nieco inny sposb pre-
zentacji kodu. Sowa kluczowe jzyka VBA (w oknie kodu wywietlane na niebiesko)
s pisane czcionk pogrubion prost, t sam czcionk stosuj do nazw predefinio-
wanych funkcji, metod i waciwoci. Nazwy zmiennych i funkcji definiowane przez
uytkownika oraz nazwy obowizkowych argumentw funkcji pisane s czcionk po-
grubion pochy, natomiast nazwy argumentw opcjonalnych (ktre mona pomin)
czcionk pochy niepogrubion. Stae i operatory dziaa, jak rwnie okrelenia
oglne w rodzaju instrukcja pisane s czcionk zwyk. Komentarze (w oknie kodu
wywietlane na zielono) s pisane czcionk pochy.

Do kodowania programw w Visual Basicu i analizy oraz uruchamiania istniejcego kodu


suy specjalny edytor, uruchamiany w odrbnym oknie. Po otwarciu arkusza kalkula-
cyjnego przechodzimy do okna Visual Basica, naciskajc rwnoczenie klawisze Alt+F11
lub wybierajc z menu Narzdzia/Makro/Edytor Visual Basic. (W wersji 2007 naley naj-
pierw nacisn Przycisk pakietu Office w lewym grnym rogu ekranu i w Opcjach pro-
gramu Excel zaznaczy Poka kart Deweloper na Wstce. W wersji 2010 z menu Plik
naley wybra Opcje/Dostosowywanie wstki, a nastpnie na licie Karty gwne zazna-
czy kart Deweloper. Nastpnie naley otworzy t kart i wybra ikon Visual Basic).
Okno edytora jest z reguy podzielone na kilka mniejszych okien, ktre mona stosownie
do potrzeb otwiera i zamyka, a ktre speniaj rne pomocnicze funkcje przy edycji
i uruchamianiu kodu programw. Przykadowy wygld okna edytora Visual Basica zosta
przedstawiony na rysunku 22.1.

Podstawowe okna edytora to okno Przegldarki Projektw (Project Explorer) i okno Kodu
programu (Code). Dodatkowe opcjonalne okna to okno Waciwoci (Properties), okno
Podgldu zmiennych (Watches), okno Zmiennych lokalnych (Locals), okno Oblicze bez-
porednich (Immediate), okno Przegldarki Obiektw (Object Browser).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 283

Rysunek 22.1. Okno edytora Visual Basica (przykadowa konfiguracja)

Z kadym arkuszem w skoroszycie zwizana jest karta kodu, w ktrej mona zapisa pod-
programy; bd one uruchamiane w tym arkuszu. Karty te s przeznaczone przede wszyst-
kim do zapisania w nich procedur obsugi zdarze, take tych wykorzystywanych w zwiz-
ku z uyciem formantw ActiveX, o ktrych szczegowo pisz w nastpnym (23.)
rozdziale. W utworzonych dodatkowo kartach moduw (poleceniem Insert Module)
mona zdefiniowa podprogramy i funkcje dostpne rwnie w innych arkuszach. Funkcje
te mona wywoywa w arkuszu jako funkcje uytkownika.

Wspomniane ju zostay dwie kategorie podprogramw w Visual Basicu: s to podpro-


gramy typu makropolece identyfikowane sowem kluczowym Sub oraz podprogramy typu
funkcji rozpoczynajce si od sowa Function. Istnieje jeszcze jedna kategoria procedur:
procedury waciwoci (Property), ale nie bdziemy ich tu omawia. Makropolecenia
(w skrcie nazywane makrami) obejmuj sekwencj instrukcji jzyka VBA, w wyniku
ktrej dokonuje si pewnych zmian w arkuszu lub jego zmiennych globalnych, moe te
nastpi przesanie danych do portw zewntrznych, na przykad do drukarki. Makropo-
lecenia uruchamia si z poziomu arkusza poleceniem Narzdzia/Makro/Makra (w wersji
2007 Deweloper/Makra) lub za pomoc przypisanej do makropolecenia specjalnej se-
kwencji klawiszy. Mona rwnie umieci w arkuszu tzw. Przycisk polecenia, czyli spe-
cjalny znak graficzny, ktry mona powiza z makropoleceniem. Kliknicie myszk tego
przycisku spowoduje uruchomienie makra. Ten sposb bdzie omwiony dokadniej
w rozdziale 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty). Istniej
te inne sposoby uruchamiania makropolece, ktre nie bd tu omawiane. Zadaniem
podprogramu typu funkcji (zwykle bd uywa skrtowej nazwy funkcja) jest natomiast
wykonanie pewnych oblicze i przekazanie ich wyniku do dalszego przetwarzania.
Funkcja nie moe dokonywa adnych zmian w stanie arkusza ani adnych dodatkowych
akcji typu: formatowanie, drukowanie, otwieranie nowych arkuszy itp. Funkcje zazwyczaj
wywouje si w arkuszu, uywajc ich nazw w wyraeniach, analogicznie do funkcji
wbudowanych Excela. Funkcje i makropolecenia mog by take wywoywane wewntrz-
nie przez inne funkcje i makra w Visual Basicu.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


284 Excel w obliczeniach naukowych i inynierskich

W definicji funkcji i makropolece mog wystpi parametry, tzn. zmienne, ktrym


w momencie wywoania funkcji lub makra s nadawane pewne wartoci tzw. argu-
menty wywoania. Jednak gdy makro jest wywoywane z arkusza, nie ma moliwoci
przekazania argumentw. Mona natomiast przekazywa argumenty do funkcji.

Struktura podprogramw w VBA


Kade makropolecenie rozpoczyna si od sowa kluczowego Sub, a koczy sowami
End Sub. Po sowie kluczowym Sub naley poda nazw makra. Nazwa ta powinna wyja-
nia jego przeznaczenie. Zaraz za nazw umieszcza si list parametrw, oddzielonych
przecinkami, ujt w nawiasy okrge. Jeeli makro nie ma parametrw, trzeba pozosta-
wi puste nawiasy. Po nawiasie zamykajcym naley nacisn klawisz Enter. Gdy kursor
przejdzie do nowej linii, edytor dopisze automatycznie w kolejnej linii sowa End Sub ko-
czce makropolecenie. Wszystkie polecenia skadajce si na tre makra naley wpisywa
w kolejnych liniach przed lini z End Sub.

Struktura funkcji w VBA jest podobna, z tym e zamiast sowa Sub uywa si sowa
Function. Poniewa funkcja powinna zwraca wynik do wyraenia, ktre j wywouje,
naley umieci w treci funkcji wiersz
NazwaFunkcji = wynik

NazwaFunkcji jest nazw uyt w pierwszym wierszu po sowie kluczowym Function.


Przy nadawaniu wartoci za NazwFunkcji nie umieszcza si nawiasw ani argumentw.
Wynik jest dowolnym wyraeniem. W treci funkcji przypisanie wyniku do NazwyFunkcji
moe wystpi kilkakrotnie, a powinno by wykonane co najmniej raz. NazwaFunkcji moe
by traktowana tak jak zwyka zmienna uywana w treci funkcji, czyli moe wystpi
rwnie po prawej stronie znaku rwnoci (bez nawiasw i argumentw). NazwaFunkcji
moe wystpi po prawej stronie znaku rwnoci rwnie z nawiasami i list argumentw,
ale wtedy bdzie to ponowne wywoanie tej samej funkcji z jej wntrza, czyli tzw. wy-
woanie rekurencyjne. Przykady treci funkcji podane bd dalej.

Makropolecenie utworzone
w wyniku rejestracji
Czsto powtarzane czynnoci mona zarejestrowa za pomoc Rejestratora Makropolece.
Wynikiem rejestracji jest kod w Visual Basicu, ktry mona potem podda edycji, dodajc
dodatkowe polecenia lub usuwajc zbdne. Aby zarejestrowa makroinstrukcj, naley
w arkuszu wybra z menu polecenie Narzdzia/Makro/Zarejestruj nowe makro (od wersji
2007 Deweloper/Zarejestruj makro). Pojawi si wwczas okno dialogowe Nowe makro
(od wersji 2007 Rejestrowanie makra), w ktrym trzeba poda nazw, skrt klawiszowy,
miejsce przechowywania i opis tworzonego makropolecenia. Poza skrtem klawiszowym
mona zaakceptowa wartoci domylne proponowane przez Excela. Po potwierdzeniu

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 285

przyciskiem OK kade nacinicie klawisza bdzie od tej chwili rejestrowane. Rwno-


czenie w arkuszu pojawi si mae okienko z dwoma przyciskami pierwszy suy do
zakoczenia rejestracji, a drugi do zmiany stylu odwoa z absolutnych na wzgldne (od
wersji 2007 koczenie rejestracji i zmiana stylu odwoa nastpuje w menu Deweloper).

Jako przykad zarejestrujmy makropolecenie suce do zmiany formatu komrki na na-


ukowy, ktre nastpnie poddamy edycji. Wczamy rejestracj makropolecenia, jak opi-
sano powyej, w oknie Nowe makro (Rejestrowanie makra w wersji 2007 lub 2010),
w polu nazwy zamiast proponowanej Makro1 wpisujemy na przykad MjNaukowy, w polu
skrtu klawiszowego wpisujemy n. Oznacza to, e makro bdzie mona potem wywoa
klawiszami Ctrl+n. Potwierdzamy OK i rozpoczynamy rejestracj. Z menu wybieramy
Format/Komrki/Liczby/Naukowe (od wersji 2007 Narzdzia gwne/Liczba/Naukowe),
zmieniamy miejsca dziesitne na 3 i zatwierdzamy OK. Po powrocie do arkusza koczymy
rejestracj (od wersji 2007 Deweloper/Zatrzymaj rejestrowanie) i przeczamy si do VBA
(Alt+F11). Zarejestrowany kod znajdziemy w nowym module (Module1) przypisanym do
otwartego skoroszytu. Nazwa moduu bdzie widoczna w oknie Przegldarki Projektw.
Jeeli w skoroszycie byy ju jakie moduy, nadany zostanie kolejny numer. Klikajc
dwukrotnie myszk nazw moduu, spowodujemy wywietlenie treci zarejestrowanego
makra w oknie kodu programu. Powinnimy zobaczy obraz podobny do pokazanego na
rysunku 22.2. Poza opisem zawartym w komentarzu makro zawiera jedn instrukcj:
Selection.NumberFormat = "0.000E+00"

Rysunek 22.2. Okno kodu zarejestrowanego makropolecenia

Zmienimy teraz kod formatu tak, aby po literce E wywietlana bya tylko jedna cyfra
wykadnika i bez znaku +. Zmieniony wzorzec formatu bdzie mia posta "0.000E0".
Po wprowadzeniu zmian naley wrci do arkusza (pierwszy przycisk na linii polece
z ikonk arkusza). Sprawdzimy teraz, czy makro dziaa zgodnie z naszymi oczekiwaniami.
Do dowolnej komrki naley wpisa jak warto liczbow, zatwierdzi przez Enter.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


286 Excel w obliczeniach naukowych i inynierskich

Nastpnie, zachowujc podwietlenie komrki z t liczb, naley nacisn Ctrl+n, aby


sprawdzi, czy format zmieni si zgodnie z naszymi zaoeniami. Zapisujc arkusz na
dysku, wraz z nim zapisujemy zdefiniowane w nim makropolecenia i funkcje.

Skoroszyt makr osobistych


i folder AddIns
Przed zarejestrowaniem nowego makra w oknie dialogowym naley wskaza m.in. miej-
sce przechowywania tego makra. Jedn z moliwoci jest skoroszyt makr osobistych. To
specjalny skoroszyt o nazwie Personal.xls, ktry jest otwierany automatycznie po kado-
razowym otwarciu Excela. Jest to dobre miejsce do przechowywania makropolece uni-
wersalnych, do ktrych zawsze chcemy mie dostp.

Innym dobrym miejscem do zapisania wanych funkcji o uniwersalnym zastosowaniu,


a take makropolece, jest folder o nazwie AddIns. Zawiera on rozszerzenia Excela, ktre
mona potem uaktywni z menu Narzdzia/Dodatki (w wersji 2007 Przycisk pakietu
Office/Opcje programu Excel/Dodatki, w wersji 2010 Plik/Opcje/Dodatki), a po uaktyw-
nieniu mona korzysta z nich jak z funkcji standardowych. Aby zapisa arkusz z funkcj
lub makropoleceniem jako dodatek, naley wybra z menu Excela Plik/Zapisz jako
(w wersji 2007 Przycisk pakietu Office, w wersji 2010 Plik, dalej Zapisz jako/Inne formaty),
a nastpnie jako typ pliku wskaza Dodatek Microsoft Excel (*.xla) jest to ostatnia
pozycja na licie typw plikw (od wersji 2007 *.xlam).

Uruchamianie makropolece
Z poziomu arkusza kalkulacyjnego najczciej uruchamiamy makro, korzystajc ze skrtu
klawiaturowego zdefiniowanego przy rejestracji. Innym sposobem jest skorzystanie z po-
lecenia menu Narzdzia/Makro/Makra (od wersji 2007 Deweloper/Makra) lub skrtu kla-
wiaturowego Alt+F8. Pojawia si okno dialogowe z list dostpnych makropolece, z ktrej
wybieramy waciwe, potem naciskamy przycisk Uruchom. W tym samym oknie znaj-
dziemy przyciski, ktre przenios nas do okna edycji kodu makro i umoliwi jego edycj
lub uruchomienie krokowe (jeli chcemy sprawdzi, dlaczego makro nie robi dokadnie
tego, czego oczekiwalimy). Przycisk Opcje umoliwia przypisanie lub zmian skrtu kla-
wiaturowego oraz edycj opisu makra. Inne bardziej wyrafinowane metody uruchamiania
makr wymagaj modyfikacji menu, zdefiniowania dodatkowego przycisku na pasku narz-
dzi lub utworzenia specjalnego przycisku w arkuszu. Ten ostatni sposb opisaem w na-
stpnym (23.) rozdziale, opisy pozostaych mona znale w literaturze, na przykad [14].

Podczas pracy nad makropoleceniem czsto uruchamiamy je z poziomu edytora VBA.


Suy do tego klawisz F5 lub przycisk na pasku narzdzi w ksztacie maego granatowego
trjkta. Istnieje te moliwo uruchomienia krokowego klawiszem F8. W trakcie wyko-
nywania makropolecenia w trybie krokowym widoczny jest jego kod rdowy z moli-
woci ledzenia oblicze i dziaa, co bardzo uatwia wykrycie ewentualnych bdw.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 287

Istnieje te moliwo wykonywania kodu do ustalonego miejsca (poprzez zdefiniowanie


tzw. puapek, ang. Breakpoints, albo wykonanie kodu do miejsca kursora Ctrl+F8).
Wszystkie dostpne opcje znajdziemy w menu Run, Debug i Tools.

Wprowadzanie kodu VBA w edytorze


Jak ju wspominaem, cz kodu makroinstrukcji mona wygenerowa automatycznie
przez rejestracj akcji wykonywanej w arkuszu. Wikszo kodu trzeba jednak z reguy
wprowadzi rcznie w edytorze. Mamy tu do dyspozycji szereg uatwie. Skadnia wpro-
wadzanych polece jest sprawdzana na bieco i jeli wystpi jakie bdy, tekst jest
wywietlany w kolorze czerwonym. Po sprawdzeniu skadni sowa kluczowe VBA s
w kolorze niebieskim, stae, zmienne i operatory w kolorze czarnym, komentarze s wy-
wietlane na zielono.

Koniec linii w VBA nie moe wystpi w dowolnym miejscu kodu. Jeeli linia kodu jest
bardzo duga, mona pozostawi j w takiej formie, godzc si z koniecznoci przewijania
okna w celu inspekcji kodu, albo podzieli lini na krtsze segmenty, wprowadzajc spe-
cjalne znaki kontynuacji. Znakiem umoliwiajcym kontynuacj logiczn tej samej linii
w nastpnym wierszu jest sekwencja: znak podkrelenia (_) oraz Enter. Sekwencja ta
moe wystpi w linii kodu po spacji, ale nie wewntrz tekstu ujtego w cudzysw.

Moe rwnie wystpi sytuacja odwrotna. Jeeli logiczne linie kodu s bardzo krtkie,
moemy umieci kilka linii logicznych w jednym wierszu, oddzielajc je znakiem
dwukropka (:).

Piszc makropolecenia lub funkcje, musimy nada nazwy, zarwno im samym, jak i ewen-
tualnym parametrom, a take zmiennym wystpujcym w ich treci. Nazwa w VBA jest
dowolnym cigiem liter, cyfr i znakw podkrelenia, zaczynajcym si od litery (mona
uywa polskich liter). Mae i due litery w nazwach nie s rozrniane, ale edytor VBA
koryguje ukad duych i maych liter, aby zachowa zgodno z pisowni w deklaracji
zmiennej. Jeeli zmienna nie bya deklarowana, obowizujcym wzorcem pisowni jest
ostatnie uycie zmiennej. Zaleca si rozpoczyna nazwy zmiennych od maej litery, a nazwy
makropolece i funkcji od duej. Nie mona uy jako nazwy zmiennej sowa kluczowego.
Naley te unika nazw, ktre s wykorzystywane przez VBA. Dlatego sensownie jest
pisa wszystkie nazwy maymi literami lub przynajmniej rozpoczyna od maej litery.
Jeeli nazwa przejdzie kontrol skadni bez zmian, oznacza to, e jest prawidowa i moe
by uyta. Jeli pierwsza litera nazwy zmieni si na du oznacza to, e ta nazwa ma
ju przypisane jakie znaczenie w Visual Basicu i naley j zmodyfikowa. Jeli wiadomie
zamierzamy uy jakiej nazwy predefiniowanej, te warto pisa j maymi literami
edytor automatycznie skoryguje pisowni, pod warunkiem e jest prawidowa; brak
korekty moe oznacza, e popenilimy bd w nazwie lub e nie mona jej uy w da-
nym miejscu.

Nazwa powinna wyjania przeznaczenie danej funkcji, makra czy zmiennej. Uatwia to
pniejsze ich uycie. Nie naley si obawia dugich nazw makropolece i funkcji, bo
uywajc ich, dokonuje si wyboru z listy nie trzeba ich wpisywa rcznie. W nazwach

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


288 Excel w obliczeniach naukowych i inynierskich

nie mona uywa spacji jeeli nazwa skada si z kilku sw, mona je rozdzieli
znakiem podkrelenia albo rozpoczynajc kolejne sowo du liter. W przeciwiestwie
do nazw uywanych w arkuszu nie mona tu stosowa kropki do rozdzielania fragmentw
nazwy kropka ma w VBA specjalne znaczenie.

Nazwy zmiennych lokalnych uywanych wewntrz makra czy funkcji te powinny wyja-
nia ich przeznaczenie. Gdy powrcimy do kodu po duszej przerwie, uatwi nam to
przypomnienie sobie jego dziaania. Na etapie edycji i uruchamiania kodu mona posu-
giwa si krtkimi, roboczymi nazwami zmiennych, ale gdy kod jest ju gotowy, po-
winno si zmieni nazwy zmiennych na dusze, ale lepiej oddajce ich sens.

Prosta funkcja w VBA


Jako prosty przykad rozwamy funkcj obliczajc pole trjkta na podstawie dugoci
jego bokw (ze wzoru Herona). Wzr ten ma posta

S= p( p a)( p b)( p c) gdzie p = (a + b + c) / 2

Funkcja musi by umieszczona w module, aby mona byo wywoa j z arkusza kalkula-
cyjnego. W jednym module moe by zapisanych kilka makropolece i funkcji, wic
mona otworzy istniejcy modu lub utworzy nowy. Tre funkcji trzeba wprowadzi
z klawiatury (nie mona funkcji zarejestrowa, tak jak makropolecenia). W otwartym
oknie kodu naley wpisa:
Function Pole_trjkta(a,b,c)
p = (a+b+c)/2
Pole_trjkta = Sqr(p*(pa)*(pb)*(pc))
End Function

W treci naszej funkcji uyto standardowej funkcji VBA o nazwie Sqr, ktra oblicza pier-
wiastek kwadratowy z liczby podanej jako argument. Funkcj Pole_trjkta mona wy-
woa zarwno w kodzie VBA, jak i w arkuszu. W obu przypadkach wywoanie funkcji
polega na wpisaniu w wyraeniu jej nazwy oraz listy argumentw, ujtej w nawiasy okrge.
Rne bd jednak separatory argumentw: w arkuszu (w polskiej wersji) rednik,
w kodzie VBA przecinek. Jako argumentw mona uy formalnie dowolnych liczb
wynik bdzie reprezentowa pole trjkta, jeeli argumenty mog by dugociami bo-
kw trjkta. Funkcja nie sprawdza poprawnoci tych danych.

Modyfikujc nieco funkcj obliczajc pole, moemy wprowadzi element weryfikacji


poprawnoci danych:
Function Pole_trjkta2(a,b,c)
p = (a+b+c)/2
Pole_trjkta2 = Sqr(p)*Sqr(pa)*Sqr(pb)*Sqr(pc)
End Function

W tym przypadku kady z czynnikw uytych do obliczenia pola musi by liczb nie-
ujemn, w przeciwnym razie funkcja zwrci bd #ARG!.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 289

Funkcj zdefiniowan w module VBA mona odnale w arkuszu na licie funkcji uyt-
kownika i wstawi j za pomoc polecenia menu Wstaw/Funkcja (od wersji 2007 Formuy/
Wstaw funkcj) lub odpowiedniej ikonki fx na pasku narzdzi. Pojawi si standardowe
okno umoliwiajce wpisanie wartoci argumentw w oddzielnych polach. Jeeli nazw
funkcji wpiszemy z pamici, ale nie pamitamy, jakie argumenty ma funkcja, mona po
nazwie funkcji nacisn Ctrl+A lub Ctrl+Shift+A. W pierwszym przypadku otworzy si
okno dialogowe argumentw funkcji, w drugim w wierszu edycji formuy pojawi si lista
parametrw wywoania, ktr naley zastpi wartociami argumentw. Ponadto w now-
szych wersjach Excela dostpna jest funkcja Autouzupeniania, ktra po rozpoczciu pisania
nazwy podpowiada, co mona wpisa dalej.

Gdy uywamy okna dialogowego przy wstawianiu do wyraenia funkcji standardowej


Excela, widzimy krtki opis przeznaczenia tej funkcji i wyniku jej dziaania. Podobny opis
mona doda rwnie do funkcji definiowanych przez uytkownika. O ile jednak doda-
wanie opisu do makropolecenia jest do oczywiste, o tyle w przypadku funkcji wymagane
jest pewne know-how. Po zdefiniowaniu funkcji naley otworzy okno dialogowe makr.
W starszych wersjach Excela suy do tego sekwencja Narzdzia/Makro/Makra, a od wersji
2007 Deweloper/Makra. W kadej wersji mona te uy skrtu klawiaturowego Alt+F8.
Pojawia si okno dialogowe z list dostpnych makropolece, lecz nie ma na niej funkcji.
Mimo to naley wpisa w polu Nazwa makra nazw funkcji, dla ktrej chcemy zredago-
wa opis, a nastpnie klikn przycisk Opcje i wpisa odpowiedni tekst w polu Opis.
Okienko z opisem zamykamy normalnie przez OK, natomiast okno makr zamykamy
przyciskiem Anuluj. Opis funkcji bdzie teraz wywietlany za kadym razem po otwar-
ciu okienka wstawiania funkcji. Nie da si jednak w ten sposb opisa parametrw funkcji
bd wywietlane tylko ich nazwy.

Zmienne typy i deklaracje


W VBA nie ma komrek jak w arkuszu, wic do przechowywania danych su zmienne.
Zmienna jest wydzielonym obszarem pamici, identyfikowanym przez swoj nazw.
Liczba bajtw przeznaczonych na zmienn zaley od jej typu, czyli rodzaju danych, jakie
bd przechowywane. Zestawienie dostpnych typw zmiennych w Visual Basicu zawiera
tabela 22.1.

Typ zmiennej mona zadeklarowa, posugujc si sowem kluczowym As. Sam zmienn
deklaruje si po sowie kluczowym Dim. Deklaracja zmiennej moe przybra na przykad
posta:
Dim pole As Single

Sze najczciej uywanych typw danych mona zadeklarowa, dodajc na kocu na-
zwy specjalny znak identyfikacyjny (podany w tabeli 22.1), zwany dalej deklaratorem.
Znak ten wchodzi w skad nazwy zmiennej. Powysz deklaracj mona wic zapisa
w sposb skrcony jako:
Dim pole!

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


290 Excel w obliczeniach naukowych i inynierskich

Tabela 22.1. Standardowe typy zmiennych w VBA


Deklarator
Nazwa typu danych Liczba bajtw Zakres wartoci (ostatni znak
nazwy opcja)
Boolean (logiczny) 2 True lub False
Byte 1 cakowite 0 255
Integer (cakowity) 2 cakowite 32768 32767 %
9 9
Long (cakowity) 4 cakowite 2,1510 2,1510 &
Single (rzeczywisty) 4 rzeczywiste 3,41038 1,41045, !
7 cyfr znaczcych
Double (rzeczywisty) 8 rzeczywiste 1,810308 4,910324, #
15 cyfr znaczcych
Currency (rzeczywisty 8 rzeczywiste 9,221014 9,221014, @
staoprzecinkowy) 4 cyfry po przecinku
Date (data) 8 1.01.100 31.12.9999
String * n (tekst dugo tekstu 0 65 535 znakw $
o ustalonej dugoci) (n jest liczb)
String (tekst o zmiennej 10+dugo tekstu 0 okoo 2109 znakw $
dugoci)
Object 4 dowolny obiekt VBA
Variant (liczby) 16 zakres typu Double
Variant (znaki) 22+dugo tekstu zakres jak String zmiennej dugoci

Mona te pomin jawn deklaracj, wystarczy uycie nazwy z deklaratorem w wy-


raeniu, na przykad:
pole! = 2.83

W kolejnych odwoaniach do tej zmiennej mona zachowa deklarator lub go pomija,


nie mona jednak uy innego deklaratora typu; bdzie to potraktowane jako bd, a nie
deklaracja nowej zmiennej. Jeeli pierwsze uycie zmiennej jest bez deklaratora typu, bdzie
to interpretowane jako niejawna deklaracja typu Variant i pniejsze uycie jakiegokol-
wiek deklaratora zostanie uznane za bd. Generalnie jednak taki sposb deklaracji typu
zmiennej nie jest zalecany i jest dostpny gwnie ze wzgldu na zgodno z wczeniej-
szymi odmianami Basica.

W jednym wierszu mona zadeklarowa kilka zmiennych, oddzielajc deklaracje przecin-


kami. Jeli uywamy formy As nazwa_typu, musi ona wystpi po kadej nazwie zmien-
nej, na przykad:
Dim m As Integer, n As Integer

Deklaracja Dim m, n As Integer oznaczaaby, e zmienna m ma by typu Variant.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 291

Deklaracje zmiennych mog wystpi na pocztku moduu, przed makroinstrukcjami


i funkcjami (wtedy zakres obowizywania deklaracji obejmuje cay modu) lub na pocztku
makroinstrukcji lub funkcji (po nagwku wtedy deklaracja dotyczy tylko tego makra
lub funkcji). Deklarowanie zmiennych prostych nie jest w VBA obowizkowe, jest jednak
bardzo wskazane. Konieczne jest natomiast deklarowanie tablic. Domylny typ zmiennej
to typ Variant. Kada zmienna uyta bez wczeniejszej deklaracji lub gdy w deklaracji
zmiennej nie podano typu, jest typu Variant. Zadeklarowanie typu zmiennej pozwala na
oszczdno pamici i nieco przyspiesza obliczenia.

Jeeli zmienna zostaa zadeklarowana, przy kadym jej uyciu pisownia (ukad maych
i duych liter) zostanie uzgodniona ze wzorcem zawartym w deklaracji. Jeeli na pocztku
moduu wpisana zostanie dyrektywa Option Explicit, wszystkie zmienne musz by de-
klarowane. Zaleca si uywanie tej dyrektywy, gdy zapobiega to omykowemu wpisaniu
bdnej nazwy zmiennej. Bez niej komputer potraktowaby tak bdn nazw jako now
zmienn.

Wyraenia
Do nadawania wartoci zmiennym suy instrukcja przypisania, ktra ma posta:
zmienna = wyraenie

Po lewej stronie instrukcji moe wystpi nazwa zmiennej prostej, elementu tablicy, caej
tablicy, nazwa funkcji lub nazwa komponentu obiektu. Po prawej stronie znaku rwnoci
moe wystpi dowolne wyraenie, czyli cig staych, zmiennych, wywoa funkcji po-
czonych znakami dziaa, z moliwoci uycia nawiasw okrgych. Warto wyraenia
jest obliczana zgodnie z obowizujc w VBA kolejnoci wykonywania dziaa, a na-
stpnie wynik jest zapamitywany w zmiennej, ktrej nazwa wystpuje po lewej stronie
znaku rwnoci.

Naley pamita, e znak rwnoci uywany w instrukcji przypisania nie jest tosamy ze
znakiem rwnoci w sensie matematycznym. Poprawn i czsto uywan form instrukcji
przypisania jest inkrementacja zmiennej, na przykad:
k = k+1
co oznacza, e naley pobra warto zmiennej k, zwikszy j o 1, a nastpnie zapamita
jako now warto zmiennej k. Przypisanie wartoci odbywa si zawsze od prawej strony
w kierunku lewej.

Znak rwnoci moe rwnie wystpi w wyraeniu jako operator relacji rwnoci i w tym
przypadku ma on znaczenie takie jak w matematyce.

Lista operatorw dziaa dostpnych w Visual Basicu i ich kolejno wykonywania


nieco rni si od analogicznej listy operatorw w Excelu (por. tabela 2.1 w rozdziale 2.
Podstawowe operacje w arkuszu). Wykaz operacji w wyraeniach VBA zestawiono
w tabeli 22.2.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


292 Excel w obliczeniach naukowych i inynierskich

Tabela 22.2. Lista operatorw w Visual Basicu, ich priorytety i znaczenie


Priorytet Operator Dziaanie Opis
1 ^ (daszek) Potgowanie Podnosi argument z lewej strony do potgi
okrelonej przez argument z prawej strony
2 (minus) Negacja Zmiana znaku argumentu z prawej strony
operatora
3a * (gwiazdka) Mnoenie Iloczyn argumentw z lewej i prawej strony
3b / (ukonik) Dzielenie Iloraz argumentu z lewej strony przez
argument z prawej strony
4 \ (ukonik wsteczny) Dzielenie cakowite Cz cakowita ilorazu argumentw,
powstaa przez obcicie czci uamkowej
5 Mod Reszta z dzielenia Reszta z dzielenia cakowitego a przez b,
cakowitego obliczona jako a(a\b)*b
6a + (plus) Dodawanie Suma argumentw z lewej i prawej strony
6b (minus) Odejmowanie Rnica pomidzy argumentem z lewej
strony a argumentem z prawej strony
7 & (handlowe i, Zczenie tekstw Tworzy jeden tekst z argumentw z lewej
ampersand) i prawej strony
8a = (znak rwnoci) Relacja rwnoci Zwraca warto logiczn True, jeeli
argumenty po obu stronach s rwne,
w przeciwnym razie zwraca warto False
8b > (znak wikszy ni) Relacja wikszoci Zwraca warto logiczn True, jeeli argument
po lewej stronie jest wikszy od argumentu
po prawej stronie, w przeciwnym razie zwraca
warto False
8c < (znak mniejszy ni) Relacja mniejszoci Zwraca warto logiczn True, jeeli argument
po lewej stronie jest mniejszy od argumentu
po prawej stronie, w przeciwnym razie zwraca
warto False
8d >= (znak wikszy ni Relacja sabej Zwraca warto logiczn True, jeeli argument
i znak rwnoci) wikszoci po lewej stronie jest wikszy lub rwny
argumentowi po prawej stronie, w przeciwnym
razie zwraca warto False
8e <= (znak mniejszy ni Relacja sabej Zwraca warto logiczn True, jeeli argument
i znak rwnoci) mniejszoci po lewej stronie jest mniejszy lub rwny
argumentowi po prawej stronie, w przeciwnym
razie zwraca warto False
8f <> (znak mniejszy ni Relacja nierwnoci Zwraca warto logiczn True, jeeli
i znak wikszy ni) argumenty po obu stronach nie s rwne,
w przeciwnym razie zwraca warto False
8g Like Zgodno tekstu Zwraca warto logiczn True, jeeli tekst po
z wzorcem lewej stronie jest zgodny z wzorcem po prawej
stronie. Szczegy w pliku pomocy VBA [15]
8h Is Tosamo Sprawdza, czy dwa odwoania dotycz tego
obiektw samego obiektu

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 293

Tabela 22.2. Lista operatorw w Visual Basicu, ich priorytety i znaczenie cig dalszy
Priorytet Operator Dziaanie Opis
9 Not Negacja logiczna Zmienia warto logiczn argumentu z True
na False lub odwrotnie
10 And Iloczyn logiczny Zwraca warto logiczn True, jeeli
(koniunkcja) argumenty po obu stronach maj warto
True; jeeli cho jeden z argumentw
ma warto False, zwraca False
11 Or Suma logiczna Zwraca warto logiczn False, jeeli
(alternatywa) argumenty po obu stronach maj warto
False; jeeli cho jeden z argumentw
ma warto True, zwraca True
12 Xor Alternatywa Zwraca warto logiczn True, jeeli
wyczajca argumenty po obu stronach maj rne
wartoci logiczne; jeeli oba argumenty maj
t sam warto logiczn, zwraca False
13 Eqv Rwnowano Zwraca warto logiczn True, jeeli
logiczna argumenty po obu stronach maj takie same
(ekwiwalentno) wartoci logiczne, jeeli oba argumenty
maj rne wartoci logiczne, zwraca False
14 Imp Wynikanie Zwraca warto logiczn False, jeeli
(implikacja) argument po lewej stronie ma warto True,
a argument po prawej stronie warto False,
w pozostaych przypadkach zwraca True

Operatory, ktre oznaczono t sam liczb z rnymi literami, maj taki sam priorytet, co
oznacza, e obliczanie odbywa si od lewej do prawej strony. Aby zmieni kolejno wyko-
nywania dziaa, ujmujemy fragmenty wyraenia w nawiasy okrge, nawiasy mog by
zagniedane. Zawarto nawiasw jest obliczana w pierwszej kolejnoci, poczwszy od
najbardziej zagniedonej pary. Wewntrz nawiasw obowizuje standardowa kolejno.

Oglna kolejno dziaa jest nastpujca: najpierw operacje arytmetyczne, nastpnie


operacje porwnania (relacji) o jednakowym priorytecie, na kocu operacje logiczne.
Operatory logiczne mog by rwnie uyte do porwnywania wartoci numerycznych
bit po bicie. Szczegy mona znale w pliku pomocy VBA [15].

Porwnujc list dziaa w Excelu i w Visual Basicu oraz ich kolejno, naley zauway
zamienion kolejno operatorw potgowania i negacji arytmetycznej. Ponadto niektre
operacje, wymagajce w Excelu uycia funkcji, tu mog by realizowane prociej za
pomoc operatorw. S to wszystkie operacje logiczne oraz operacje dzielenia cakowi-
toliczbowego i obliczania reszty (operacja modulo).

W wyraeniach w Visual Basicu mona uywa rwnie funkcji, zarwno standardowych


funkcji VBA, wielu funkcji zapoyczonych z Excela, jak i funkcji zdefiniowanych przez
uytkownika. Wiele nazw funkcji w VBA jest podobnych do angielskich nazw funkcji
Excela. S te jednak rnice: funkcji SQRT (pol. PIERWIASTEK) odpowiada w VBA funkcja
Sqr, funkcji CHAR (pol. ZNAK) odpowiada Chr, funkcji CODE (pol. KOD) odpowiada Asc. Moe
najbardziej irytujc rnic jest to, e funkcja Log w VBA oznacza logarytm naturalny,
a nie dziesitny.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


294 Excel w obliczeniach naukowych i inynierskich

Lista funkcji VBA liczy prawie 200 pozycji, peny spis jest dostpny w pliku pomocy [15].
Kilkanacie funkcji, ktre mog si okaza przydatne w obliczeniach naukowych, zesta-
wiono w tabeli 22.3.

Tabela 22.3. Wybrane funkcje wbudowane w VBA


Nazwa_funkcji
(parametry_obowizkowe, Krtki opis dziaania
parametry_opcjonalne)
Funkcje matematyczne
Abs(liczba) Podaje warto bezwzgldn liczby
Atn(liczba) Podaje warto arcusa tangensa liczby. Wynik oznacza kt
w radianach
Cos(liczba) Podaje warto cosinusa kta w radianach
Exp(liczba) Podnosi liczb e = 2,718 do potgi liczba
Int(liczba) Oblicza cz cakowit liczby przez pominicie czci
uamkowej
Log(liczba) Oblicza logarytm naturalny liczby
Rnd() Zwraca liczb pseudolosow z przedziau [0, 1)
Sin(liczba) Podaje warto sinusa kta w radianach
Sqr(liczba) Oblicza pierwiastek kwadratowy z liczby
Tan(liczba) Podaje warto tangensa kta w radianach
Funkcje tekstowe
Asc(znak) Zwraca kod ASCII znaku
Chr(kod) Zwraca znak o podanym kodzie ASCII
Format(wyraenie, kod_formatu) Zamienia wyraenie na posta tekstow wedug wzorca
zawartego w kodzie_formatu
Str(liczba) Zamienia liczb na posta tekstow
Funkcje informacyjne
IsArray(nazwa) Zwraca True, jeli nazwa oznacza tablic
IsDate(wyraenie) Zwraca True, jeli wyraenie oznacza dat
IsEmpty(zmienna) Zwraca True, jeli zmienna nie zostaa zainicjowana
IsError(wyraenie) Zwraca True, jeli wyraenie jest bdne
IsMissing(parametr) Zwraca True, jeli opcjonalny parametr nie zosta przekazany
w wywoaniu funkcji
IsNull(wyraenie) Zwraca True, jeli wyraenie nie ma nadanej wartoci
IsNumeric(wyraenie) Zwraca True, jeli wyraenie ma warto liczbow
IsObject(wyraenie) Zwraca True, jeli wyraenie odnosi si do obiektu
LBound(tablica, wymiar) Zwraca dolny wskanik wymiaru tablicy
UBound(tablica, wymiar) Zwraca grny wskanik wymiaru tablicy

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 295

Jak ju wspomniaem, w Visual Basicu mona uywa wielu funkcji Excela. S one wy-
mienione w spisie funkcji wbudowanych Excela zamieszczonym na kocu ksiki. Wszyst-
kie wymienione tam funkcje nieoznaczone gwiazdk ani dwiema gwiazdkami mog by
uywane w wyraeniach VBA. Trzeba jednak speni dwa warunki: musi by uyta an-
gielska nazwa funkcji i trzeba j poprzedzi sowem Application i kropk. Argumenty
naley oddziela przecinkami, a nie rednikami. Przykadowo mona uy wyraenia:
tekst_wzoru = Application.Substitute(tekst_wzoru, "x", nowe_x)

Niektre funkcje arkusza wymagaj poprzedzenia ich nazwy sowem WorksheetFunction


i kropk.

W przypadku funkcji nalecych do dodatku Analysis Toolpak od wersji 2007 mona ich
uywa tak jak innych funkcji arkuszowych. We wczeniejszych wersjach Excela ich
uycie wymaga kilku czynnoci wstpnych. Najpierw naley zainstalowa dodatek
Analysis Toolpak VBA z poziomu arkusza. W tym celu z menu Narzdzia wybieramy
opcj Dodatki i zaznaczamy na licie pozycj Analysis Toolpak VBA. Nastpnie po
przejciu do edytora VBA (naciskajc rwnoczenie klawisze Alt+F11 lub wybierajc
z menu Narzdzia/Makro/Edytor/Visual Basic) naley wykona polecenie Tools/Reference
i na wywietlonej licie zaznaczy nazw moduu atpvbaen.xls. Teraz mona ju korzy-
sta z funkcji zawartych w tej bibliotece trzeba pamita, aby nazw funkcji po-
przedzi nazw moduu w nawiasach kwadratowych i kropk, na przykad:
[atpvbaen.xls].FactDouble(n)

Obiekty, waciwoci i metody


Visual Basic jest obiektowym jzykiem programowania, co oznacza, e jego podstawo-
wymi jednostkami funkcjonalnymi s obiekty (ang. objects) wraz z przypisanymi do nich
metodami (ang. methods) i waciwociami (ang. properties). Nie wchodzc w szcze-
gy, bo ramy tej pracy na to nie pozwalaj, mona to porwna ze strukturami jzyka
naturalnego obiekty s jego rzeczownikami albo podmiotami, metody peni funkcje
czasownikw albo orzecze, a waciwoci odpowiadaj przymiotnikom albo przydawkom.

Nie bdc specjalistami, nie bdziemy prawdopodobnie tworzy wasnych obiektw.


Mamy za to do dyspozycji ogromn kolekcj obiektw predefiniowanych, ktre moemy
wykorzystywa we wasnych funkcjach i makroinstrukcjach. Obiektami jzyka VBA s
na przykad Workbook (skoroszyt), Worksheet (arkusz), Chart (wykres), Range (zakres).

Obiekty maj waciwoci (ktre mona porwna do zmiennych) o okrelonych nazwach


i typie danych (liczbowym, tekstowym lub logicznym). Waciwoci mona odczyty-
wa (ang. read) lub ustawia (ang. set). Niektre waciwoci s tylko do odczytu (ang.
read-only). Mona to przeledzi na przykadzie obiektu Range. Obiekt ten oznacza poje-
dyncz komrk lub zakres komrek arkusza kalkulacyjnego. Z obiektem tym zwiza-
nych jest prawie 100 waciwoci, z ktrych wykorzystujemy tylko niektre. Podstawow
waciwoci tego obiektu jest Value (warto). Warto t mona odczytywa lub usta-
wia, na przykad:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


296 Excel w obliczeniach naukowych i inynierskich

x = Range("G4").Value 'warto z komrki G4 skopiowano do zmiennej x


Range("C5").Value = 0.54 'warto 0.54 wpisano do komrki C5

Poniewa Value jest waciwoci domyln, mona jej nazw pomin i powysze
instrukcje zapisa w postaci uproszczonej:
x = Range("G4") 'warto z komrki G4 skopiowano do zmiennej x
Range("C5") = 0.54 'warto 0.54 wpisano do komrki C5

Inn waciwoci obiektu Range jest Formula. Jest to warto tekstowa, oznaczajca wyra-
enie umieszczone w komrce. Istniej cztery powizane waciwoci suce do przecho-
wywania formu. Oprcz Formula jest FormulaLocal oraz FormulaR1C1 i FormulaR1C1Local.
Pierwsza i druga waciwo uywaj odwoa do komrek w stylu A1, trzecia i czwarta
w stylu nazywanym w Polsce W1K1. Pierwsza i trzecia waciwo uywa angielskich
nazw funkcji, druga i czwarta lokalnych, czyli w jzyku narodowym. Wystarczy poda
jedn z wersji, pozostae zostan wygenerowane przez Excela w razie potrzeby. Mona
wpisywa formuy do komrek, posugujc si tymi waciwociami, na przykad:
Range("B3").Formula = "=2*EXP(2)"

Na etapie wprowadzania kodu VBA formua nie jest w aden sposb weryfikowana
po prostu zawarto staej tekstowej jest wpisywana lub odczytywana z komrki. We-
ryfikacja nastpuje przy wykonaniu kodu. Jeeli zawarto komrki nie jest formu, lecz
zwykym tekstem we wszystkich wariantach pozostaje bez zmian, jeeli jest liczb
s uwzgldniane zasady uycia separatora dziesitnego (kropki lub przecinka), jeeli fak-
tycznie jest formu (zaczyna si od znaku rwnoci) jest sprawdzana poprawno od-
woa i ewentualnie generowane s odpowiednie komunikaty bdw.

Jeszcze inna waciwo obiektu Range NumberFormat jest wzorcem tekstowym, okre-
lajcym format wywietlania liczb w komrce lub zakresie komrek. Ponisze wyraenie
zapamituje format z komrki B4 w zmiennej formatB4:
formatB4 = Range("B4").NumberFormat

Niektre waciwoci s przeznaczone tylko do odczytu, na przykad obiekt Range ma


waciwo Count, ktra przechowuje informacj o liczbie komrek w zakresie. Przy-
kadowo Range("B4:C8").Count ma warto 10 i oczywicie wartoci tej nie da si zmie-
ni, mona j tylko odczyta.

Metody powizane z obiektami su na og do wykonywania pewnych akcji, ktre po-


woduj zmian stanu arkusza i w zwizku z tym uywane s gwnie w makroinstruk-
cjach. Jest jednak kilka metod, przypisanych do obiektu Range, ktre nie zmieniaj stanu
arkusza i mog by wykorzystane rwnie w funkcjach definiowanych przez uytkownika.
List potencjalnie przydatnych metod obrazuje tabela 22.4.

Metody z reguy zachowuj si jak funkcje, zwracajc po zakoczeniu swojego dziaania


wynik w postaci wartoci logicznej True lub False, wskazujcy, czy wykonanie metody
zakoczyo si pomylnie. Oglny schemat wywoania metody moe by taki jak poniej:
zmienna = zakres.Metoda(parametry_obowizkowe, parametry_opcjonalne)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 297

Tabela 22.4. Wybrane metody obiektu Range i innych obiektw, ktre mona wykorzysta w procedurach
funkcyjnych i makroinstrukcjach
Nazwa_metody
(parametry_obowizkowe, Krtki opis dziaania
parametry_opcjonalne)
Activate Wskazuje obiekt (np. arkusz, komrk), ktry ma by aktywny
(wybrany)
Clear Usuwa formuy, wartoci i formatowanie ze wskazanego zakresu
Find(What, After, LookIn, LookAt, Przeglda obszar powizanego obiektu Range w poszukiwaniu
SearchOrder, SearchDirection, wzorca What. W wyniku zwraca obiekt Range wskazujcy pierwsz
MatchCase, MatchByte) komrk zawierajc poszukiwany wzorzec albo Nothing, jeli
wzorca nie znaleziono
GoalSeek(Goal, ChangingCell) Powizany obiekt Range musi zawiera formu. ChangingCell
jest obiektem Range zawierajcym zmienn podlegajc zmianie.
Goal okrela warto docelow formuy. Metoda wprowadza
zmiany w arkuszu. Zwraca True, jeli operacja si powioda
Select(Replace) Wybiera (podwietla) komrk lub zakres komrek, wykres, arkusz
lub inny obiekt. Opcjonalny parametr Replace okrela, czy zastpi
dotychczasowy wybr arkuszy nowym, czy poszerzy istniejcy
wybr o nowy arkusz
Union(Arg1, Arg2, ...) Tworzy jeden zakres z kilku zakresw

zmienna jest zmienn odpowiedniego typu, ktra przyjmuje warto okrelon w opisie
metody. Czsto jest to warto logiczna oznaczajca, czy wykonanie metody byo bez-
bdne (True lub False).

zakres moe by w oglnym przypadku wyraeniem zwracajcym w wyniku zakres ko-


mrek lub pojedyncz komrk. Do tego wyniku, ktry jest obiektem, odnosi si wywo-
ywana metoda (obiekt powizany z metod). W najprostszym przypadku zakres ma posta
Range(adres), na przykad Range("A5").

Metoda jest angielsk nazw metody skojarzonej z podanym zakresem. Nazwa metody
i lista parametrw musz by dokadnie zgodne z opisem metody podanym w pliku po-
mocy [15]. Argumenty wywoania metody mona podawa w dwojaki sposb. Pierwszy
sposb jest taki jak przy wywoaniu funkcji, tzn. podaje si kolejno wartoci argumentw
oddzielone przecinkami. Kolejno argumentw jest istotna, jeli pomijamy ktry argu-
ment opcjonalny, a podajemy nastpny, trzeba pozostawi wszystkie przecinki, a do
przecinka poprzedzajcego ostatni z uywanych argumentw. Drugi sposb polega na
podaniu nazwy parametru (jak w opisie metody), dwuznaku := (dwukropek i znak rwno-
ci) oraz wartoci argumentu, ktra ma by przekazana. Przy tym drugim sposobie kolej-
no argumentw jest dowolna, ale jak poprzednio oddzielamy je przecinkami.

Poniewa czsto nie jest nam potrzebna informacja, czy metoda zakoczya si bezbdnie,
istnieje moliwo wywoania metody jak makroinstrukcji. W tym przypadku naley po-
min nawiasy otaczajce list argumentw, a list t oddzieli od nazwy metody spacj
(odstpem).
zakres.Metoda parametry_obowizkowe, parametry_opcjonalne

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


298 Excel w obliczeniach naukowych i inynierskich

Wymiana informacji
midzy arkuszem a kodem VBA
Poniewa traktujemy Visual Basic raczej jako uzupenienie arkusza kalkulacyjnego, a nie
samoistny jzyk programowania, wikszo funkcji i makroinstrukcji pisanych w tym
jzyku bdzie operowa na danych z arkusza lub przynajmniej przekazywa wyniki do
arkusza. Z tego wzgldu musimy wiedzie, jak w kodzie VBA odwoywa si do danych
zawartych w arkuszu i jak wprowadza wyniki oblicze wykonanych w VBA do kom-
rek arkusza.

Pojedyncza komrka w arkuszu, w ktrej umieszczono kursor, nazywa si komrk ak-


tywn. Czsto chcemy, aby makroinstrukcja wykonaa jak operacj na wskazanej ko-
mrce. Z poziomu VBA komrka aktywna dostpna jest pod nazw ActiveCell. (Sowo
to oznacza w istocie waciwo obiektu Application, ale nazwa obiektu moe by w tym
przypadku pominita). Posugujc si sowem ActiveCell, moemy zarwno odczytywa
waciwoci komrki aktywnej, jak i modyfikowa je. Na przykad ponisza instrukcja
ustawia w komrce aktywnej pogrubion czcionk:
ActiveCell.Font.Bold = True

Kolejna instrukcja wprowadza do komrki aktywnej formu Excela, traktowan jako tekst:
ActiveCell = "=EXP(1)"

Z kolei instrukcja
x = ActiveCell
odczytuje zawarto komrki aktywnej i umieszcza j w zmiennej x.

Aby jak komrk uczyni aktywn, naley uy metody Activate, na przykad:


Range("B5").Activate

Jeeli w arkuszu mamy zaznaczony (podwietlony) obszar zoony z kilku komrek, to


w VBA odwoujemy si do niego przez sowo Selection. Obszar selekcji moe dotyczy
jednej komrki lub wikszej liczby komrek, natomiast komrka aktywna jest zawsze tylko
jedna i musi nalee do obszaru selekcji. Waciwo Selection moe by tylko odczy-
tana wynikiem jest obiekt Range. Aby zmieni wczeniejszy wybr, naley uy metody
Select w odniesieniu do wybranego zakresu, na przykad:
Range("K10:L12").Select

Po zmianie selekcji aktywn komrk staje si automatycznie lewa grna komrka nowego
obszaru selekcji. Komrka aktywna musi nalee do obszaru selekcji. Jeli aktywujemy
komrk spoza tego obszaru, poprzednia selekcja zostaje automatycznie uniewaniona.

Jeeli chcemy odwoa si do dowolnego zakresu komrek (niezalenie od selekcji czy


komrki aktywnej), moemy wykorzysta obiekt Range lub waciwo Cells. W przypad-
ku obiektu Range argumentem jest adres komrki lub zakres adresw, zgodnie z zasadami

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 299

Excela, ujty w cudzysw, czyli zapisany w formie tekstowej. Tekst ten moe by wyra-
eniem, na przykad "G"&wiersz. Jeeli zmienna wiersz ma warto 3, to powysze wyra-
enie zostanie obliczone jako "G3".

Odwoanie Range("K10:L12") oznacza zakres komrek od K10 do L12. Jeeli w Excelu


zostaa zdefiniowana nazwa zakresu komrek, na przykad zakresowi K10:L12 nadano
nazw tablica, to mona uy tej nazwy w cudzysowie:
Range("tablica")

Jeeli natomiast w VBA mamy zdefiniowan zmienn o nazwie tablica, ktrej zostaa
nadana warto tekstowa "K10:L12", to odwoanie moe mie posta:
Range(tablica)

Waciwo Cells odwouje si do pojedynczej komrki, dla ktrej okrelono numer


wiersza i numer kolumny. Odwoanie ma posta:
Cells(row, column)
gdzie row i column oznaczaj odpowiednio numer wiersza i numer kolumny w arkuszu
(liczone od 1). Moliwe jest te wywoanie w postaci:
Range(range_of_cells).Cells(row, column)

W tym przypadku row i column oznaczaj odpowiednio numer wiersza i numer kolumny
w podanym zakresie, liczc od jego lewego grnego rogu.

Moliwe jest te odwoanie w postaci:


Range(Cells(row1, column1), Cells(row2, column2))
ktre oznacza zakres komrek okrelony porednio.

Jeszcze jedn moliwo odwoania si do komrek arkusza stwarza waciwo Offset.


Skadnia jej uycia jest taka jak poniej:
expression.Offset(RowOffset, ColumnOffset)

expression jest wyraeniem obowizkowym, ktre daje w wyniku obiekt Range. Opcjo-
nalne parametry RowOffset i ColumnOffset oznaczaj przesunicia w stosunku do lewego
grnego rogu obszaru okrelonego przez expression.

RowOffset okrela przesunicie wierszy: warto dodatnia w d, warto ujemna


w gr. ColumnOffset definiuje przesunicie kolumn: warto dodatnia w prawo, war-
to ujemna w lewo. W obu przypadkach wartoci domyln jest zero.

Jeeli obszar expression wskazuje pojedyncz komrk, waciwo Offset zwraca ko-
mrk pooon o podan liczb wierszy w pionie i kolumn w poziomie od komrki wyj-
ciowej. Jeeli obszar expression wskazuje zakres zoony z wikszej liczby komrek,
waciwo Offset rwnie zwraca zakres, ktrego wszystkie komrki s przesunite
w stosunku do oryginalnego zakresu o okrelon liczb wierszy i kolumn.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


300 Excel w obliczeniach naukowych i inynierskich

Naley jeszcze zwrci uwag na moliwo stosowania zmiennych reprezentujcych


obiekty. Po zadeklarowaniu zmiennej jako obiektowej mona stosowa alternatywne na-
zwy obiektw. Przypisanie nowej nazwy do istniejcego obiektu odbywa si za pomoc
instrukcji Set. Przykadowo mona zapisa nastpujc sekwencj instrukcji:
Dim z As Object
Set z = ActiveCell
...
z = 2
z.Font.Italic = True

W zmiennej obiektowej z przechowane zostay parametry komrki, ktra bya aktywna


w chwili wykonywania tej instrukcji. Kolejne instrukcje (tu zamarkowane kropkami)
mog zmienia komrk aktywn, lecz mimo to pniej mona odwoa si do zapami-
tanej komrki poprzez zmienn z. Naley odrnia przypisanie obiektu za pomoc
instrukcji Set od zwykego przypisania wartoci zmiennej za pomoc znaku =. Gdyby za-
miast Set z = ActiveCell uy instrukcji w = ActiveCell, zmiennej w zostaaby nadana
tylko warto przechowywana w danej chwili w komrce aktywnej.

Uycie tablic w Visual Basicu


W obliczeniach naukowych bardzo czsto operujemy zestawami danych o podobnym
charakterze. Mog to by na przykad wyniki pomiarw zalenoci dwch wielkoci. Dane
takie wygodnie przechowywa w tablicach dane te s identyfikowane przez nazw
tablicy oraz indeks lub indeksy wskazujce ich pooenie w tablicy.

W Visual Basicu tablice wymagaj deklaracji. Suy do tego instrukcja Dim, ktra musi
poprzedza pierwsze odwoanie do tablicy. Deklaracja moe przyjmowa rne formy, ale
zawsze musi okrela nazw tablicy i zawiera par nawiasw okrgych wskazujcych, e
chodzi o tablic, a nie o zmienn prost. Ponadto deklaracja moe okrela rozmiary (zakres
indeksw), struktur (liczb wymiarw) oraz typ danych przechowywanych w tablicy.

Deklaracja tablicy jednowymiarowej moe mie na przykad posta:


Dim tabA(1 To 5) As Integer

Deklaruje ona tablic o nazwie tabA, zoon z piciu elementw, w ktrej bd przecho-
wywane liczby cakowite. Zakresy indeksw musz by staymi liczbowymi. Okrelenie
typu danych mona pomin, wtedy elementy tablicy bd typu Variant. Mona te po-
min indeks pocztkowy tablicy wraz ze sowem To. Jako indeks pocztkowy domylnie
przyjmuje si zero (!), chyba e na pocztku moduu zostanie umieszczona dyrektywa
Option Base 1, wtedy indeks pocztkowy domylnie jest rwny 1. Jedn deklaracj Dim
mona obj kilka tablic oddzielonych przecinkami, lecz typ danych w kadej tablicy
naley okreli oddzielnie.

Tablice wielowymiarowe deklaruje si, wymieniajc zakresy indeksw oddzielone prze-


cinkami, na przykad deklaracja

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 301

Dim tabB(3, 1 To 3)
oznacza dwuwymiarow tablic, ktrej pierwszy indeks zmienia si od 0 do 3, a drugi
od 1 do 3. Elementy tablicy bd typu Variant.

Jeeli nie da si okreli z gry rozmiarw tablicy, mona zadeklarowa tzw. tablic
dynamiczn:
Dim tabC()

Rozmiary tablicy okrela si w treci procedury za pomoc instrukcji ReDim. W tej in-
strukcji mona wskaza zakres indeksw, ktry moe by okrelony przez wyraenie
(moe zawiera zmienne). Jeeli wczeniej nie zdefiniowano typu zmiennych, mona to
zrobi w instrukcji ReDim. Instrukcja ta moe by uyta kilkakrotnie w treci procedury
w celu zmiany rozmiaru lub struktury tablicy. Kade kolejne uycie instrukcji ReDim zeruje
elementy tablicy. Aby zachowa wartoci zawarte dotychczas w tablicy, naley po sowie
ReDim doda sowo Preserve. W przypadku tablicy wielowymiarowej przechowa dane
mona pod warunkiem, e zmianie ulega tylko ostatni wymiar tablicy. Ponadto w razie
uycia Preserve nie mona zmienia typu danych.

Do tablicy mona si odwoywa w caoci, podajc nazw tablicy (bez nawiasw lub
z pustymi nawiasami), na przykad tabA lub tabA(), albo poprzez jej elementy: tabA(2)
oznacza drugi element tablicy zadeklarowanej powyej.

W trakcie wykonywania programu mona sprawdzi zakres indeksw tablicy, posugujc


si funkcjami LBound i Ubound. Skadnia tych polece jest podobna pierwsza z funkcji
zwraca dolny indeks, druga zwraca grny indeks.

Skadnia:
LBound(arrayname, dimension)

arrayname oznacza nazw tablicy, dimension oznacza numer wymiaru tablicy: 1 dla pierw-
szego wymiaru, 2 dla drugiego itd. Jeli pominiemy drugi parametr, zostanie przyjty
pierwszy wymiar.

Przekazywanie wartoci zapisanych w komrkach arkusza do tablicy w VBA i z powro-


tem mona najprociej zrealizowa za pomoc instrukcji przypisania zmiennej i zakresu.
Posugujemy si w tym przypadku zmienn typu Variant, ktrej nie deklarujemy jako
tablicy. Po wykonaniu instrukcji przypisania
tabl = Range("C5:D8")
do wartoci danych z zakresu C5:D8 mona odwoywa si poprzez zmienn tabl. Zmienna
jest typu Variant, ale reprezentuje struktur tablicy dwuwymiarowej, tak jakby bya zade-
klarowana jako tablica tabl(1 To 4, 1 To 2). Zakresy indeksw w tym przypadku
rozpoczynaj si zawsze od 1, pierwszy indeks oznacza numer wiersza, drugi indeks
numer kolumny w obrbie zakresu. Do caej tablicy mona si odwoywa przez nazw
tabl, a do poszczeglnych komrek na przykad przez tabl(3,1), ktry jest kopi zawarto-
ci komrki C7. Zmiany w tablicy tabl dokonane w kodzie VBA nie s automatycznie
odwzorowywane w arkuszu, mona jednak wykona odwrotne przypisanie, zarwno caej
tablicy, jak i poszczeglnych komrek, na przykad:
Range("C7") = tabl(3,1)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


302 Excel w obliczeniach naukowych i inynierskich

Rozmiary tablicy mona sprawdzi, posugujc si funkcjami LBound i UBound.

Struktura tablicy utworzonej jako kopia zakresu komrek jest zawsze dwuwymiarowa,
nawet jeeli kopiuje si zakres jednowymiarowy (pojedynczy wiersz lub kolumn).
Drugi zbdny indeks ma warto 1. Jeeli na przykad utworzymy kopi zakresu
B5:H5, to zawarto komrki C5 odczytamy jako element tablicy tabl(1,2).

Tablice zadeklarowane w sposb jawny w Visual Basicu mog by przypisywane do za-


kresu komrek, ale w przypadku tablic jednowymiarowych naley uwzgldni ponisze
zasady. Tablic jednowymiarow mona przypisa do zakresu zawartego w jednym
wierszu jeeli tablica jest wiksza od zakresu, zbdne dane zostan pominite, jeeli
jest mniejsza zamiast brakujcych danych zostanie wpisany kod #N/D!. Jeeli tablic
jednowymiarow przypisze si do zakresu zoonego z kilku wierszy, identyczne dane zo-
stan wpisane do kadego wiersza zakresu.

Tablicy jednowymiarowej nie mona bezporednio przypisa do zakresu zawartego w ko-


lumnie. Rozwizaniem moe by zadeklarowanie tablicy jako dwuwymiarowej z drugim
indeksem rwnym zawsze 1 albo uycie funkcji transpozycji w instrukcji przypisania.
Dim tabl(1 To 5) As Single
... 'instrukcje nadajce wartoci elementom tablicy
Range("C5:C9") = Application.Transpose(tabl)

Gdyby zakres docelowy obejmowa kilka kolumn, do kadej kolumny zostayby wpisane
takie same dane.

Alternatywnym sposobem przekazywania danych jest utworzenie zmiennej obiektowej,


ktra jest odwzorowaniem zakresu. W takim przypadku odwoanie do poszczeglnych
komrek moe odbywa si za pomoc waciwoci Cells. Teraz wszelkie zmiany w war-
tociach komrek s od razu odwzorowane w arkuszu. Mona to przykadowo zapisa tak:
Dim tabl As Range
Set tabl = Range("C5:D8")
tabl.Cells(3,1) = 4.5

Rozmiary tablicy sprawdzimy, odczytujc waciwoci tabl.Rows.Count i tabl.Columns.


Count.

Wicej o funkcjach
definiowanych przez uytkownika
W zastosowaniach naukowych najczciej wykorzystuje si Visual Basic do definiowania
funkcji, ktre maj uzupeni zestaw dostpny standardowo o funkcje realizujce specy-
ficzne potrzeby obliczeniowe. Prosty przykad funkcji podano na pocztku tego rozdziau.
Teraz deklarowanie i definiowanie funkcji zostanie omwione bardziej szczegowo.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 303

W deklaracji funkcji mona okreli zarwno typy parametrw, jak i typ wyniku. Jak
w przypadku deklaracji zmiennych, suy do tego sowo kluczowe As. Brak deklaracji typu
oznacza typ Variant.

Niektre parametry funkcji mona okreli jako opcjonalne (nieobowizkowe). Musz


one wystpi jako ostatnie na licie parametrw. Nazw takiego parametru w deklaracji
poprzedzi trzeba sowem Optional. Jeeli jest wicej ni jeden taki parametr, kady trzeba
poprzedzi sowem Optional. W kodzie funkcji sprawdzamy obecno lub brak argumentu
opcjonalnego za pomoc funkcji IsMissing. W deklaracji funkcji mona poda warto
domyln, ktra bdzie uyta w razie braku argumentu opcjonalnego. Moe to wyglda
na przykad tak:
Optional wsp As Double = 1

Inny sposb przekazania zmiennej liczby argumentw do funkcji to uycie tablicy


ParamArray jako parametru. Moe by tylko jedna taka tablica i musi wystpowa ja-
ko ostatnia na licie parametrw. Po jej nazwie naley umieci par pustych nawia-
sw. Jest to tablica zoona z elementw typu Variant (czyli typu danych nie naley
okrela). Dolny indeks tej tablicy zawsze jest rwny 0, niezalenie od ewentualnego
uycia dyrektywy Option Base 1. Grny indeks mona sprawdzi w kodzie naszej funk-
cji, uywajc funkcji UBound.

Na licie argumentw przy wywoaniu funkcji kady argument musi wystpi oddzielnie,
oddzielony przecinkiem (w arkuszu rednikiem) od nastpnych. Stanowi one kolejne
elementy tablicy. Nie mona uy zakresu i oczekiwa, e poszczeglne jego elementy
zostan potraktowane jako kolejne argumenty. Zakres moe by uyty, ale stanie si on
pojedynczym argumentem i kod funkcji musi wydoby z niego poszczeglne wartoci.

Nagwek funkcji wykorzystujcej tablic parametrw moe wyglda na przykad tak:


Function Wielomian1(x As Double, ParamArray wsp()) As Double

Funkcja ta moe oblicza warto wielomianu o wspczynnikach okrelonych przez ele-


menty tablicy wsp dla argumentu x. Wywoanie tej funkcji w VBA moe mie posta:
Wielomian1(3.5,1,3,4,2)
a w arkuszu:
Wielomian1(3,5;1;3;4;2)

Funkcja obliczy warto wielomianu x3+3x2+4x2 dla x = 3,5. Zakadamy, e kod funkcji
zosta tak napisany, e wsp(0) jest wspczynnikiem wielomianu przy najwyszej pot-
dze x. Kod funkcji musi uwzgldnia to, e liczba wspczynnikw a zarazem stopie
wielomianu moe by dowolna.

Jeeli wspczynniki wielomianu s umieszczone w komrkach arkusza z zakresu C7:F7,


to wywoanie z kodu VBA moe mie posta:
Wielomian1(3.5,Range("C7"), Range("D7"), Range("E7"), Range("F7"))
a w arkuszu:
Wielomian1(3,5;C7;D7;E7;F7)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


304 Excel w obliczeniach naukowych i inynierskich

Gdybymy chcieli wywoywa t funkcj, podajc zakres, zawierajcy wspczynniki


nagwek musiaby wyglda inaczej, na przykad tak:
Function Wielomian2(x As Double, wsp) As Double

W tym przypadku wsp jest zmienn typu Variant, pod ktr przy wywoaniu funkcji
mona podstawi zakres lub tablic, tak jak to opisano w poprzednim podrozdziale. Wy-
woanie tej funkcji w przypadku, gdy wspczynniki wielomianu s umieszczone w ko-
mrkach arkusza z zakresu C7:F7, ma posta:
w kodzie VBA:
Wielomian2(3.5, Range("C7:F7"))
a w arkuszu:
Wielomian2(3,5;C7:F7)

Gdyby przy tej drugiej postaci funkcji trzeba byo w wywoaniu poda wspczynniki
w formie liczbowej, wywoanie to mogoby wyglda tak:
w kodzie VBA:
Wielomian2(3.5,Array(1,3,4,-2))
a w arkuszu:
Wielomian2(3,5;{1;3;4;-2}) do wersji 2007
lub
Wielomian2(3,5;{1\3\4\-2}) w wersji 2010

W wersji VBA uyto funkcji Array, ktra zwraca zmienn typu Variant o strukturze jed-
nowymiarowej tablicy zoonej z elementw wymienionych w wywoaniu.

Zazwyczaj funkcja zwraca w wyniku jedn warto, jednak nic nie stoi na przeszkodzie,
aby napisa funkcj, ktra bdzie zwraca tablic wartoci. W deklaracji takiej funkcji
mona nie podawa typu wyniku (typ Variant) albo po nazwie typu wyniku da par pu-
stych nawiasw, na przykad zapis As Double() oznacza, e wynik bdzie tablic zoon
z liczb typu Double. W kodzie funkcji naley t tablic utworzy, a w kocu przypisa j
do nazwy funkcji. Jeli typ funkcji nie jest zadeklarowany, mona te przypisa wynik do
nazwy funkcji bezporednio, uywajc funkcji Array.

Aby wykorzysta tak funkcj w arkuszu kalkulacyjnym, trzeba skonstruowa odpo-


wiednie wyraenie tablicowe i zatwierdzi je klawiszami Ctrl+Shift+Enter lub odwoywa
si do poszczeglnych skadowych wyniku za porednictwem funkcji arkusza INDEKS.
Pamita te naley, e jeli funkcja daje w wyniku tablic jednowymiarow, to wartoci
wynikowe bd tworzyy wiersz. Aby uzyska kolumn, trzeba umieci wyniki w tablicy
dwuwymiarowej, w ktrej drugi indeks jest zawsze rwny 1.

To, co napisano powyej o funkcjach, odnosi si te w duym stopniu do makroinstrukcji.


Zasadnicza rnica polega na tym, e makroinstrukcje mog zmienia stan arkusza (wpi-
sywa dane, zmienia format komrek itp.), a funkcje nie mog maj tylko zwrci
wynik oblicze do miejsca wywoania. Ponadto makroinstrukcje, ktre zawieraj parametry
wywoania, mog by wywoane wycznie z poziomu kodu VBA. Z poziomu arkusza
mona wywoywa tylko makroinstrukcje bez parametrw.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 305

Wywoanie makroinstrukcji z poziomu kodu VBA moe by zrealizowane dwojako: albo


przez wpisanie nazwy makroinstrukcji, a nastpnie wartoci argumentw wywoania (je-
eli wystpuj), albo przez uycie sowa Call poprzedzajcego nazw makroinstrukcji.
Jeeli uyto sowa Call, argumenty wywoania makra musz by umieszczone w nawia-
sach, jeeli uyto tylko nazwy makra bez Call, naley te pomin nawiasy. Sowo Call
moe by te formalnie uyte do wywoania funkcji, jednak wwczas nie mona przekaza
wyniku funkcji takie wywoanie moe mie sens tylko w szczeglnych przypadkach.

W treci funkcji mona umieci instrukcj Exit Function (a w treci makroinstrukcji


odpowiednio Exit Sub), ktrych wykonanie spowoduje natychmiastowe zakoczenie wy-
konywania odpowiednio funkcji lub makro. Oczywicie wczeniej naley nada
funkcji warto kocow. Jeli przerwanie oblicze jest konsekwencj stwierdzenia bdu
w przetwarzanych danych, mona nada funkcji jedn z wartoci okrelajc standardowy
kod bdu. Instrukcja zakoczenia oblicze moe mie na przykad posta:
If warunek_bdu Then nazwa_funkcji = CVErr(xlErrNA) : Exit Function

Funkcja CVErr powoduje wywietlenie w komrce arkusza standardowego komunikatu


o bdzie. Argumentem tej funkcji jest jedna z predefiniowanych staych zamieszczonych
w tabeli 22.5.

Tabela 22.5. Zestawienie standardowych komunikatw bdw Excela i odpowiadajcych im


predefiniowanych staych VBA oznaczajcych numery bdw
Staa Numer bdu Komunikat
xlErrDiv0 2007 #DZIEL/0!
xlErrNA 2042 #N/D!
xlErrName 2029 #NAZWA?
xlErrNull 2000 #ZERO!
xlErrNum 2036 #LICZBA!
xlErrRef 2023 #ADR!
xlErrValue 2015 #ARG!

Sterowanie wykonaniem kodu


Do tej pory omwilimy w zasadzie tylko instrukcj przypisania. Chocia moe ona wy-
stpowa w rnych odmianach, to program wykorzystujcy tylko instrukcje przypisania
ma ograniczone moliwoci. Istniej dwie dodatkowe kategorie instrukcji, ktre pozwalaj
na sterowanie wykonaniem kodu i bardzo poszerzaj jego moliwoci s to instrukcje
warunkowe i instrukcje ptli programowej.

Instrukcje warunkowe i instrukcja wyboru


Instrukcje warunkowe (i zblione do nich w charakterze instrukcje wyboru) pozwalaj na
dokonanie wyboru wariantu oblicze w zalenoci od spenienia okrelonych warunkw.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


306 Excel w obliczeniach naukowych i inynierskich

W Visual Basicu istnieje kilka wariantw instrukcji warunkowych. Ich posta zaley od
tego, czy przewidujemy wykonanie pewnych akcji tylko po spenieniu warunku, czy rw-
nie innych akcji, gdy warunek nie jest speniony. Ma te znaczenie, czy akcja do wy-
konania da si zapisa w jednym wierszu, czy wymaga kilku wierszy.

Najprostsza posta instrukcji warunkowej (moliwa do zapisania w jednym wierszu) to:


If warunek Then instrukcja1

Wykonanie instrukcji warunkowej rozpoczyna si od obliczenia wartoci logicznej


wyraenia warunek. W tym wyraeniu mog wystpi operatory porwnania (relacji)
oraz operatory logiczne, na przykad x >= 2 And x <= 5. Jeeli to wyraenie jest spe-
nione (ma warto logiczn True), wykonywana jest instrukcja1, w przeciwnym ra-
zie nie jest wykonywana adna akcja, sterowanie przechodzi do nastpnej linii.

Druga moliwa posta instrukcji warunkowej przewiduje wykonanie instrukcji1, gdy


warunek jest speniony, albo instrukcji2, gdy warunek nie jest speniony:
If warunek Then instrukcja1 Else instrukcja2

Obie postacie instrukcji musz mieci si w jednej linii. Jeeli zamiast instrukcji1 lub
instrukcji2 powinny by uyte dwie, czasem trzy krtkie instrukcje, mona napisa je
wszystkie w jednej linii, rozdzielone dwukropkami, na przykad:
If x >= 0 Then a = 1 : b = 2 Else a = 2 : b = 3

Jeeli po spenieniu (lub niespenieniu) warunku naley wykona kilka instrukcji na


tyle rozbudowanych, e trzeba je zapisa w kilku wierszach, powinno si zastosowa
tzw. blokow wersj instrukcji warunkowej, ktr kocz sowa End If umieszczone
w osobnej linii:
If warunek Then
instrukcja1a
instrukcja1b
...
Else
instrukcja2a
instrukcja2b
...
End If

Fragment rozpoczynajcy si od frazy Else moe by pominity, ale zawsze w ostatniej


linii trzeba wpisa End If. Cho nie jest to konieczne, w celu poprawy czytelnoci kodu
przyjto stosowa wcicia, czyli rozpoczyna instrukcje nalece do bloku If lub Else
o kilka pozycji w prawo. Zasada stosowania wci dotyczy wszystkich blokw instrukcji,
take wystpujcych w ptli, co bdzie omawiane dalej.

Jeeli pierwszy warunek nie jest speniony, moe zachodzi konieczno sprawdzenia
kolejnych warunkw. Naley je poprzedzi sowem ElseIf (bez spacji). Liczba spraw-
dzanych warunkw nie jest ograniczona (fraz z ElseIf mona powtarza). Instrukcja
przyjmuje posta:

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 307

If warunek1 Then
instrukcja1a
instrukcja1b
...
ElseIf warunek2 Then
instrukcja2a
instrukcja2b
...
Else
instrukcja3a
instrukcja3b
...
End If

Kiedy pierwszy warunek1 jest speniony, rwnie moe zachodzi potrzeba sprawdzenia
drugiego dodatkowego warunku2, aby zdecydowa o dalszych akcjach. Wymaga to uycia
zagniedonych instrukcji warunkowych, na przykad:
If warunek1 Then
If warunek2 Then
instrukcja1a
instrukcja1b
...
ElseIf warunek3 Then
instrukcja2a
instrukcja2b
...
Else
instrukcja3a
instrukcja3b
...
End If
Else
instrukcja4a
instrukcja4b
...
End If

Prosz zwrci uwag, e konsekwentne stosowanie wci uatwia zrozumienie struktury


kodu i skojarzenie ze sob fragmentw nalecych do tej samej sekwencji warunkowej.

Kiedy trzeba sprawdzi kilka wykluczajcych si warunkw, zamiast sekwencji instrukcji


warunkowych mona zastosowa instrukcj wyboru Select Case o skadni:
Select Case wyraenie_testowe
Case lista1
instrukcje
Case lista2
instrukcje
...
Case Else
instrukcje
End Select

wyraenie_testowe oznacza dowolne wyraenie, liczbowe lub tekstowe.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


308 Excel w obliczeniach naukowych i inynierskich

lista1, lista2 i ewentualnie dalsze listy s wartociami, ktre moe przyjmowa


wyraenie_testowe. Lista taka moe by pojedyncz wartoci (wyraeniem), list war-
toci oddzielonych przecinkami, zakresem warto1 To warto2, formu Is operator_
porwnania wyraenie. Operator_porwnania jest jednym z operatorw <, >, <=, >=, <>, =.
Na jednej licie moe wystpi kilka elementw z wymienionych powyej.

Jeeli warto wyraenia_testowego jest zgodna z ktrym elementw list, wykonywana


jest sekwencja instrukcji umieszczona za t list, po czym sterowanie zostaje przeka-
zane do linii nastpujcej po End Select. Jeli zgodno wystpi wicej ni raz, wykonany
zostanie tylko pierwszy zestaw instrukcji. Jeli nie bdzie zgodnoci z adnym elemen-
tem list, wykonany zostanie zestaw instrukcji nastpujcy po Case Else (jeli brak
segmentu Case Else, adna akcja nie zostanie wykonana).

Instrukcje ptli
Ptle stosuje si w programie w celu wielokrotnego wykonania pojedynczej instrukcji
lub sekwencji instrukcji. Naley rozrni dwa przypadki: kiedy liczba obiegw ptli jest
z gry okrelona i kiedy liczba obiegw ptli wynika z badania, czy w trakcie wykonywa-
nia ptli speniony jest pewien warunek logiczny.

Najczciej stosowanym typem ptli jest ptla For...Next z jawnym licznikiem liczby
wykona. Skadnia tego rodzaju ptli jest taka jak poniej:
For licznik = start To koniec Step krok
instrukcje
Next licznik

Licznik jest zmienn typu numerycznego (mona j wczeniej zadeklarowa), start


i koniec to odpowiednio warto pocztkowa i warto, po ktrej osigniciu nastpuje
wyjcie z ptli. Krok wskazuje, o ile zmienia si licznik po kadym obiegu ptli. Frag-
ment Step krok jest opcjonalny. Wartoci domyln kroku jest 1. Podanie nazwy zmiennej
licznik po Next nie jest obowizkowe, jednak jest zalecane, bo kod staje si bardziej przej-
rzysty, szczeglnie gdy ptle s zagniedone.

Krok moe mie warto dodatni lub ujemn. Warunkiem wykonywania ptli jest spe-
nienie warunku:

Krok jest Warunek wykonania ptli


>= 0 licznik <= koniec
< 0 licznik >= koniec

Warunek jest sprawdzany na pocztku, a pniej po wykonaniu ptli warto licznika jest
modyfikowana (instrukcj Next) i warunek zostaje sprawdzony ponownie przed rozpocz-
ciem kolejnego obiegu ptli. Jeli warunek nie jest speniony, sterowanie zostaje przekazane
do linii nastpujcej po Next. Warto licznika moe by odczytywana i wykorzystywana
w obliczeniach wewntrz ptli, ale nie powinna by modyfikowana, gdy utrudnia to ana-
liz kodu i poszukiwanie ewentualnych bdw, cho formalnie nie jest to zabronione.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 309

Liczba wykona ptli For...Next jest w zasadzie z gry okrelona, moe ona jednak
ulec zmianie, jeli w kodzie zmienimy warto zmiennej sterujcej licznik. Moliwe
jest take umieszczenie w kodzie wewntrz ptli instrukcji Exit For. Jej wykonanie
spowoduje natychmiastowe przerwanie wykonywania oblicze w ptli i przejcie do
instrukcji w linii nastpujcej po Next. Instrukcja ta moe by elementem instrukcji
warunkowej, na przykad:
If warunek Then Exit For

Liczba takich awaryjnych wyj z ptli jest nieograniczona.

Warto zmiennej sterujcej zostaje zachowana po wyjciu z ptli. Instrukcje ptli mo-
g by zagniedane. W kadej z zagniedonych ptli trzeba uy innej zmiennej
sterujcej, na przykad:
For i = 1 To 10
instrukcje1
For j = 5 To 0 Step 1
instrukcje2
Next j
instrukcje3
Next i

Drugi typ ptli, w ktrym liczba obiegw jest w zasadzie okrelona przy wejciu, to ptla
For Each ... Next. Ptla ta moe by uywana w odniesieniu do obiektw nalecych
do jakiej grupy, kolekcji czy tablicy. Czsto wykorzystuje si j w odniesieniu do zakresu
komrek, z ktrego mona wydoby zawarto poszczeglnych komrek. Skadnia in-
strukcji ptli tego typu jest taka jak poniej:
For Each element In grupa
instrukcje
Next element

Ptla pobiera kolejne elementy z grupy i w odniesieniu do kadego z nich wykonuje


instrukcje, a wszystkie elementy zostan pobrane. Element jest zmienn typu obiekto-
wego lub typu Variant. W instrukcjach mona odwoywa si do waciwoci i metod
obiektu element. Poniewa w ptli tego typu nie ma licznika wykona, mona w razie
potrzeby zadeklarowa i zainicjowa (na 0) zmienn typu cakowitego, ktra bdzie spe-
nia t funkcj. Zmienn t naley inkrementowa (zwiksza o 1) przy kadym obiegu
ptli. Podobnie jak w przypadku ptli For...Next, ptl For Each ... Next mona na-
tychmiast opuci, wykonujc instrukcj Exit For.

Ptle, w ktrych liczba obiegw jest z zasady nieokrelona, s wykonywane, dopki jest
speniony pewien warunek logiczny (wersja ze sowem While), lub koczone, gdy zostaje
speniony warunek logiczny (wersja ze sowem Until). Warunek ten jest z reguy spraw-
dzany na pocztku lub na kocu kodu ptli.

S to ptle typu Do...Loop. Istniej cztery podtypy tego rodzaju ptli:


Do While warunek
instrukcje
Loop

Do Until warunek
instrukcje

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


310 Excel w obliczeniach naukowych i inynierskich

Loop
Do
instrukcje
Loop While warunek

Do
instrukcje
Loop Until warunek

Jeeli warunek kontynuowania lub zakoczenia oblicze sprawdzany jest na pocztku ptli,
moliwe jest, e tre ptli nie wykona si ani razu; jeeli jest sprawdzany na kocu ptli,
tre ptli wykona si co najmniej raz.

W treci ptli mona umieci instrukcj Exit Do, ktrej wykonanie powoduje natychmia-
stowe zakoczenie ptli i przejcie do instrukcji nastpujcej po Loop.

Moliwa jest rwnie ptla typu:


Do
instrukcje
If warunek Then Exit Do
instrukcje
Loop

Jest to ptla, w ktrej warunek zakoczenia sprawdzany jest tylko w treci ptli.

Stosowanie komentarzy
Kod funkcji lub makroinstrukcji stanie si bardziej czytelny, jeli uzupenimy go odpo-
wiednimi komentarzami wyjaniajcymi, jaki jest cel wykonywanych oblicze. Przydaje
si to szczeglnie, gdy wracamy po duszej przerwie do pracy nad jak funkcj czy ma-
kroinstrukcj. Komentarz w kodzie VBA to tekst umieszczony po znaku ' (po apostrofie).
Moe on zajmowa ca lini albo by umieszczony za kodem na kocu linii. Kocem
komentarza jest zawsze koniec linii.

Komentarz moe by rwnie wykorzystany w trakcie uruchamiania kodu do chwilowej


dezaktywacji czci kodu. Jeli umiecimy apostrof na pocztku linii kodu, ta linia nie
bdzie wykonywana.

Uruchamianie i testowanie
makroinstrukcji i funkcji
Przy pisaniu kodu duszych makroinstrukcji lub funkcji rzadko zdarza si napisa od razu
wszystko bezbdnie. Czowiek jest omylny, dlatego kady kod musi by dokadnie spraw-
dzony. Od strony formalnej kod jest sprawdzany automatycznie przez edytor Visual

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 311

Basica, ale pozostaje jeszcze logiczna poprawno kodu, ktr musimy ju sprawdzi
sami. Chodzi o to, czy wyniki, ktre otrzymujemy, s istotnie tym, co chcielimy obliczy.
Naley to sprawdzi, testujc kod na danych, ktre daj znane wyniki.

Pierwsza faza kontroli odbywa si podczas wprowadzania kodu w oknie edytora. Bdne
linie s zaznaczane na czerwono, a w okienku wywietlany jest komunikat o rodzaju wy-
krytego bdu. Bd moe wystpi rwnie w fazie wykonania kodu. W takim przypadku
wykonywanie kodu jest przerywane i wywietlany jest komunikat o bdzie wykonania.
Linia kodu, w ktrej wystpi bd, jest podwietlana na to. Po poprawieniu bdu pod-
wietlenie pozostaje, lecz mona ponownie uruchomi kod klawiszem F5. Pierwszym
wierszem realizowanym po wznowieniu jest wiersz podwietlony. Czasem po poprawieniu
bdu trzeba uruchomi kod od pocztku. W takim przypadku naley najpierw wcisn
przycisk z granatowym kwadratem na pasku zada (Reset) lub wybra z menu Run/Reset.

Jeeli program generuje bdy wykonania lub daje nieprawidowe wyniki, w znalezieniu
przyczyny bdu moe pomc wykonanie kodu krokowo lub zatrzymanie kodu w pewnym
miejscu w celu sprawdzenia wartoci zmiennych. Gdy jest otwarte okno edycji kodu, mona
go uruchomi krokowo klawiszem F8. Aby zatrzyma wykonanie kodu w okrelonym
miejscu, naley ustawi tzw. puapk programow (ang. Breakpoint). W tym celu trzeba
umieci kursor w linii, gdzie ma by ustawiona puapka, i nacisn klawisz F9 albo
na pasku narzdzi ikonk z symbolem doni. Linia z ustawion puapk jest pod-
wietlona na brzowo. Po osigniciu tej linii w trakcie wykonywania kodu zostaje ono
przerwane i wywietla si okno edytora z lini puapki. Wykonywanie kodu zostaje za-
trzymane przed lini z ustawion puapk.

Po zatrzymaniu wykonywania programu mona najecha kursorem na zmienn umiesz-


czon w kodzie i w tymczasowym okienku podejrze jej warto. Mona rwnie wy-
wietla biece wartoci zmiennych w oknach Locals, Watch lub Quick Watch.

Polecenia dostpne w trybie uruchamiania mog by uaktywniane bezporednio z menu,


za pomoc skrtw klawiszowych lub przez kliknicie odpowiedniej ikonki na pasku
narzdzi Debug. Wygld tego paska narzdzi przedstawiono na rysunku 22.3.

Rysunek 22.3.
Pasek narzdzi Debug
(uruchamianie) w rnych a)
wersjach Excela:
a) w wersji 2000,
b) w wersji 2007
b)

Kolejne ikonki oznaczaj: tryb projektowania (Design Mode), uruchom ponownie (Continue
F5), przerwij (Break Ctrl+Break), przygotuj do uruchomienia od pocztku (Reset),
ustaw lub skasuj puapk (Toggle Breakpoint F9), wykonuj krokowo (Step Into F8),
wykonuj krokowo bez wchodzenia do wntrza wywoywanych podprogramw i funkcji
(Step Over Shift+F8), wykonaj biec procedur bez zatrzymania i przejd do proce-
dury wywoujcej (Step Out Ctrl+Shift+F8), otwrz okno zmiennych lokalnych (Locals
Window), otwrz okno oblicze bezporednich (Immediate Window Ctrl+G), otwrz
okno podgldu zmiennych (Watch Window Ctrl+W), szybki podgld (Quick Watch
Shift+F9), poka stos wywoa procedur (Call Stack Ctrl+L).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


312 Excel w obliczeniach naukowych i inynierskich

Przykady funkcji
i makroinstrukcji w VBA
Obliczanie wartoci wielomianu
Zagadnienie obliczania wartoci wielomianu o znanych wspczynnikach jest typowym
zadaniem, na ktrego przykadzie mona zilustrowa definiowanie funkcji o zmiennej licz-
bie parametrw.

Aby obliczy warto wielomianu, wygodnie jest zapisa go za pomoc tzw. schematu
Hornera, na przykad:
ax4+bx3+cx2+dx+e = ((((ax+b)x+c)x+d)x+e

Schemat ten pozwala oblicza warto wielomianu w ptli, dziki czemu ten sam schemat
obliczeniowy mona zastosowa niezalenie od stopnia wielomianu, a zarazem liczby
wspczynnikw.

Obliczenia rozpoczyna si od pobrania wspczynnika przy najwyszej potdze x, mnoy


si go przez x, a nastpnie dodaje kolejny wspczynnik. Wynik zapamituje si w zmien-
nej roboczej. W nastpnym obiegu ptli warto zmiennej roboczej mnoy si przez x
i dodaje kolejny wspczynnik. Cykl oblicze powtarza si a do wyczerpania listy wsp-
czynnikw.

Nagwek funkcji musi zawiera deklaracj parametru x oraz tablicy wspczynnikw.


Moliwe postacie nagwka przedstawiono ju wczeniej. Rni si one form deklaracji
tablicy wspczynnikw. Tablic parametrw wybierzemy, jeli przewidujemy, e wsp-
czynniki bd podane w formie listy staych, natomiast tablica zadeklarowana jako zmienna
typu Variant bdzie wygodniejsza, jeeli wartoci wspczynnikw bd odczytywane
z komrek arkusza.

Po nagwku musi nastpi tre funkcji uwzgldniajca zadeklarowane struktury danych.


Cao moe wyglda na przykad tak:
Function Wielomian1(x As Double, ParamArray wsp()) As Double
Dim w As Double, i As Integer
w = wsp(0)
For i = 1 To UBound(wsp)
w = w*x+wsp(i)
Next i
Wielomian1 = w
End Function

Druga wersja funkcji:


Function Wielomian2(x As Double, wsp) As Double
Dim w As Double, ai
w = 0#
For Each ai In wsp
w = w*x+ai

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 313

Next ai
Wielomian2 = w
End Function

Zastosowanie w drugiej wersji funkcji ptli For Each ... Next pozwala nie myle o struk-
turze zmiennej wsp. Niezalenie od tego, czy wspczynniki bd w arkuszu zapisane
w wierszu, czy w kolumnie, wszystkie zostan odczytane po kolei od strony lewej do pra-
wej lub z gry na d. Analogicznie zostan potraktowane stae tablicowe.

Obliczanie pierwiastkw rwnania kwadratowego


Rwnanie kwadratowe ax2+bx+c = 0 przy a 0 moe mie dwa pierwiastki rzeczywiste
okrelone wzorami:

b
x1, 2 = , gdzie = b 2 4ac
2a

Liczba pierwiastkw zaley od wartoci wyrnika . Jeli > 0, rwnanie ma dwa pier-
wiastki rzeczywiste rne, jeli = 0, rwnanie ma jeden pierwiastek tzw. podwjny
(albo dwa pierwiastki rwne), wreszcie jeli < 0, rwnanie nie ma pierwiastkw rzeczy-
wistych, ma natomiast dwa pierwiastki zespolone.

Funkcja obliczajca pierwiastki rwnania kwadratowego bdzie przykadem funkcji zwra-


cajcej w wyniku dwie liczby. Argumentami funkcji s wartoci trzech wspczynnikw.
Zadeklarujemy je jako osobne zmienne (chocia mona zadeklarowa jedn zmienn typu
Variant, do ktrej przekazany zostanie zakres komrek ze wspczynnikami, jak w po-
przednim przykadzie).

Nagwek funkcji moe mie posta:


Function PierwRK(a As Double, b As Double, c As Double) As Double()

Deklaracj wyniku funkcji mona pomin. Ale w treci funkcji naley zadeklarowa
tablic robocz do przechowania wynikw oblicze. Struktura tablicy zaley od tego, jak
chcemy wywietla wyniki:
Dim pierw(1 To 2) As Double 'wyniki w wierszu albo
' Dim pierw(1 To 2, 1 To 1) As Double wyniki w kolumnie
Dim delta As Double
delta = b*b4*a*c
pierw(1) = (bSqr(delta))/(2*a) 'lub pierw(1,1) =
pierw(2) = (b+Sqr(delta))/(2*a) 'lub pierw(2,1) =
PierwRK = pierw
End Function

W przypadku a = 0 funkcja zwraca komunikat bdu #ARG!. W przypadku wyrnika


rwnego zeru funkcja zwraca dwie jednakowe wartoci, natomiast przy wyrniku ujem-
nym otrzymujemy komunikat bdu #ARG!.

Mona rozway inny wariant funkcji, ktry uwzgldni rwnie pierwiastki zespolone.
Tu dla odmiany uyjemy funkcji Array do nadania wartoci naszej funkcji. Funkcja zwraca
albo dwa pierwiastki rzeczywiste, albo cz rzeczywist i cz urojon pierwiastkw.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


314 Excel w obliczeniach naukowych i inynierskich

W tym drugim przypadku cz urojona ma posta tekstow. Z tego wzgldu wynik funkcji
musi by tablic typu Variant, bo w zalenoci od okolicznoci musi zwraca liczb lub
tekst. Ze wzgldu na uycie funkcji Array wyniki w arkuszu kalkulacyjnym bd zajmowa
ssiednie komrki w ukadzie poziomym.
Function PierwRK2(a As Double, b As Double, c As Double)
Dim delta As Double, p As Double, q As Double
delta = b*b4*a*c
p = -b/(2*a)
q = Sqr(Abs(delta))/(2*a)
If delta >= 0 Then
PierwRK2 = Array(pq , p+q)
Else
PierwRK2 = Array(p , "" & q & " i")
End If
End Function

Wykorzystanie funkcji VBA w Excelu


Niektre funkcje i metody dostpne w VBA nie maj odpowiednikw wrd funkcji
Excela. Aby mie do nich dostp z poziomu arkusza, naley utworzy do nich stosowny
interfejs, czyli opakowanie. Tak poyteczn funkcj jest na przykad Val. Funkcja ta
pobiera argument w postaci tekstowej i zwraca liczb odczytan z pocztku tekstu, pomi-
jajc kocowe znaki nienumeryczne. Przykadowo z tekstu "24c" funkcja zwraca liczb 24.
Uzyskanie podobnego wyniku za pomoc standardowych funkcji Excela jest trudniejsze.

Opakowanie funkcji Val moe przyj form:


Function Liczba(x)
Liczba = Val(x)
End Function

Definicj t naley umieci w module VBA i ju mona funkcj wywoa w Excelu, po-
sugujc si nazw LICZBA. Aby unikn niespodzianek, naley jednak mie na uwadze
specyfik uytej funkcji Val. Funkcja ta poszukuje liczby na pocztku przekazanego jej
argumentu tekstowego, ktry moe by wartoci wyraenia. Ignoruje znaki spacji, tabu-
lacji, przejcia do nowej linii. Koczy analiz na pierwszym znaku, ktry nie moe by
uznany za fragment liczby. Za separator dziesitny uznawana jest kropka (jak w VBA),
lecz funkcja zwraca liczb z przecinkiem dziesitnym. Jeeli argument tekstowy nie roz-
poczyna si od liczby, funkcja zwraca 0.

Funkcja rozpoznaje przedrostki &H i &O (due lub mae litery) jako flagi odpowiednio liczb
heksadecymalnych (szesnastkowych) i oktalnych (semkowych). Przykady wywoa
w Excelu i zwracanych wynikw:
= LICZBA(" 12e") zwraca 12,
= LICZBA(" e2") zwraca 0,
= LICZBA(" 12e2") zwraca 1200,
= LICZBA(" 1 2 e 2") zwraca 1200,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 315

= LICZBA(" 12"&" e 2") zwraca 1200,


= LICZBA(" 12& e 2") zwraca 12,
= LICZBA("2,5e") zwraca 2,
= LICZBA("2.5y") zwraca 2,5,
= LICZBA("&h2f.5e") zwraca 47.

Godna udostpnienia w arkuszu jest rwnie metoda Evaluate, ktra pozwala obliczy
warto wyraenia danego w postaci tekstowej. Daje to moliwo skomponowania wyra-
enia z fragmentw, ewentualnie wymiany funkcji lub podstawienia wartoci w miejsce
zmiennej. Moemy zdefiniowa funkcj OBLICZ jako opakowanie metody Evaluate.
Function Oblicz(x)
Application.Volatile
Oblicz = Evaluate(x)
End Function

Rwnie ta funkcja ma swoj specyfik. Jej argumentem moe by staa tekstowa lub
wyraenie dajce w wyniku tekst. Z niejasnych powodw argumentem nie moe by od-
woanie do komrki zawierajcej tekst. Argument funkcji powinien tworzy poprawn
formu poprzedzon znakiem = lub bez tego znaku, zapisan w wersji z kropk jako
separatorem dziesitnym, z angielskimi nazwami funkcji i z przecinkami jako separatora-
mi argumentw funkcji. Jednak jeli wystpi odwoanie porednie, argument funkcji
wewntrznej moe by rwnie w notacji polskiej (z przecinkiem dziesitnym). Wyjani
to na przykadach:

Poprawne odwoania: = OBLICZ("EXP(2.5)"), = OBLICZ("=EXP(C3)"), przy czym w C3 moe


by liczba w notacji angielskiej lub polskiej, = OBLICZ(D3&""), przy czym D3 zawiera tekst
formuy.

Niepoprawne odwoania: = OBLICZ("EXP(2,5)"), = OBLICZ("=PIERWIASTEK(C3)"),


= OBLICZ(D3), pomimo e D3 zawiera tekst formuy.

Argumentem funkcji OBLICZ moe by rwnie odwoanie bezporednie, dajce wynik


liczbowy, ale to mao przydatny wariant, bo skutek jest podobny do uycia znaku = przed
wyraeniem, a argument musi by podany w caoci. W tym wariancie funkcja OBLICZ
akceptuje formuy tylko w polskiej wersji i rwnie nie akceptuje jako argumentu od-
woania do komrki. Przykady uycia tej formy funkcji: = OBLICZ(EXP(2,5)) jest rw-
nowane formule = EXP(2,5), = OBLICZ(PIERWIASTEK(C3)) jest rwnowane formule
= PIERWIASTEK(C3), = OBLICZ(D3) jest niepoprawne, a = OBLICZ(D3+0) jest rwno-
wane = D3.

Polecenie Application.Volatile w definicji funkcji nakazuje przeliczenie arkusza przy


kadym wywoaniu funkcji. Polecenie to umoliwia poprawne wykonanie oblicze itera-
cyjnych w arkuszu w wersji 2000. W nowszych wersjach arkusza obliczenia iteracyjne
z uyciem funkcji OBLICZ daj czsto bdne wyniki, nawet po zastosowaniu tego polece-
nia. Gdy nie stosuje si oblicze iteracyjnych jego uycie jest na og zbdne, warto to
jednak kadorazowo sprawdzi.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


316 Excel w obliczeniach naukowych i inynierskich

Cakowanie numeryczne
W przypadku funkcji podcakowej opisanej wzorem rozwizaniem alternatywnym dla
cakowania numerycznego w arkuszu (por. rozdzia 7. Obliczanie caek oznaczonych
z wykorzystaniem ich interpretacji geometrycznej) moe by napisanie odpowiedniej
makroinstrukcji lub funkcji. Zacznijmy od makroinstrukcji. Poniewa makroinstrukcja
wywoywana z arkusza nie moe mie parametrw, wszystkie dane trzeba pobra z kom-
rek arkusza lub z okna dialogu z uytkownikiem.

Dane do oblicze obejmuj: liczb podprzedziaw n, na ktre podzielono przedzia cako-


wania, oraz doln i grn granic cakowania, odpowiednio a i b. Bd ponadto potrzebne
dwie komrki na zmienn podcakow x oraz funkcj podcakow f(x).

W arkuszu umiecimy kolejno w jednym wierszu n, a, b, x, f(x) oraz komrk przezna-


czon na wynik. W momencie wywoania makroinstrukcji komrk aktywn ma by
miejsce na wynik. W komrkach n, a i b naley wczeniej umieci odpowiednie dane.
W komrce f(x) naley wpisa formu funkcji podcakowej (zgodnie z zasadami obo-
wizujcymi w arkuszu, a nie w VBA). Do komrek z danymi mona odwoywa si
w treci makro dziki waciwoci Offset.

Trzeba jeszcze wybra metod cakowania. W prezentowanym przykadzie zastosowano


metod Simpsona. Niewielka zmiana kodu pozwoli zastosowa inn metod cakowania.
Makroinstrukcja moe mie na przykad tak posta:
Sub Simpson()
Dim wynik As Double, a As Double, b As Double
Dim krok As Double, x As Double, n As Integer, licznik As Integer
a = ActiveCell.Offset(0, 4)
b = ActiveCell.Offset(0, 3)
n = ActiveCell.Offset(0, 5)
krok = (ba)/n
x = a
wynik = 0# '0 jako warto typu Double
ActiveCell.Offset(0, 2) = x
For licznik = 1 To n
wynik = wynik+ActiveCell.Offset(0, -1)
x = x+krok/2
ActiveCell.Offset(0, 2) = x
wynik = wynik+4*ActiveCell.Offset(0, 1)
x = x+krok/2
ActiveCell.Offset(0, 2) = x
wynik = wynik+ActiveCell.Offset(0, 1)
Next licznik
ActiveCell = wynik*krok/6
End Sub

W makroinstrukcji wykorzystuje si automatyczne przeliczanie arkusza po kadej zmianie


jego zawartoci. Kadorazowo, gdy nowa warto zmiennej x jest umieszczana w arkuszu,
automatycznie w ssiedniej komrce zostaje obliczona warto funkcji podcakowej, ktra
moe by potem uyta do oblicze.

Makroinstrukcji, ktra ma by uyta kilkakrotnie, wygodnie jest przypisa skrt klawi-


szowy. Suy do tego sekwencja polece menu Narzdzia/Makro/Makra (Nazwa)/Opcje
(od wersji 2007 Deweloper/Makra(Nazwa)/Opcje).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 317

O ile napisanie makroinstrukcji, ktra wykonuje cakowanie numeryczne, nie jest specjal-
nie trudne, o tyle napisanie analogicznej funkcji jest trudniejsze. Nie byoby problemu,
gdyby definicja funkcji podcakowej bya napisana w Visual Basicu, wtedy jako argu-
menty wywoania wystarczyoby poda granice cakowania i liczb podprzedziaw. Ka-
dorazowa zmiana funkcji podcakowej wymagaaby jednak ingerencji w kod VBA, co nie
jest zbyt wygodne. Ta wersja mogaby wyglda na przykad tak:
Function fp(x As Double) As Double
fp = Exp(x)/x 'definicja funkcji podcakowej wg skadni VBA
End Function

Function Simpson1(a As Double, b As Double, n As Integer) As Double


Dim wynik As Double
Dim krok As Double, x As Double, licznik As Integer
krok = (ba)/n
x = a
wynik = 0# '0 jako warto typu Double
For licznik = 1 To n
wynik = wynik+fp(x)
x = x+krok/2
wynik = wynik+4*fp(x)
x = x+krok/2
wynik = wynik+fp(x)
Next licznik
Simpson1 = wynik*krok/6
End Function

Inna wersja ptli For...Next:


For licznik = 1 To n
wynik = wynik+fp(x)+4*fp(x+krok/2)+fp(x+krok)
x = x+krok
Next licznik

Jeli chcielibymy unikn definiowania funkcji podcakowej w kodzie Basica, musieliby-


my j poda jako jeden z argumentw wywoania funkcji cakujcej. Byby to argument
tekstowy, w ktrym zmienna podcakowa byaby oznaczona liter x (lub inn z gry usta-
lon liter). Za kadym razem, gdy zmienia si warto x, naley podstawi t warto
w miejsce litery "x" we wzorze funkcji podcakowej, a nastpnie obliczy warto tak
otrzymanego wyraenia. Podstawienie mona zrealizowa za pomoc funkcji Excela
PODSTAW, ktra w angielskiej wersji nosi nazw Substitute. Uywajc tej funkcji, naley
zwraca uwag na wielkie i mae litery, bo funkcja je rozrnia.

Do obliczenia wartoci wyraenia suy z kolei metoda Evaluate. Oblicza ona warto
wyraenia zapisanego w postaci tekstowej w stylu arkusza. (Nazw metody Evaluate
mona zastpi par nawiasw kwadratowych, lecz wwczas argument musi by podany
wprost bez cudzysowu, wic jest to z reguy mniej wygodne i w tym wypadku nie da si
zastosowa). Po modyfikacji nasza funkcja mogaby by zapisana tak:
Function Simpson2(fp As String, a As Double, b As Double, n As Integer) As Double
Dim wynik As Double
Dim krok As Double, x As Double, licznik As Integer
krok = (ba)/n
x = a
wynik = 0# '0 jako warto typu Double

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


318 Excel w obliczeniach naukowych i inynierskich

For licznik = 1 To n
wynik = wynik+Evaluate(Application.Substitute(fp, "x", x))
x = x+krok/2
wynik = wynik+4*Evaluate(Application.Substitute(fp, "x", x))
x = x+krok/2
wynik = wynik+Evaluate(Application.Substitute(fp, "x", x))
Next licznik
Simpson2 = wynik*krok/6
End Function

Ograniczeniem tego rodzaju rozwizania jest to, e funkcja podcakowa musi by zapisa-
na jednym wzorem, podczas gdy korzystajc z komrek arkusza moemy cakowa
bardziej zoone funkcje, ktre s obliczane sekwencyjnie.

Przy okazji obliczania grnej granicy cakowania w przypadku caki funkcji danej w po-
staci tabelarycznej w arkuszu (rozdzia 9. Obliczanie grnej granicy cakowania) napo-
tkalimy problem wyznaczenia wartoci indeksu Koniec. Problem ten mona atwo
rozwiza, posugujc si makroinstrukcj. Moe mie ona tak posta:
Sub GdzieKoniec()
Dim n As Integer, licznik As Integer
n = Range("TABE").Count
For licznik = 1 To n2
Range("Koniec") = licznik
If Range("F25") <= 0 Then Exit For
Next licznik
End Sub

Powysza makroinstrukcja jest cile zwizana z obliczeniami wykonywanymi w arkuszu


i tylko je uzupenia, ale ich nie zastpuje. Wykorzystuje te oznaczenia zastosowane
w arkuszu.

Rozwizywanie rwna nieliniowych


z wykorzystaniem metody GoalSeek
W rozdziale 12. Rozwizywanie rwna nieliniowych omwiono kilka metod ich roz-
wizywania w arkuszu. Kad z nich mona atwo przenie do Visual Basica. Tu om-
wimy wariant wykorzystujcy metod GoalSeek, odpowiednik narzdzia o tej samej nazwie,
dostpnego w arkuszu (w polskiej wersji Excela pod nazw Szukaj wyniku).

Skadnia metody jest taka jak poniej:


expression.GoalSeek(Goal, ChangingCell)

Wyraenie expression musi dawa w wyniku zakres reprezentujcy pojedyncz komrk.


W tej komrce musi by formua okrelajca funkcj celu. Zmienna Goal typu Variant
okrela warto docelow tej formuy. ChangingCell jest obiektem Range okrelajcym
zmienn podlegajc modyfikacji. Metoda ta moe by zastosowana tylko w makroin-
strukcji, gdy wprowadza zmiany w arkuszu. Jeli operacja zakoczy si pomylnie, metoda
zwraca warto True.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 319

Jeeli przygotujemy dane w wierszu w kolejnoci: komrka zmieniana, funkcja celu,


warto docelowa i jako komrk aktywn wskaemy funkcj celu, moemy zapisa takie
oto makro rozwizujce rwnanie:
Sub SzukajWyniku()
Application.MaxChange = 0.00000001
If Not ActiveCell.GoalSeek(ActiveCell.Offset(0, 1), _
ActiveCell.Offset(0, 1)) Then
ActiveCell.Offset(0, 1) = CVErr(xlErrValue)
End If
End Sub

Pierwsza linijka kodu okrela dokadno oblicze w metodzie GoalSeek przez zmian
waciwoci MaxChange obiektu Application. Jeli nie mona znale rozwizania, nasze
makro wywietla w komrce zmienianej komunikat bdu #ARG!.

Mona te napisa funkcj speniajc podobne zadanie. Nie mona w niej jednak wyko-
rzysta metody GoalSeek, gdy zmienia ona stan arkusza. Nasza funkcja musi wyko-
rzystywa wasny algorytm rozwizania bazujcy na przykad na metodzie Newtona.
Argumentami funkcji s: formua okrelajca funkcj celu w postaci tekstowej, warto
pocztkowa argumentu funkcji celu oraz warto kocowa funkcji celu jako argument
opcjonalny, przyjmowany domylnie jako 0. W formule funkcji celu argument oznaczony
bdzie liter "x". Funkcja zwraca zmodyfikowan warto argumentu funkcji celu lub
komunikat bdu #ARG!, jeeli rozwizanie nie istnieje.

Obliczenie wartoci funkcji celu na podstawie tekstu formuy przebiega podobnie jak przy
obliczaniu caki. Mona zaproponowa na przykad taki opis funkcji MyGoal:
Function MyGoal(fp As String, wp As Double, Optional wk As Double = 0) As Double
Dim fx1 As Double, fx2 As Double, dx As Double
Dim xs As Double, x As Double, licznik As Integer
Dim dokl As Double, p As Double, n As Integer
dokl = Application.MaxChange
n = Application.MaxIterations
xs = wp
For licznik = 1 To n
dx = WorksheetFunction.Max(Abs(1E5*xs),1E6)
fx1 = Evaluate(Application.Substitute(fp, "x", xsdx))
fx2 = Evaluate(Application.Substitute(fp, "x", xs+dx))
p = (fx2fx1)/(2*dx)
x = xs(Evaluate(Application.Substitute(fp, "x", xs)) wk) / p
If Abs(xxs) < dokl Then Exit For
xs = x
Next licznik
If Abs(xxs) < dokl Then
MyGoal = x
Else
MyGoal = CVErr(xlErrValue)
End If
End Function

Podobnie jak metoda GoalSeek, funkcja MyGoal zwraca zawsze jeden wynik najbliszy
wartoci pocztkowej argumentu funkcji celu. Jeli istnieje kilka rozwiza trzeba
wywoywa funkcj kilkakrotnie z rnymi wartociami pocztkowymi.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


320 Excel w obliczeniach naukowych i inynierskich

Przeksztacenie tablicy dwuwymiarowej


w jednowymiarow
Przy okazji opracowania danych reprezentujcych funkcj dwu zmiennych metod regresji
(rozdzia 15. Regresja liniowa) pojawi si problem przeksztacenia tablicy wartoci
funkcji zapisanej jako tablica dwuwymiarowa w tablic jednowymiarow, zapisan w jednej
kolumnie. Jeeli zadanie tego rodzaju wystpuje wielokrotnie, mona napisa makroin-
strukcj, ktra czynno t zautomatyzuje.

Zamy, e oryginalna tablica z danymi zawiera w pierwszej kolumnie wartoci pierw-


szej zmiennej niezalenej (nazwijmy j x), a w pierwszym wierszu wartoci drugiej zmien-
nej niezalenej (nazwijmy j y). Wntrze tablicy zawiera wartoci funkcji uporzdkowane
tak, e warto f(xi, yj) znajduje si w wierszu odpowiadajcym wartoci xi i w kolumnie
odpowiadajcej wartoci yj. Pierwsza komrka tablicy jest pusta albo zawiera etykiety
zmiennych niezalenych.

x\y y1 y2 y3 y4
x1 f(x1, y1) f(x1, y2) f(x1, y3) f(x1, y4)
x2 f(x2, y1) f(x2, y2) f(x2, y3) f(x2, y4)
x3 f(x3, y1) f(x3, y2) f(x3, y3) f(x3, y4)
x4 f(x4, y1) f(x4, y2) f(x4, y3) f(x4, y4)

Po przeksztaceniu tablica zawiera trzy kolumny: w pierwszej kolumnie zestawy wartoci


zmiennej x powtrzone tyle razy, ile wartoci przyjmuje zmienna y; w drugiej kolejne
pojedyncze wartoci zmiennej y powtarzane tyle razy, ile wartoci przyjmuje zmienna x;
wreszcie w trzeciej kolumnie odpowiednie wartoci funkcji skopiowane kolumnami z ory-
ginalnej tablicy.

x1 y1 f(x1, y1)
x2 y1 f(x2, y1)
x3 y1 f(x3, y1)
x4 y1 f(x4, y1)
x1 y2 f(x1, y2)
x2 y2 f(x2, y2)
x3 y2 f(x3, y2)
x4 y2 f(x4, y2)
x1 y3 f(x1, y3)
x2 y3 f(x2, y3)
x3 y3 f(x3, y3)
x4 y3 f(x4, y3)
x1 y4 f(x1, y4)
x2 y4 f(x2, y4)
x3 y4 f(x3, y4)
x4 y4 f(x4, y4)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 321

Zanim przystpimy do kopiowania danych z tablicy dwuwymiarowej do jednowymiarowej,


musimy ustali sposb przekazania adresw rdowego i docelowego z arkusza do pro-
cedury w VBA. Myl, e najwygodniej bdzie zaznaczy (podwietli) zakres tabeli przed
konwersj, a adres docelowy wprowadzi z klawiatury w odpowiednim oknie dialogowym.

Odwoanie do zakresu zaznaczonego w arkuszu odbywa si przez waciwo Selection.


Rozmiary tego zakresu mona odczyta na przykad tak:
m = Selection.Rows.Count1
n = Selection.Columns.Count1

Odjcie 1 wie si z zamiarem okrelenia rozmiarw tablicy wartoci funkcji, naley wic
pomin pierwsz kolumn i pierwszy wiersz, ktre zawieraj wartoci zmiennych nie-
zalenych.

Adres docelowy mona ustali, pytajc uytkownika i wykorzystujc do tego funkcj lub
metod InputBox:
Dim Adres As Range
Set Adres = Range(InputBox("Podaj adres pocztku przeksztaconej tablicy"))
lub
Set Adres = Application.InputBox( _
prompt := "Podaj adres pocztku przeksztaconej tablicy", type := 8)

W obu przypadkach tworzymy obiekt typu Range o nazwie Adres, okrelajcy pocztek
wynikowej tablicy. W pierwszym przypadku uyto funkcji InputBox, ktra odbiera i zwraca
dane wprowadzone z klawiatury (powinien to by tekst reprezentujcy adres komrki).
Adres ten jest nastpnie wykorzystany do utworzenia obiektu typu Range. W drugim przy-
padku uyto metody InputBox. Dziki podaniu typu zwracanego wyniku (type := 8) od
razu tworzony jest obiekt typu Range. Ponadto w tym przypadku mona nie tylko wpisa
adres, ale mona te wskaza odpowiedni komrk klikniciem myszk. Szczegy do-
tyczce uycia funkcji i metody InputBox mona znale w pliku pomocy [15].

Mona zaproponowa kilka sposobw skopiowania danych z tablicy dwuwymiarowej do


jednowymiarowej. W pierwszym sposobie wykorzystano metod Copy do sekwencyjnego
kopiowania komrek z obszaru rdowego do obszaru docelowego. Metoda ta kopiuje
komrki wraz z ich formatowaniem, a nie tylko same wartoci. Adresy kopiowanych ob-
szarw okrela si za pomoc waciwoci Range. Odpowiedni fragment moe mie przy-
kadowo posta:
For i = 0 To n1
Selection.Range(Cells(2, 1), Cells(m+1, 1)).Copy _
Destination:=Adres.Cells(i*m+1, 1)
Selection.Cells(1, i+2).Copy _
Destination:=Adres.Range(Cells(i*m+1, 2), Cells((i+1)*m, 2))
Selection.Range(Cells(2, i+2), Cells(m+1, i+2)).Copy _
Destination:=Adres.Cells(i*m+1, 3)
Next i

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


322 Excel w obliczeniach naukowych i inynierskich

Alternatywnym rozwizaniem jest przepisanie wartoci z jednego zakresu do drugiego


komrka po komrce. Odpowiedni fragment kodu moe mie posta:
For i = 0 To n1
For j = 1 To m
Adres.Cells(i*m+j, 1) = Selection.Cells(j+1, 1)
Adres.Cells(i*m+j, 2) = Selection.Cells(1, i+2)
Adres.Cells(i*m+j, 3) = Selection.Cells(j+1, i+2)
Next j
Next i

W tym drugim przypadku przepisywane s tylko wartoci bez formatowania komrek.


Oba powysze rozwizania s do proste i oczywiste, ale maj jedn praktyczn wad
wykonanie kodu trwa stosunkowo dugo. Szybszym rozwizaniem jest wykorzystanie
tablic o odpowiedniej strukturze i przepisanie wartoci z jednej tablicy do drugiej. Dopiero
caa gotowa tablica jest przypisywana do zakresu docelowego. Odpowiedni fragment kodu
moe wyglda tak:
Dim Wyn() As Double
Src = Selection
m = UBound(Src, 1)1
n = UBound(Src, 2)1
ReDim Wyn(1 To m*n, 1 To 3)
For i = 0 To n1
For j = 1 To m
Wyn(i*m+j, 1) = Src(j+1, 1)
Wyn(i*m+j, 2) = Src(1, i+2)
Wyn(i*m+j, 3) = Src(j+1, i+2)
Next j
Next i
Range(Adres, Adres.Cells(n*m, 3)) = Wyn

Rozwizanie rwnania rniczkowego


metod Rungego-Kutty
W rozdziale 17. Rwnania rniczkowe zwyczajne podaem sposb zapisu rozwizania
rwnania kinetycznego za pomoc formu nazwanych. Jakkolwiek sposb ten pozwala
skutecznie ukry wyniki porednie i skupi uwag na ostatecznym wyniku, to sposb za-
pisu nie jest wystarczajco przejrzysty ze wzgldu na przeplatanie si elementw opisu
kinetyki reakcji i metody Rungego-Kutty. Alternatywnym sposobem rozwizania tego
zagadnienia jest zdefiniowanie dwu funkcji uytkownika w VBA. Pierwsza z nich bdzie
opisywa rwnanie kinetyczne, a druga algorytm Rungego-Kutty rozwizania rwnania
rniczkowego.

Rwnanie kinetyczne opisane jest przez funkcj KEq:


Function KEq(CA, CB, CC, corr)
KEq = Range("K.1")*(CAcorr)*(CBcorr)Range("K_1")*(CC+corr)
End Function

Do staych kinetycznych odwoujemy si poprzez ich nazwy, jakie maj w arkuszu, ste-
nia reagentw s przekazywane jako argumenty wywoania, dodatkowy argument corr
przewidziano do modyfikacji ste wymaganej przez metod Rungego-Kutty.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 323

Druga funkcja RKM okrela algorytm rozwizania rwnania metod Rungego-Kutty.


Funkcja przyjmuje jako argumenty stenia reagentw w biecej chwili, a zwraca w wy-
niku stenie wybranego reagenta (w naszym przykadzie reagenta A) w nastpnej chwili
po upywie czasu dt.
Function RKM(CA, CB, CC, dt)
p1 = KEq(CA, CB, CC, 0)*dt
p2 = KEq(CA, CB, CC, p1/2)*dt
p3 = KEq(CA, CB, CC, p2/2)*dt
p4 = KEq(CA, CB, CC, p3)*dt
RKM = CA(p1+2*p2+2*p3+p4)/6
End Function

W arkuszu wywouje si tylko funkcj RKM, podajc poprzednie stenia oraz interwa
czasowy jako argumenty. Funkcja oblicza nowe stenie substratu A; pozostae stenia
wylicza si ju w arkuszu z bilansu materiaowego.

Funkcje uytkownika podobne


do funkcji standardowych
Korzystajc z funkcji standardowych dostpnych w arkuszu kalkulacyjnym, nie zastana-
wiamy si zwykle nad tym, e funkcja, ktra na przykad wymaga podania argumentu
w postaci liczby rzeczywistej, moe w istocie przyj jako argument sta liczbow, sta
tablicow, adres pojedynczej komrki, wyraenie dajce w wyniku liczb, nazwy repre-
zentujce wymienione wczeniej rodzaje danych, ale rwnie funkcja ta moe przyj ar-
gument tekstowy, ktry ma posta liczby i zostanie skonwertowany na liczb. Argument
moe rwnie przybra form tablicy, jeeli funkcja zostanie uyta w odwoaniu tablico-
wym. Ta tablica rwnie moe mie posta staej tablicowej, zakresu komrek, wyraenia
dajcego w wyniku zakres komrek lub tablic wartoci oraz nazwy reprezentujcej kad
z wymienionych wczeniej postaci. Dla przykadu mona sprbowa wywoa w arkuszu
funkcj LN z rnego rodzaju argumentami:
= LN(2),
= LN({2}),
= LN("2"),
= LN(C3), przy zaoeniu, e w komrce C3 umieszczono liczb 2,
= LN(G2+1), przy zaoeniu, e w komrce G2 umieszczono liczb 1,
= LN(arg), przy zaoeniu, e nazwa arg zostaa wczeniej zdefiniowana
i reprezentuje jeden z typw danych wymienionych powyej.

Mona rwnie uy wywoania tablicowego: zaznaczywszy wczeniej trzy ssiednie


komrki (poziomo), wprowadzi do nich jedno z poniszych wyrae tablicowych i za-
twierdzi przez Ctrl+Shift+Enter:
= LN({2;5;8,5}) (w Excelu 2010 wprowadzamy = LN({2\5\8,5})),
= LN(C3:E3), przy zaoeniu, e w zakresie komrek C3:E3 umieszczono liczby,
na przykad 2; 5 i 8,5,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


324 Excel w obliczeniach naukowych i inynierskich

= LN(C3:E3 + 1), przy zaoeniu, e w zakresie komrek C3:E3 umieszczono


odpowiednie liczby,
= LN(arg_tabl), przy zaoeniu, e nazwa arg_tabl zostaa wczeniej zdefiniowana
i reprezentuje jeden z typw danych tablicowych wymienionych powyej.

Niestety nie wszystkie funkcje predefiniowane w Excelu akceptuj tak rnorodne typy
argumentw. atwo sprawdzi, e na przykad funkcje pochodzce z dodatku Analysis
Toolpak, mimo e od wersji 2007 dodatek ten jest ju zintegrowany z arkuszem, nie ak-
ceptuj argumentw w postaci tablic zawierajcych wicej ni jedn warto.

Moemy to sprawdzi na przykadzie jednej z funkcji z tego dodatku: SQRTPI (w wersji


2010 wystpuje pod spolszczon nazw PIERW.PI). Funkcja ta oblicza pierwiastek z argu-
mentu pomnoonego przez liczb . W razie uycia jej z argumentem w postaci tablicy
funkcja moe zwraca kod bdu #ARG!. Konkretny wynik zaley od wersji Excela i postaci
argumentu. Przykadowo Excel 2000 nie akceptuje adnych argumentw tablicowych,
wersje 2007 i 2010 akceptuj stae tablicowe, ale nie akceptuj zakresw.

Jeeli piszemy wasn funkcj w VBA i chcemy, aby zachowywaa si podobnie jak
funkcje standardowe, musimy sami zadba o to, aby funkcja akceptowaa rne rodzaje
danych. Jeeli typ argumentu zostanie zadeklarowany jako Single, Double lub Variant,
w wywoaniu funkcji moe wystpi dowolny rodzaj danych, odnoszcy si do pojedyn-
czej wartoci z wyjtkiem staej tablicowej. Jeeli typ argumentu zostanie zadeklarowany
jako Object lub Range, w wywoaniu funkcji moe wystpi tylko adres komrki lub
nazwa tej komrki. Dotyczy to sytuacji, gdy w treci funkcji argument jest traktowany
jak pojedyncza warto.

Jeeli chcemy, aby wasna funkcja moga by uywana w odwoaniu tablicowym, ak-
ceptowaa dane tablicowe i zwracaa wynik w postaci tablicy, musimy w treci funkcji
sprawdzi, jaki rodzaj danych reprezentuje argument i stosownie do tego zorganizowa
obliczenia. Zamy, e mamy przykadow funkcj SQRTPI, ktra pobiera jedn liczb jako
argument i zwraca jedn liczb jako wynik. Chcemy zmodyfikowa j tak, aby moga
akceptowa rwnie argument w postaci tablicy i zwraca wynik w postaci tablicy o takich
samych rozmiarach.

Taka funkcja musi przyjmowa argument typu Variant i sama zwraca wynik tego samego
typu. W treci funkcji naley sprawdzi, czy argument jest pojedyncz liczb, czy tablic
w tym drugim przypadku naley jeszcze odrni zakres komrek od zwykej tablicy.
Jest to istotne, poniewa musimy sprawdzi, czy mamy obiekt jednowymiarowy, czy
dwuwymiarowy od tego zaley sposb odwoywania si do jego elementw. Do spraw-
dzenia, czy mamy do czynienia z tablic, suy funkcja IsArray, natomiast za pomoc
funkcji IsObject sprawdzimy, czy mamy do czynienia z zakresem. W rny sposb
sprawdza si rozmiary zwykej tablicy (su do tego funkcje LBound i UBound) i zakresu
(waciwoci Rows.Count i Columns.Count). Ponadto zakres jest zawsze obiektem dwuwy-
miarowym, natomiast tablica zawierajca jeden wiersz jest obiektem jednowymiarowym,
a inne tablice (w tym jednokolumnowa) s pamitane jako dwuwymiarowe. Nie ma mo-
liwoci bezporedniego sprawdzenia, czy obiekt jest jednowymiarowy, czy dwuwymia-
rowy. Mona to zrobi porednio, prbujc odczyta drugi wymiar tablicy i sprawdzajc,
czy wystpi bd, czy nie. Metod t wykorzystano w funkcji TwoDim, ktra zwraca warto
logiczn True, jeli sprawdzany argument jest zakresem lub tablic dwuwymiarow.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 325

Poniewa funkcja, ktr chcemy zmodyfikowa, pochodzi z dodatku Analysis Toolpak,


sposb odwoania do niej zaley od wersji arkusza, w ktrej chcemy uruchomi funkcj.
Jak ju pisaem na pocztku tego rozdziau, w wersjach wczeniejszych, do 2003, naley
nazw funkcji poprzedzi kwalifikatorem [atpvbaen.xls] oznaczajcym nazw pliku bi-
blioteki funkcji, ktr trzeba wczeniej zainstalowa, natomiast od wersji 2007 nazw
funkcji wystarczy poprzedzi sowem WorksheetFunction.

Cao mona zapisa w nastpujcy sposb:


Function MySqrtPi(x)
Dim i, j, y, ux1, lx1, ux2, lx2
If IsArray(x) Then
y = x
If IsObject(x) Then
lx1 = 1
ux1 = x.Rows.Count
lx2 = 1
ux2 = x.Columns.Count
Else
ux1 = UBound(x)
lx1 = LBound(x)
If TwoDim(x) Then
ux2 = UBound(x, 2)
lx2 = LBound(x, 2)
End If
End If
If TwoDim(x) Then
For i = lx1 To ux1
For j = lx2 To ux2
y(i, j) = WorksheetFunction.SqrtPi(x(i, j)) 'albo [atpvbaen.xls].
Next j
Next i
Else
For i = lx1 To ux1
y(i) = WorksheetFunction.SqrtPi(x(i))
Next i
End If
MySqrtPi = y
Else
MySqrtPi = WorksheetFunction.SqrtPi(x)
End If
End Function

Private Function TwoDim(x) As Boolean


TwoDim = IsObject(x)
On Error Resume Next
TwoDim = UBound(x, 2) > 0
End Function

W kodzie VBA mona sprawdzi, ktra wersja Excela jest uywana za pomoc waci-
woci Val(Application.Version). W wersji 2007 zwracana jest warto 12, we wczeniej-
szych wersjach s to odpowiednio mniejsze liczby. Nie mona jednak wykorzysta tej in-
formacji do napisania uniwersalnego kodu, ktry byby wykonywany w rnych wersjach,
bo istnienie pliku atpvbaen.xls jest sprawdzane na etapie kompilacji i jego brak uniemo-
liwia kompilacj, niezalenie od tego, czy bdzie potrzebny przy wykonaniu.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


326 Excel w obliczeniach naukowych i inynierskich

Operacje na komrkach
sformatowanych w okrelony sposb
Niektre cechy formatowania komrek mona odczyta w Excelu za pomoc funkcji
KOMRKA("format"; odwoanie). Jednake takie czsto uywane cechy formatu, jak kolor
czcionki lub ta, nie zostay tu uwzgldnione. Jeli chcielibymy na przykad obliczy sum
zawartoci komrek z podanego zakresu, ktre s wywietlane w okrelonym kolorze,
mona posuy si funkcj napisan w VBA, w podobny sposb jak w poprzednim pod-
rozdziale.

Funkcj mona zapisa w nastpujcy sposb:


Function SUMA_KOLOR(Pattern As Range, ParamArray x())
Dim i As Byte, j As Byte
Dim Item
SUMA_KOLOR = 0
For Each Item In x()
If IsArray(Item) Then
If IsObject(Item) Then
For i = 1 To Item.Rows.Count
For j = 1 To Item.Columns.Count
If Item(i, j).Font.Color = Pattern.Font.Color _
And IsNumeric(Item(i, j)) Then
SUMA_KOLOR = SUMA_KOLOR+Item(i, j)
End If
Next j
Next i
End If
Else
If IsObject(Item) Then
If Item.Font.Color = Pattern.Font.Color And IsNumeric(Item) Then
SUMA_KOLOR = SUMA_KOLOR+Item
End If
End If
End If
Next Item
End Function

Funkcja SUMA_KOLOR dziaa w nastpujcy sposb: pierwszy argument (adres komrki)


jest traktowany jako wzr koloru, nastpne argumenty (ich liczba jest nieokrelona) s we-
ryfikowane i, jeli kolor czcionki jest zgodny z kolorem w komrce wzorcowej, a za-
warto komrki jest liczb, dodawane do siebie. W efekcie funkcja zwraca sum zawar-
toci komrek z podanych zakresw, ktrych kolor czcionki jest taki jak w komrce
wzorcowej. Argumentami funkcji mog by adresy komrek lub zakresw komrek. Jeli
jaka komrka ma zawarto nieliczbow, zostanie pominita i nie spowoduje to bdu
(tekst, ktry ma posta liczby, jest traktowany jak liczba); rwnie jeli wrd argumen-
tw zamiast adresu znajd si liczba lub tekst, zostan pominite, i to take nie spowo-
duje bdu.

Jeeli po zatwierdzeniu wyraenia zawierajcego wywoanie funkcji SUMA_KOLOR zmieni


si kolor czcionki komrki, ktra bya wrd argumentw, warto funkcji nie bdzie
automatycznie aktualizowana (bdzie aktualizowana przy zmianie wartoci w komrce).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 22. Elementy jzyka VBA (Visual Basic for Applications) 327

Aktualizacj mona wywoa przez edycj i ponowne zatwierdzenie wyraenia lub przez
nacinicie kombinacji klawiszy Ctrl+Alt+F9 (samo F9 nie wystarczy).

Wywietlanie tekstw formu w arkuszu


Czsto zdarza si na przykad przy przygotowywaniu prezentacji, e chcielibymy poka-
za formu zastosowan w arkuszu rwnie w formie tekstowej. Formu tak dogodnie
jest pokaza w komrce po prawej stronie lub poniej komrki, w ktrej wykonano obli-
czenia. Mona to zrobi przez skopiowanie zawartoci komrki (z pola edycji) i wklejenie
zawartoci do ssiedniej komrki sformatowanej jako tekst. Czynnoci te mona upro-
ci przez napisanie prostej makroinstrukcji wykorzystujcej waciwoci Formula lub
FormulaLocal. Przy okazji mona zobaczy, jak posta miaaby formua w wersji angiel-
skiej. Makro mona napisa w kilku linijkach:
Sub FormulaText()
With AciveCell.Offset(0, 1)
.NumberFormat = "@" 'format tekstowy
.FormulaLocal = ActiveCell.FormulaLocal 'jeli uyjemy waciwoci Formula,
'otrzymamy formu po angielsku
End With
End Sub

Przed wywoaniem makroinstrukcji naley ustawi kursor w komrce, ktra zawiera for-
mu. Tekstowa wersja formuy zostanie umieszczona w komrce ssiedniej z prawej
strony.

Mam nadziej, e tych kilka przykadw wystarczy, aby zrozumie, kiedy i w jaki sposb
zastosowa Visual Basic do usprawnienia oblicze. W razie wtpliwoci co do moliwoci
uycia poszczeglnych obiektw VBA naley skorzysta z pliku pomocy [15], przeanali-
zowa podane tam przykady i troch poeksperymentowa samodzielnie. Sporo poy-
tecznych informacji mona rwnie znale w podrcznikach powiconych jzykowi
VBA, na przykad [14].

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


328 Excel w obliczeniach naukowych i inynierskich

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23.
Graficzne elementy
sterujce (kontrolki
ekranowe, formanty)
Rodzaje graficznych elementw
sterujcych i ich przeznaczenie
Graficzne elementy sterujce, zwane te kontrolkami ekranowymi lub formantami (to
oficjalna nazwa uywana w opisach Excela), s narzdziami wspomagajcymi obliczenia.
Nie s niezbdne, gdy obliczenia prowadzi si okazjonalnie i osobicie, okazuj si na-
tomiast bardzo przydatne, gdy podobne obliczenia powtarza si wielokrotnie w rnych
wariantach, gdy arkusz obliczeniowy jest uywany nie przez autora, lecz przez inne osoby,
albo gdy obliczenia maj by zaprezentowane publicznie na wykadzie, konferencji itp.
Dlatego te, jak rwnie dlatego, e do obsugi formantw potrzebne mog by elementy
Visual Basica, ich omwienie pozostawiem na koniec. Kontrolki ekranowe to specjalne
elementy graficzne, wywietlane na ekranie, bdce elementem interfejsu uytkownika,
czyli suce do wymiany informacji midzy uytkownikiem a arkuszem: przekazywania
komunikatw, wyboru wariantw oblicze czy wprowadzania danych.

Formanty mog by uywane bezporednio w arkuszu lub w specjalnych niestandardo-


wych formularzach generowanych za pomoc Visual Basica. Tu ogranicz si do om-
wienia tego pierwszego, prostszego sposobu wykorzystania ich moliwoci. Bardziej
zaawansowane zastosowania formantw omwiono w innych opracowaniach, na przykad
[14]. Po umieszczeniu formantu w arkuszu naley wskaza komrk lub komrki ar-
kusza, ktre bd z nim powizane. Komrki te bd automatycznie przejmowa dane
wprowadzane przez uytkownika do formantu, a take w razie potrzeby udostp-
nia uytkownikowi stosowne dane, na przykad w celu dokonania wyboru. Standardowo
Excel udostpnia typowe formanty usprawniajce komunikacj midzy arkuszem a uyt-
kownikiem. S to przyciski: polece, przecznika, opcji i pokrte, pola wyboru, obrazu,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


330 Excel w obliczeniach naukowych i inynierskich

tekstowe, listy i tzw. pola kombi, etykiety, paski przewijania oraz formanty grupujce.
Oprcz tego mona korzysta z wielu dodatkowych formantw dostpnych w opcji Wicej
formantw, a nawet z formantw udostpnionych z zewntrz i zarejestrowanych do uy-
cia. Problemem moe by tylko znalezienie informacji o ich przeznaczeniu i sposobie
wykorzystania.

Niestety przy wyborze formantw uytkownik Excela jest naraony na dylemat z ga-
tunku osiokowi w oby dano istniej bowiem dwie grupy formantw o podob-
nym przeznaczeniu i podobnym wygldzie, rnice si szczegami implementacji.
Pierwsz grup stanowi formanty formularza, dostpne od bardzo wczesnych wersji
arkusza kalkulacyjnego, nieco atwiejsze w uyciu, lecz mniej elastyczne, drug grup
tworz formanty ActiveX, dostpne od wersji 97 Excela, ktrych wygld i cechy mona
pod wieloma wzgldami dopasowywa do potrzeb i oczekiwa uytkownika, obecnie
zalecane przez twrcw aplikacji. W przypadku prostych zastosowa uycie formantw
nie wymaga programowania w VBA. Jest tak wtedy, gdy formanty s statyczne i nieza-
lene od siebie. Parametry (waciwoci) formantw ustalone przy ich projektowaniu
pozostaj niezmienne w czasie dziaania aplikacji. Jeeli jednak wymagana jest zmiana
waciwoci formantw pod wpywem danych wprowadzanych przez uytkownika, nie-
zbdne staje si napisanie pewnych, zwykle niewielkich fragmentw kodu w Visual
Basicu. Nie jest bowiem moliwa modyfikacja waciwoci formantw z poziomu arkusza
w trakcie dziaania aplikacji. Aktywno uytkownika generuje zdarzenia, takie jak klik-
nicie myszk na formancie, zmiana wartoci formantu itp. Kod napisany w Visual Basicu
musi okrela reakcj na zdarzenia, ktre mog wystpi. W ten sposb aplikacja odpo-
wiada na bieco na wszystkie dziaania uytkownika i dostosowuje si do nich.

W tabeli 23.1 zestawiono polskie i angielskie nazwy najczciej uywanych formantw


z obu wymienionych grup, ich symbole graficzne oraz krtki opis ich przeznaczenia.
Angielskie nazwy s potrzebne, gdy domylny opis formantw i nazwy zwizanych
z nimi zdarze s w tym jzyku.

Dodawanie kontrolek
(formantw) do arkusza
Chocia same kontrolki ekranowe nie ulegy zmianom, to sposb ich umieszczania w ar-
kuszu zmieni si istotnie po wprowadzeniu Excela 2007. We wczeniejszych wersjach
arkusza dostp do formantw mona uzyska, wybierajc z menu Widok polecenie Paski
narzdzi i zaznaczajc na licie odpowiednio Formularze lub Przybornik formantw.
Odpowiedni pasek z symbolami formantw (formularzy lub ActiveX) pojawi si wwczas
na ekranie. Poczwszy od wersji 2007 Excela, dostp do formantw zapewnia karta De-
weloper. Jeeli karta nie jest widoczna, naley najpierw j wywietli. W tym celu w wersji
2007 trzeba najpierw nacisn Przycisk pakietu Office w lewym grnym rogu ekranu
i w Opcjach programu Excel zaznaczy Poka kart Deweloper na Wstce. W wersji
2010 z menu Plik naley wybra Opcje/Dostosowywanie wstki, a nastpnie na licie

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 331

Tabela 23.1. Zestawienie dostpnych formantw formularza i formantw ActiveX


Formanty formularza Formanty ActiveX
Nazwa polska Symbol Nazwa polska Symbol
Przeznaczenie
i angielska graficzny i angielska graficzny
Etykieta (Label) Etykieta (Label) Wywietla statyczny tekst
Przycisk (Button) Przycisk polecenia Uruchamia makropolecenia
(CommandButton)
Pole wyboru Pole wyboru Umoliwia wybr jednej
(CheckBox) (CheckBox) z dwu moliwoci (tak/nie)
Przycisk opcji Przycisk opcji Umoliwia wybr jednej z kilku
(OptionButton) (OptionButton) wykluczajcych si moliwoci
Pole listy (ListBox) Pole listy (ListBox) Umoliwia wybr pozycji
z listy
Pole tekstowe Umoliwia edycj tekstu
(TextBox)
Pokrto (Spinner) Przycisk pokrta Umoliwia zmian wartoci
(SpinButton) w komrce
Pasek przewijania Pasek przewijania Umoliwia szybk zmian
(ScrollBar) (ScrollBar) wartoci w komrce
Pole kombi Pole kombi Umoliwia wybr pozycji
(ComboBox) (ComboBox) z listy lub edycj tekstu
Pole grupy Grupuje przyciski opcji
(GroupBox) lub inne formanty
Obraz (Image) Wywietla grafik z pliku
Przycisk przecznika Przecza midzy dwoma
(ToggleButton) stanami (wcz/wycz)

Karty gwne zaznaczy kart Deweloper. Po wywietleniu karty Deweloper w grupie


Formanty naley klikn przycisk Wstaw. Zostanie wtedy otwarte okienko, podzielone
na dwie czci, zawierajce symbole formantw z obu kategorii. Dalsze postpowanie
przebiega ju podobnie, niezalenie od wersji Excela.

Teraz naley klikn myszk symbol graficzny wybranego formantu, a nastpnie w arku-
szu zaznaczy myszk obszar, w ktrym chcemy ulokowa formant. W trakcie zaznacza-
nia obszaru kursor myszki przyjmuje posta maego krzyyka. Po zwolnieniu przycisku
myszki formant jest ju na swoim miejscu. Bezporednio po wstawieniu formant jest
w trybie projektowania, co pozwala na edycj jego pooenia, rozmiarw i waciwoci.
Gdy formant nie jest w trybie projektowania, aby przej do tego trybu w przypadku for-
mantw formularza, wystarczy klikn formant prawym przyciskiem myszy, natomiast
w przypadku formantw ActiveX naley najpierw klikn ikonk trybu projektowania
lub odpowiednio na pasku Przybornik formantw lub w grupie Formanty na karcie
Deweloper, w zalenoci od wersji Excela. Potem naley klikn formant obojtnie lewym
czy prawym przyciskiem myszy. Tryb projektowania pozostaje aktywny a do ponownego
kliknicia jego ikonki.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


332 Excel w obliczeniach naukowych i inynierskich

Kady formant ma nazw, ktra jest widoczna w polu nazwy po lewej stronie nad arku-
szem (gdy formant jest zaznaczony). Domylnie nazwa skada si z nazwy rodzaju i nu-
meru formantu. Formantom formularza nadawane s nazwy polskie i numery kolejne,
w jednolitej numeracji, niezalenie od rodzaju formantu. Formantom ActiveX nadawane
s nazwy angielskie i numery kolejne formantw okrelonego rodzaju. Nazwy te mona
edytowa. Niektre formanty maj rwnie tytu, ktry jest wywietlany w jego polu. Po-
cztkowo wywietlany jest domylny tytu, taki sam jak nazwa formantu. Tytu moe by
edytowany niezalenie od nazwy formantu.

Aby zmodyfikowa ustawienia (waciwoci) formantu, naley jeli formant jest


zaznaczony:
we wczeniejszych wersjach Excela: z menu Format wybra Formant lub klikn
przycisk Waciwoci formantu na pasku Formularze lub Waciwoci na pasku
Przybornik formantw;
od wersji 2007: klikn przycisk Waciwoci na karcie Deweloper w grupie
Formanty.

Alternatywnie we wszystkich wersjach, jeli formant jest ju zaznaczony, mona na-


cisn Ctrl+1 (cyfra 1) lub jeli nie jest zaznaczy formant przez kliknicie prawym
przyciskiem myszy (w przypadku formantu ActiveX musi by wczony tryb projek-
towania), a nastpnie klikn polecenie Formatuj formant lub Waciwoci. Po wybra-
niu Formatuj formant wywietli si okno dialogowe z kilkoma zakadkami, pierwsze
zawieraj oglne waciwoci niezalene od rodzaju formantu, natomiast ostatnia, zaty-
tuowana Formant, wystpuje tylko w przypadku formantw formularza i obejmuje wa-
ciwoci specyficzne dla danego rodzaju formantu i konkretnego obiektu (egzemplarza).

W zakadce Formant okrela si warto pocztkow formantu oraz komrk lub komrki
z danymi powizanymi, jak rwnie komrk przechowujc aktualny stan formantu (po
akcji uytkownika). W przypadku formantw formularza t ostatni komrk mona rw-
nie wskaza bezporednio na pasku formuy (gdy formant jest zaznaczony). Adres ko-
mrki musi by podany wprost lub poprzez nazw komrki (nie moe by obliczony).

W przypadku formantw ActiveX waciwoci szczegowe mona edytowa w osobnym


oknie, otwieranym po wyborze polecenia lub naciniciu przycisku Waciwoci. To pole-
cenie jest dostpne tylko po zaznaczeniu formantu ActiveX i bdzie szczegowo om-
wione dalej.

Tytu formantu formularza mona edytowa bezporednio po klikniciu myszk lub wy-
bierajc Edytuj tekst z menu podrcznego (po klikniciu formantu prawym przyciskiem
myszy). Tytu formantu ActiveX mona edytowa, wybierajc Obiekt (tu polska nazwa
obiektu)/Edycja lub edytujc odpowiedni waciwo (patrz dalej).

Jeeli chcemy, aby w odpowiedzi na kliknicie formantu formularza bya wykonana jaka
makroinstrukcja, musimy wybra z menu podrcznego polecenie Przypisz makro, a na-
stpnie zarejestrowa je lub umieci jego tre w oknie edytora kodu Visual Basica, ktre
zostanie wywietlone. Najczciej makroinstrukcja jest przypisywana do przycisku pole-
cenia, ale mona rwnie wykorzysta tu inne formanty, przypisujc im dodatkowe zadania.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 333

W przypadku formantw ActiveX makroinstrukcj mona przypisa, wybierajc z menu


podrcznego opcj Wywietl kod lub z paska Przybornik formantw ikonk Wywietl kod
programu. Jeszcze prociej mona to zrobi, klikajc formant dwukrotnie lewym przyci-
skiem myszy (w trybie projektowania). Wicej szczegw na ten temat dalej.

Jeli chcemy uy formantu formularza, klikamy go lewym klawiszem myszy, jeli chce-
my go edytowa (tryb projektowania), klikamy go prawym klawiszem myszy. Koczymy
edycj, klikajc lewym klawiszem myszy gdziekolwiek poza formantem. Aby uy for-
mantu ActiveX, naley najpierw si upewni, e tryb projektowania jest wyczony
(ewentualnie wyczy go), a nastpnie klikn go lewym przyciskiem myszy (na prawy
w tym trybie nie reaguje). Aby edytowa formant ActiveX, naley najpierw si upewni,
e tryb projektowania jest wczony (ewentualnie wczy go), a nastpnie klikn go
lewym lub prawym przyciskiem myszy. Pojedyncze kliknicie lewym przyciskiem myszy
zaznacza formant, podwjne kliknicie otwiera okno edytora kodu makroinstrukcji,
pojedyncze kliknicie prawym przyciskiem myszy otwiera menu podrczne z opcjami
formatowania.

Formanty formularza
Poniej zestawiono informacje specyficzne dla poszczeglnych rodzajw formantw
formularza.

Etykieta

Stanowi tekst, ktry moe suy jako tytu lub opis. Nie ma adnych specyficznych
waciwoci, nie jest powizana z adn komrk arkusza. Tekst etykiety jest edytowany
w trakcie przygotowania arkusza i nie moe by zmieniany w toku oblicze. Wielko
i rodzaj czcionki nie podlegaj edycji.

Przycisk

Ma posta cieniowanego prostokta, ktry suy do uruchamiania przypisanej makroin-


strukcji, gdy uytkownik kliknie przycisk. Nosi zwykle opis tekstowy wyjaniajcy jego
przeznaczenie. Opis ten ma wygld okrelony na etapie projektowania, rodzaj czcionki
i jej wielko mona dobra.

Pole wyboru

Ma posta maego kwadratowego okienka, ktre moe by zaznaczone, niezaznaczone


lub w stanie nieokrelonym (szare). Stan pocztkowy pola okrela si przy projektowaniu.
Okienku towarzyszy krtki tekst opisu, podobny do etykiety. Kademu polu wyboru naley
przypisa komrk arkusza, ktra przyjmuje warto logiczn PRAWDA lub FASZ, albo
warto bdu #N/D! w zalenoci od stanu formantu. Kliknicie pola wyboru zmienia jego
stan z zaznaczonego na niezaznaczony i odwrotnie. Kilka pl wyboru mona zgrupowa,
umieszczajc je obok siebie, pozostaj one jednak niezalene logicznie i z kadym z nich
zwizana jest oddzielna komrka do przechowywania ustawienia formantu.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


334 Excel w obliczeniach naukowych i inynierskich

Przycisk opcji

Formant ten zwany jest rwnie przyciskiem radiowym. Ma posta maego kka pu-
stego (niezaznaczony) lub z kropk w rodku (zaznaczony). Obok kka umieszczony jest
krtki tekst opisu, podobny do etykiety. Przyciski opcji wystpuj zawsze w grupach, co
najmniej po dwa. Zaznaczenie (kliknicie) ktregokolwiek przycisku w grupie automatycz-
nie odwouje zaznaczenie innego przycisku std nazwa przycisk radiowy, bo jego
dziaanie jest podobne do przyciskw sucych do wyboru dugoci fal w radioodbiorniku.

Przy projektowaniu grupy przyciskw naley zadeklarowa odwoanie do wybranej ko-


mrki jako cze komrki. Komrka ta przechowuje numer wybranej opcji w grupie
wszystkie formanty w grupie musz mie to samo cze, jeli w arkuszu jest kilka grup
opcji kadej grupie naley przypisa inn komrk.

Pole listy

Formant ten umoliwia wybr jednej pozycji z wywietlonej listy. Funkcjonalnie odpo-
wiada zestawowi przyciskw opcji, z tym e zajmuje mniej miejsca przy duej liczbie po-
zycji do wyboru formant jest wyposaony w pionowy pasek przewijania, wic list
mona przewija i nie wszystkie pozycje musz by widoczne cay czas. Przy projekto-
waniu pola listy naley okreli zakres wejciowy (odwoanie do zakresu komrek arkusza,
w formie pojedynczej kolumny zawierajcej wartoci, ktre maj by widoczne w polu li-
sty) oraz cze komrki (adres komrki, w ktrym ma by umieszczony wynik wyboru
dokonanego przez uytkownika bdzie to numer pozycji na licie). Aby uzyska warto
wybranej pozycji, naley uy formuy = INDEKS(zakres_wejciowy; cze_komrki).
Mona rwnie okreli typ zaznaczania, wybierajc jedn z opcji: pojedyncze, wielokrotne
lub rozszerzone, ale tylko wybr pierwszej z nich (ustawienie domylne) jest obsugiwany
standardowo. Wybr wielokrotny oznacza, e kliknicie kadej pozycji listy jest nieza-
lene i dziaa jak przecznik. Wybr rozszerzony bez dodatkowych klawiszy dziaa tak
jak wybr pojedynczy, natomiast naciskajc dodatkowo klawisz Shift lub Ctrl, mona
zaznaczy kilka pozycji. Jednak przy wyborze opcji innej ni pojedyncze formant nie
zwraca wyniku do arkusza (zawarto cza komrki nie reaguje na wybr dokonany
przez uytkownika i trzeba napisa wasn procedur w VBA do obsugi tego wyboru).
Pole listy nie ma tytuu. Wielko pola listy moe by zmieniana w fazie projektowania,
ale nie mona zmieni ani rodzaju czcionki, ani jej wielkoci.

Pokrto

Nazwa tego formantu jest nieco mylca. Nawizuje ona do tradycyjnej formy pokrte
radiowych sucych na przykad do regulacji siy gosu, wygldem jednak bardziej przy-
pomina wspczesne urzdzenia w formie klawisza, ktry naciskany u gry zwiksza,
a naciskany u dou zmniejsza jaki parametr. Graficznie formant ma posta dwch pl ze
strzakami, kliknicie strzaki skierowanej w gr powoduje zwikszenie wartoci w ko-
mrce skojarzonej z formantem, natomiast kliknicie strzaki skierowanej w d powoduje
zmniejszenie tej wartoci. Wielko tej zmiany okrela parametr zmiana przyrostowa.
Formant pokrta nie ma tytuu. Przy projektowaniu pokrta naley okreli adres komrki
powizanej (cze komrki), a ponadto mona okreli pozostae parametry w nawia-
sach podaj ich wartoci domylne, ktre s zarazem wartociami granicznymi: warto
bieca (0), warto minimalna (0), warto maksymalna (30000), zmiana przyrostowa (1).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 335

Pokrto uatwia modyfikacj wartoci w komrce powizanej, ale nie ogranicza moli-
woci bezporedniej edycji tej wartoci. Zawarto komrki powinna by liczb cakowit
nieujemn z przedziau [warto minimalna, warto maksymalna], wartoci niecakowite
zostan obcite, wartoci spoza przedziau zostan skorygowane do wartoci granicznych,
wartoci nienumeryczne zostan zignorowane.

Pasek przewijania

Ten formant spenia funkcj podobn do pokrta, jednake umoliwia szybsz zmian
wartoci w komrce powizanej. Graficznie ma posta paska z suwakiem zakoczonego
z obu stron strzakami. Pasek moe mie orientacj pionow lub poziom. Wymiary paska
mona modyfikowa na etapie projektowania. Zmiana wartoci odbywa si poprzez klika-
nie strzaek na kocach paska (mae zmiany), klikanie pl pomidzy suwakiem a strzakami
(due zmiany) lub przez przeciganie suwaka (due zmiany). Parametry okrelane w przy-
padku paska przewijania s takie jak dla pokrta, z tym e dodatkowo okrela si para-
metr zmiana strony (domylnie 10). Okrela on zmian wartoci formantu po klikniciu
pl pomidzy suwakiem a strzakami. Domylna, a zarazem graniczna warto maksy-
malna wynosi w tym przypadku 100. Tak jak w przypadku pokrta uycie paska przewi-
jania pozwala na ustawienie cakowitej nieujemnej wartoci w komrce powizanej.
Formant paska przewijania rwnie nie ma tytuu.

Pole kombi

Formant ten jest poczeniem pola listy rozwijanej z polem tekstowym. Zajmuje mniej
miejsca od pola listy, gdy lista jest wywietlana dopiero po klikniciu strzaki lub pola
tekstowego. Pocztkowo pole tekstowe jest puste, po klikniciu myszk wywietlana jest
lista rozwijana, z ktrej uytkownik moe dokona wyboru wybrana warto zostanie
skopiowana do pola tekstowego. Podobnie jak w przypadku pola listy, wynik wyboru
dokonanego przez uytkownika zwracany w komrce powizanej bdzie numerem pozycji
na licie. Przy projektowaniu formantu naley poda zakres wejciowy (odwoanie do pio-
nowego zakresu komrek arkusza, zawierajcego wartoci, ktre maj by widoczne
w polu listy rozwijanej), cze komrki (adres komrki, w ktrym ma by umieszczony
wynik wyboru) oraz linie rzutu. Ten ostatni parametr okrela, ile pozycji z listy ma by
widocznych na ekranie w trakcie dokonywania wyboru. Jeeli zakres wejciowy zawiera
wicej pozycji, obok listy bdzie wywietlany pasek przewijania. Z listy mona wybra
tylko jedn pozycj. Gdy komrka powizana zawiera zero (nie dokonano adnego wy-
boru), pole tekstowe jest puste; gdy do komrki tej wpisze si warto wiksz ni liczba
pozycji na licie, wybrana zostanie ostatnia pozycja.

Podobnie jak w przypadku pola listy, formant ten nie ma tytuu, nie ma te moliwoci
modyfikacji rodzaju i wielkoci czcionki uywanej do wywietlania listy i treci wybranej
pozycji. Nie ma te moliwoci bezporedniego wpisania wybranej wartoci w polu
tekstowym.

Pole grupy

Formant ten moe by wykorzystany do rozmieszczenia innych formantw powizanych


ze sob logicznie. Pole grupy moe mie tytu. Po umieszczeniu w arkuszu pola grupy
mona wewntrz tego formantu umieci inne powizane formanty.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


336 Excel w obliczeniach naukowych i inynierskich

Formanty ActiveX
Standardowe formanty z tej grupy wygldaj podobnie i speniaj podobne funkcje jak
formanty formularza. Mona jednak modyfikowa wicej ich waciwoci i przez to lepiej
dopasowywa je do potrzeb uytkownika. Mona rwnie korzysta z formantw nie-
standardowych, speniajcych nietypowe zadania. Jeli jednak porwnamy szczegy im-
plementacji, zauwaymy do duo rnic w sposobie definiowania i dziaania tych for-
mantw. S one rwnie cilej powizane z jzykiem VBA, gdy waciwoci tych
formantw definiuje si tak jak waciwoci innych obiektw VBA.

Po wyborze polecenia lub naciniciu przycisku Waciwoci wywietlane jest okno Pro-
perties zawierajce zestawienie waciwoci biecego arkusza i wszystkich osadzonych
w nim formantw ActiveX. Nazwy rodzajowe formantw i ich waciwoci oraz nazwy
staych reprezentujcych wartoci niektrych waciwoci s tu podane w jzyku angiel-
skim. W oknie s dwie zakadki pozwalajce na wywietlanie waciwoci alfabetycznie
(Alphabetic) lub tematycznie (Categorized).

Przykadowy wygld okna Properties (Waciwoci) przedstawia rysunek 23.1.

Rysunek 23.1.
Okno Properties
prezentujce
waciwoci
formantu ActiveX

Niektre waciwoci maj nadane wartoci domylne lub wartoci wynikajce z usytu-
owania formantu w arkuszu, inne pozostawiono puste do wypenienia na etapie projek-
towania, niektre s opcjonalne i mog pozosta niewypenione. Aby wprowadzi lub
zmodyfikowa warto waciwoci, naley klikn dwa razy nazw waciwoci lub pole
wartoci obok nazwy. Jeeli waciwo moe przyjmowa dowoln warto, w polu
wartoci pojawi si kursor; jeli moe przyjmowa jedn z kilku wartoci, w okienku war-
toci pojawi si strzaka umoliwiajca wybr z listy; jeli wreszcie jest to waciwo
zoona, obejmujca kilka komponentw, w polu wartoci pojawi si wielokropek, po
ktrego klikniciu wywietli si okno dialogowe z moliwoci wyboru.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 337

Cz waciwoci jest wsplna dla wszystkich lub wikszoci formantw s to wa-


ciwoci dotyczce pooenia i rozmiarw formantu Top, Left, Height i Width, rodzaju
i wielkoci czcionki Font, kolorw pierwszego planu ForeColor i ta BackColor, nazwy Name,
tytuu Caption i wartoci zwracanej przez formant Text lub Value, adresu (lub nazwy) po-
wizanej komrki LinkedCell itp. S rwnie waciwoci specyficzne dla poszczegl-
nych rodzajw formantw, na przykad w przypadku pola wyboru lub przycisku opcji
bdzie to waciwo okrelajca pooenie tekstu opisu wzgldem ikony formantu
Alignment. Ze wzgldu na du liczb waciwoci nie wymieniam ich wszystkich tutaj
znaczenia niektrych mona si domyli, a w razie potrzeby mona sprawdzi
po zaznaczeniu waciwoci i naciniciu F1 lub w pliku pomocy Excela [15].

Poniej zestawiono informacje specyficzne dla poszczeglnych rodzajw formantw


ActiveX.

Etykieta

W porwnaniu z etykiet z grupy formantw formularza formant ActiveX ma duo wik-


sze moliwoci sformatowania tekstu, jak i wygldu etykiety. Moliwe jest rwnie umiesz-
czenie w etykiecie grafiki z pliku graficznego i okrelenia jej pooenia wzgldem tekstu
(waciwoci Picture i PicturePosition). Aby wstawi grafik do formantu, naley
w okienku Properties klikn wielokropek za polem wartoci waciwoci Picture i z wy-
wietlonego okna dialogowego wybra podany plik graficzny. Aby usun grafik z for-
mantu, naley klikn pole wartoci waciwoci Picture i nacisn klawisz Delete. Mona
rwnie okreli kolor i styl obramowania etykiety (waciwoci BorderColor i BorderStyle
nie wszystkie formanty maj tak moliwo).

Przycisk polecenia

Pod wieloma wzgldami przypomina etykiet ActiveX, moe zawiera statyczny tekst
i grafik. Zasadnicza rnica polega na tym, e przycisk ma standardowo szary kolor
i zmienia swj wygld (cieniowanie), gdy klikniemy go myszk. Jego gwnym przezna-
czeniem jest uruchamianie makropolece w odpowiedzi na kliknicie myszk. Jednake
makroinstrukcj mona powiza rwnie z etykiet, jeli zachodzi taka potrzeba. For-
mant ma tytu Caption, ktry jest zawsze wyrodkowany (nie ma waciwoci TextAlign
okrelajcej pooenie tytuu). Waciwo WordWrap wskazuje, czy duszy tekst tytuu
ma by zawijany, czy obcinany. Podobnie jak w formancie etykiety, w przycisku polece-
nia mona umieci grafik (waciwo Picture) i okreli jej pooenie wzgldem tytuu
(waciwo PicturePosition).

Pole wyboru

Ma posta maego kwadratowego okienka, ktre reaguje na kliknicie zmian stanu.


Okienko to powizane jest z etykiet, ale bez obramowania. Usytuowanie okienka wzgl-
dem tytuu i ewentualnie grafiki mona okreli za pomoc waciwoci Alignment. Wa-
ciwo TripleState pozwala zdecydowa, czy pole wyboru ma przyjmowa jedn
z dwch, czy jedn z trzech wartoci (ta trzecia warto to stan nieokrelony). Grafika
w formancie jest zdefiniowana przez waciwo Picture, a jej pooenie wzgldem tytuu
przez waciwo PicturePosition.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


338 Excel w obliczeniach naukowych i inynierskich

Przycisk opcji

Formant ten przypomina pole wyboru, lecz zamiast kwadratowego okienka jego sym-
bolem graficznym jest mae kko, puste (niezaznaczone) lub z kropk w rodku (zazna-
czone). Suy do wyboru jednej z kilku wykluczajcych si moliwoci. Dlatego ma sens
uycie co najmniej dwch przyciskw opcji. Kliknicie przycisku zaznacza go, odznacza-
jc rwnoczenie ten, ktry by poprzednio zaznaczony. Przycisk opcji ma waciwo
GroupName, ktra oznacza nazw grupy powizanych przyciskw. Pocztkow domyln
wartoci tej waciwoci jest nazwa arkusza, w ktrym umieszczono przyciski. Aby utwo-
rzy dwie lub wicej grup przyciskw, naley kadej grupie przypisa inn nazw grupo-
w. Z kadym przyciskiem opcji naley powiza inn komrk arkusza (waciwo
LinkedCell). Komrka ta przyjmuje warto PRAWDA lub FASZ, w zalenoci od stanu
przycisku. Jest to rozwizanie odmienne ni w przypadku podobnych formantw formula-
rza, kiedy ta sama komrka bya powizana z wszystkimi formantami w grupie. Tu przy-
pisanie tej samej komrki kilku przyciskom opcji spowodowaoby ich bdne dziaanie.
Przycisk opcji oprcz tytuu (waciwo Caption) moe zawiera grafik (waciwo
Picture), ktrej pooenie wzgldem tytuu okrela waciwo PicturePosition.

Pole listy

Formant ten umoliwia wybr wiersza z wywietlonej listy danych. Jego funkcjonalno
jest rozszerzona w stosunku do analogicznego formantu formularza. Oprcz rozbudowa-
nych moliwoci formatowania wywietlanego tekstu moliwe s: obsuga kilku ko-
lumn danych, wywietlanie nagwkw kolumn, a take wywietlanie przyciskw opcji
lub pl wyboru obok listy. W powizanej komrce (waciwo LinkedCell) umieszczana
jest warto z wiersza wybranego przez uytkownika i kolumny wskazanej na etapie pro-
jektowania (waciwo BoundColumn). Dane wywietlane w polu listy s pobierane z arku-
sza (waciwo ListFillRange). Jest to prostoktny zakres komrek. Liczb wywietla-
nych kolumn podaje waciwo ColumnCount. Waciwo ColumnHeads decyduje o tym,
czy kolumny listy maj nagwki te, jeli maj by wywietlane, naley umieci
w wierszu bezporednio nad obszarem danych. Oczywicie nagwek nie moe by wy-
brany, peni tylko funkcj informacyjn. Waciwo ColumnWidths pozwala okreli
szeroko kolumn. Szeroko podaje si w punktach (domylnie 1 punkt = 1/72 cala),
mona j te poda w centymetrach (cm) lub w calach (in). Szerokoci kolumn oddziela
si rednikami. Podanie wartoci 0 oznacza, e kolumna ma by ukryta, pominicie warto-
ci oznacza przyjcie wartoci domylnej (zwykle 1 cal). Ukryte kolumny mona wyko-
rzysta w ten sposb, e uytkownik moe wskazywa warto z kolumny widocznej,
a formant moe zwraca w powizanej komrce odpowiednik odczytany z kolumny ukrytej.
Z kolei waciwo ListStyle decyduje o tym, czy lista ma by wywietlana bez znaczni-
kw (0), czy ze znacznikami (1). O rodzaju wywietlanego znacznika (przycisk opcji czy
pole wyboru) decyduje z kolei waciwo MultiSelect. S tu moliwe 3 wartoci: 0
oznacza wybr pojedynczy, co wie si z ewentualnym wywietlaniem przyciskw opcji
i ten wariant jako jedyny jest obsugiwany standardowo, 1 oznacza wybr wielokrotny,
a 2 wybr rozszerzony. Znaczenie tych poj jest takie samo jak w przypadku pola
listy w wariancie formantu formularza i w obu sytuacjach obsuga wymaga napisania od-
powiedniego kodu w VBA. W wariantach 1 i 2 obok listy mog by wywietlane pola
wyboru. W razie potrzeby pole listy moe by wyposaone w paski przewijania. S one
dodawane automatycznie, gdy dane nie mieszcz si w okienku formantu.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 339

Pole tekstowe

Pole tekstowe jako formant ActiveX suy do wywietlania, wprowadzania i edycji da-
nych tekstowych lub numerycznych. Moe rwnie spenia funkcj etykiety (wywietla
tekst statyczny). Jest powizane z komrk arkusza (waciwo LinkedCell), stanowi
wic w pewnym sensie jej odpowiednik, lecz moe by usytuowane w dowolnym miejscu
na ekranie i sposb sformatowania tekstu w polu nie musi by taki sam jak w powizanej
komrce. Spord specyficznych waciwoci tego formantu warto wymieni MaxLength
oznacza maksymaln liczb znakw, jak moe wprowadzi uytkownik do formantu
w trybie pracy (0 oznacza brak ogranicze). Nie ogranicza to liczby znakw, jak mona
wprowadzi do powizanej komrki. Wszystkie te znaki s wywietlane w formancie. Na-
stpna specyficzna waciwo to MultiLine okrela, czy tekst ma by wywietlany
w jednej czy w kilku liniach. Jeli ta waciwo ma warto True, przy wprowadzaniu
tekstu do pola naley uy kombinacji klawiszy Ctrl+Enter lub Shift+Enter, aby przej
do nowej linii. Oprcz tego istnieje waciwo WordWrap, ktra umoliwia automatyczne
dzielenie tekstu na wiersze w zalenoci od rozmiarw pola, oraz waciwo AutoSize,
ktra umoliwia automatyczne dopasowanie wielkoci pola do jego zawartoci. Alterna-
tywnie waciwo ScrollBars umoliwia dodanie do pola jednego lub obu paskw prze-
wijania. Waciwo TextAlign okrela sposb wyrwnywania tekstu w polu (do lewej,
do rodka lub do prawej). Istnieje te waciwo PasswordChar, ktra umoliwia utwo-
rzenie pola tekstowego do wprowadzania hasa. Jeeli ma ona warto True, wprowadzane
do pola znaki s widoczne jako gwiazdki.

Przycisk pokrta

Graficznie i funkcjonalnie jest odpowiednikiem przycisku pokrta z grupy formantw


formularza. Przycisk moe by usytuowany pionowo lub poziomo. W momencie tworzenia
przycisku jest to ustalane automatycznie w zalenoci od tego, ktry rozmiar przycisku
jest wikszy. Pniej decyduje o tym waciwo Orientation. Graniczne wartoci for-
mantu okrelaj waciwoci Min i Max (domylne wartoci 0 i 100). Powinny to by liczby
cakowite nieujemne. (W zasadzie formant powinien obsugiwa cay zakres liczb typu
Long. Jednak zakres liczb ujemnych od -1 do -32768 jest obsugiwany bdnie. Wprawdzie
waciwo Value formantu jest prawidowa, lecz w komrce powizanej LinkedCell
podawana jest warto powikszona o 65536). Zmian wartoci formantu po klikniciu
strzaki okrela waciwo SmallChange (domylnie 1), natomiast czas opnienia (w mi-
lisekundach) po klikniciu waciwo Delay (domylnie 50).

Pasek przewijania

Ten formant przypomina swj analog z grupy formantw formularza z t rnic, e


suwak moe mie regulowan szeroko. Podobnie jak przycisk pokrta, moe by usy-
tuowany pionowo lub poziomo, o czym decyduje waciwo Orientation. Graniczne
wartoci formantu okrelaj waciwoci Min i Max (domylne wartoci 0 i 32767). Powinny
to by liczby cakowite nieujemne. (Obsuga liczb ujemnych jest obciona tym samym
bdem, ktry wystpuje przy obsudze przycisku pokrta). Waciwo Min jest przypi-
sana do lewej lub grnej krawdzi formantu, a waciwo Max odpowiednio do prawej
lub dolnej. Nie ma wymogu, eby Min < Max. Jeli ten warunek nie bdzie speniony,
formant bdzie dziaa jak gdyby w lustrzanym odbiciu. Waciwo SmallChange (do-
mylnie 1) okrela zmian wartoci formantu po klikniciu strzaki, natomiast waciwo

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


340 Excel w obliczeniach naukowych i inynierskich

LargeChange (domylnie 1) zmian wartoci formantu (i pooenia suwaka) po klikni-


ciu pola midzy suwakiem a strzak; czas opnienia (w milisekundach) po klikniciu
paska okrela waciwo Delay (domylnie 50). Wreszcie waciwo ProportionalThumb
okrela, czy szeroko suwaka jest proporcjonalna, czy staa.

Pole kombi

Formant ten jest poczeniem pola listy rozwijanej z polem tekstowym. W odrnieniu
od podobnego formantu z grupy formularzy umoliwia jednak nie tylko bezporedni wybr
z listy rozwijanej, ale rwnie wprowadzenie wartoci z klawiatury. Umieszczajc for-
mant w arkuszu, naley zaznaczy tylko miejsce na pole tekstowe. Lista zostanie rozwi-
nita bezporednio pod nim. Pole kombi ma wikszo waciwoci charakterystycznych
dla listy rozwijanej. Ich znaczenie jest identyczne i opisane zostao w akapicie powico-
nym tej licie. Pole listy nie ma waciwoci MultiSelect. Obsuguje tylko wybr poje-
dynczy, wic po ustawieniu waciwoci ListStyle na 1 lista bdzie wywietlana z przyci-
skami opcji. Waciwo ListWidth okrela szeroko listy. Domylna warto 0 pt
oznacza, e szeroko listy jest taka jak pola tekstowego. Mona jednak wprowadzi
inn warto. Pole listy ma te kilka dodatkowych waciwoci zwizanych ze sposobem
wprowadzania danych do formantu. Waciwo Style okrela, czy uytkownik moe
wpisywa dane do pola tekstowego (warto 0), czy tylko dokonywa wyboru z listy
(warto 2 w takim przypadku formant zachowuje si podobnie jak pole kombi z grupy
formantw formularza). Waciwo MatchEntry okrela sposb przeszukiwania listy przy
wpisywaniu wartoci w polu tekstowym warto 0 oznacza dopasowanie podpowiedzi
wedug pierwszej litery, przy wartoci 1 podpowied jest modyfikowana w miar wpro-
wadzania kolejnych znakw, przy wartoci 2 brak podpowiedzi. Waciwo MatchRequired
okrela, czy warto wprowadzona w polu tekstowym musi by zgodna z jednym z ele-
mentw listy, czy te moe by dowolna. Waciwo MaxLength ogranicza maksymaln
liczb znakw, jak mona wprowadzi do pola tekstowego w trybie pracy (0 oznacza
brak ogranicze). Dwie waciwoci odnosz si do symbolu wywietlanego na przycisku
rozwijania waciwo DropButtonStyle definiuje ten symbol (strzaka w d do-
mylny, wielokropek, podkrelenie lub brak symbolu), waciwo ShowDropButtonWhen
wskazuje, kiedy symbol ten ma by wywietlany zawsze (domylnie), nigdy lub gdy
formant zostanie zaznaczony. Pole kombi nie ma waciwoci ScrollBars, ale paski prze-
wijania pojawiaj si automatycznie, gdy s potrzebne.

Obraz

Ten formant suy do osadzania w arkuszu plikw graficznych (map bitowych, plikw
w formatach JPEG lub GIF). Po wstawieniu ramki formantu naley klikn przycisk
Waciwoci i z listy wybra waciwo Picture. Po prawej stronie pola pojawi si znak
wielokropka naley go klikn, a nastpnie w oknie dialogowym wybra plik do wsta-
wienia. Mona rwnie po zaznaczeniu waciwoci Picture wklei (przez Ctrl+V) obraz
umieszczony uprzednio w schowku. Oprcz typowych waciwoci, jakie maj formanty
ActiveX, wystpuje tu kilka waciwoci specyficznych dla tego typu formantw, umo-
liwiajcych zaawansowane formatowanie grafiki. S to waciwoci: PictureAlignment
okrelajca pooenie mapy bitowej w formancie (5 moliwoci, w czterech rogach
lub, domylnie, na rodku), PictureSizeMode okrelajca sposb wywietlania obrazu
(0 przycinanie (domylnie), 1 rozciganie, dopasowanie do wielkoci formantu

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 341

z ewentualn deformacj lub 3 powikszenie, dopasowanie do wielkoci formantu


z zachowaniem oryginalnych proporcji), PictureTiling okrelajca, czy obraz ma by
powielany w formancie (domylnie nie False).

Przycisk przecznika

Ten formant wystpuje tylko w grupie ActiveX i ma posta prostokta opisanego tytuem
Caption. Po klikniciu formant zmienia swj wygld (cieniowanie). Klikanie przycisku
powoduje jego przeczanie pomidzy dwoma stanami na przykad tak/nie lub wczony/
wyczony. Funkcjonalnie odpowiada polu wyboru, a wygldem przypomina przycisk
polecenia. W przeciwiestwie do przycisku polecenia ma warto Value i powizan ko-
mrk LinkedCell. Rwnie inaczej reaguje na kliknicie. Wygld przycisku polecenia
zmienia si tylko na czas, gdy klawisz myszy pozostaje wcinity, a po zwolnieniu powraca
do stanu pocztkowego. Wygld przycisku przecznika zmienia si po naciniciu przy-
cisku myszy i pozostaje zmieniony po zwolnieniu przycisku. Dopiero po ponownym klik-
niciu wygld przycisku przecznika powraca do stanu pocztkowego. Pooenie tytuu
przecznika mona okreli za pomoc waciwoci TextAlign, o sposobie wywietlania
dugiego tytuu decyduje waciwo WordWrap. Podobnie jak w przypadku etykiety, przy-
cisku polecenia, przycisku opcji i pola wyboru, na przycisku przecznika mona umieci
grafik (waciwoci Picture i PicturePosition) z ograniczonymi moliwociami jej for-
matowania. Analogicznie jak pole wyboru, przycisk przecznika ma waciwo Triple
State, ktra pozwala zdecydowa, czy formant moe przyjmowa jedn z dwch, czy
jedn z trzech wartoci (ta trzecia warto to stan nieokrelony). W odrnieniu od przyci-
sku opcji i pola wyboru nie ma waciwoci GroupName.

Jeeli arkusz kalkulacyjny jest chroniony przed modyfikacj (wczanie i wyczanie


ochrony opisano w pliku pomocy Excela [15]), a zamierzamy wykorzysta ktry z for-
mantw, ktrego dziaanie skutkuje modyfikacj zawartoci komrki arkusza (formant
formularza, ktry ma zdefiniowane cze komrki lub formant ActiveX z okrelon wa-
ciwoci LinkedCell), naley pamita o odblokowaniu komrek modyfikowanych
przez ten formant. Gdy o tym zapomnimy, formant nie bdzie dziaa, a wywietlane
komunikaty bd raczej dezinformowa, ni pomaga w okreleniu istotnej przyczyny
bdu. Warto te pamita, e samo przeliczenie arkusza po wprowadzeniu nowych da-
nych nie jest traktowane jak modyfikacja, wic komrki zawierajce formuy mog pozo-
sta zablokowane. Odblokowane musz by tylko te komrki, do ktrych dane wprowa-
dza si bezporednio, oraz komrki modyfikowane przez formanty i makroinstrukcje.

Nieudokumentowane formanty pola tekstowego


Formant pola tekstowego istnieje tylko w grupie formantw ActiveX. Istnieje jednak
moliwo wstawienia pola tekstowego z menu Autoksztaty (albo Pole tekstowe z karty
Wstawianie od wersji 2007) i skojarzenia go z wybran komrk arkusza. Normalnie tekst
wprowadza si bezporednio do pola tekstowego. W takim przypadku tekst mona do-
wolnie zaznacza i formatowa, nie ma on jednak adnego powizania z komrkami arku-
sza. Mona jednak ustanowi powizanie midzy polem tekstowym a wybran komrk.
Mona to zrobi, wpisujc na pasku formuy (przy zaznaczonym polu tekstowym) odwo-
anie do komrki. Po ustanowieniu tego powizania pole tekstowe bdzie wywietla t
sam tre, co powizana komrka. Powizanie jest jednostronne nie ma moliwoci

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


342 Excel w obliczeniach naukowych i inynierskich

edycji zawartoci pola tekstowego, mona edytowa tylko zawarto powizanej komrki.
Pole tekstowe nie przejmuje formatowania tekstowej zawartoci powizanej komrki. Pole
tekstowe mona formatowa niezalenie, z tym e parametry czcionki bd odnosi si
do caego tekstu (nie mona sformatowa fragmentu zawartoci). Do pola tekstowego
mona rwnie przypisa makroinstrukcj, ktra bdzie wywoywana po klikniciu pola.
Takie pole tekstowe, cho z formalnego punktu widzenia nie jest formantem, wypenia
funkcj formantu.

Istnieje jeszcze inna, nieudokumentowana, moliwo utworzenia formantu speniajcego


funkcj pola tekstowego. Punktem wyjcia jest dowolny formant ActiveX. Po wstawieniu
formantu do arkusza naley na pasku formuy zastpi standardowe wywoanie funkcji
OSAD (funkcja wewntrzna Excela) odwoaniem do komrki (ta operacja nie powiedzie
si w Excelu 2010, moe by natomiast przeprowadzona we wszystkich wczeniejszych
wersjach). Taki formant zachowuje swoj pierwotn nazw (ktr mona zmieni), ale
nie pojawia si na licie formantw ActiveX w oknie Properties. Jego waciwoci mona
modyfikowa po klikniciu prawym przyciskiem myszy jak waciwoci obrazu. Istotn
cech wyrniajc ten rodzaj formantu jest przejcie formatowania tekstu z powizanej
komrki. Formant jest jakby powikszeniem powizanej komrki. Mona by nada mu
nazw lupy. Jeeli proporcje wymiarw formantu rni si od proporcji wymiarw ko-
mrki, obraz w formancie jest zdeformowany. Jeeli zawarto tekstowa komrki nie
mieci si w niej, formant wywietla tylko to, co mieci si w komrce. Jeeli jednak po-
czymy ssiednie komrki, formant bdzie wywietla zawarto poczonych komrek.
W pewnych sytuacjach tego rodzaju lupa moe by duo wygodniejsza od oficjalnego
formantu. Mona rwnie przypisa do niej makroinstrukcj, ktra bdzie wywoywana
po klikniciu pola.

Na rysunku 23.2 pokazano omwione wczeniej cztery rodzaje pl tekstowych i zapre-


zentowano ich krtk charakterystyk porwnawcz.

Rysunek 23.2. Porwnanie czterech rodzajw pl tekstowych dostpnych w Excelu

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 343

Makroinstrukcje przypisywane
do formantw w arkuszu
Cech charakterystyczn formantw jest moliwo przypisania do nich makroinstrukcji,
ktre s wywoywane po klikniciu formantu, ewentualnie po zajciu okrelonego zdarze-
nia. Po umieszczeniu formantu w arkuszu mona przypisa do niego makroinstrukcj.
W tym celu naley klikn formant prawym klawiszem myszy (w przypadku formantw
ActiveX musi by przy tym wczony tryb projektowania). Nastpnie naley wybra
z menu podrcznego polecenie Przypisz makro, a potem zarejestrowa je (rejestrowanie
makroinstrukcji omwiono w rozdziale 22.) lub wybra Nowe i umieci jego tre w oknie
edytora kodu Visual Basica, ktre zostanie wywietlone. W przypadku formantw ActiveX
makroinstrukcj mona przypisa, wybierajc z menu podrcznego opcj Wywietl kod
lub z paska Przybornik formantw ikonk Wywietl kod programu. Jeszcze prociej mona
to zrobi, klikajc formant dwukrotnie lewym przyciskiem myszy (w trybie projektowania).

Po otwarciu edytora Visual Basica zobaczymy okienko kodu, w ktrym bdzie ju przy-
gotowany nagwek i zakoczenie procedury przypisywanej do formantu. Procedury
powizane z formantami formularza maj polskie nazwy, na przykad: Polewyboru3_
Kliknicie. Nazwa skada si standardowo z nazwy formantu wraz z numerem oraz
nazwy zdarzenia: Kliknicie lub Zmienianie, ale mona t nazw zmieni. Procedura
jest umieszczana w module oglnego przeznaczenia. Z jednym formantem formularza
mona zwiza tylko jedn makroinstrukcj.

Procedury powizane z formantami ActiveX maj angielskie nazwy, na przykad:


CommandButton1_Click. S to procedury obsugi zdarze, ktrych nazwy skadaj si z nazwy
formantu wraz z numerem oraz nazwy zdarzenia: na przykad Click, Change lub MouseDown,
i nie mona ich zmienia. Procedura jest umieszczana w module kodu arkusza. Z jednym
formantem ActiveX mona zwiza kilka makroinstrukcji, po jednej na kade obsugiwane
zdarzenie. Pocztkowo system proponuje obsug zdarzenia Click, lecz po prawej stronie
u gry okna kodu mona rozwin list dostpnych zdarze. Niektre procedury obsugi
zdarze przewiduj uycie argumentw, na przykad:
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Procedura reaguje na nacinicie klawisza myszki, pierwszy argument Button zwraca


informacj o tym, ktry klawisz myszki zosta nacinity, drugi argument Shift informuje
o tym, czy rwnoczenie nacinito ktry z klawiszy Alt, Shift lub Ctrl. Argumenty X i Y
przekazuj informacj o wsprzdnych punktu, w ktrym nastpio zdarzenie. Aby pozna
wszystkie szczegy dotyczce deklaracji procedur obsugi zdarze i znaczenia argumen-
tw, wystarczy otworzy plik pomocy Visual Basica lub umieci kursor w nazwie proce-
dury i nacisn F1.

Poza formantami przeznaczonymi specjalnie do uruchamiania makroinstrukcji z reguy


w typowych zastosowaniach formantw potrzeba napisania kodu VBA wystpuje wtedy,
gdy pomidzy formantami zachodzi wspzaleno. Na etapie projektowania waciwo-
ciom formantu mona nada tylko stae wartoci. Jeeli zachodzi potrzeba ich zmiany

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


344 Excel w obliczeniach naukowych i inynierskich

w trakcie uywania arkusza, mona to zrobi tylko w kodzie VBA, piszc odpowiednie
procedury obsugi zdarze, czy to dotyczcych tych formantw, czy te arkusza jako
caoci.

Przykadowo jeli w arkuszu umiecimy formant ActiveX z obrazem o nazwie Image1,


moemy modyfikowa wielko tego obrazu (waciwoci Height i Width) za pomoc
formantw pokrte SpinButton1 i SpinButton2. Naley w tym celu napisa nastpujce
procedury obsugi zdarze zwizanych ze zmian stanu pokrte.
Private Sub SpinButton1_Change()
Image1.Height = SpinButton1
End Sub

Private Sub SpinButton2_Change()


Image1.Width = SpinButton2
End Sub

Do waciwoci formantu odwoujemy si jak do waciwoci kadego obiektu, za pomo-


c konstrukcji:
nazwa_formantu.waciwo

Poniewa waciwo Value jest waciwoci domyln, mona jej nazw pomin
w odwoaniu.

Przykad wykorzystania
formantw w arkuszu
Formanty pokrte lub paskw przewijania mona wykorzysta na przykad do szybkiej
modyfikacji zakresu danych prezentowanych na wykresie. Kiedy przedstawiana jest dua
liczba danych pomiarowych, dobrze oprcz oglnego obrazu zalenoci mie moliwo
powikszenia wybranego fragmentu wykresu, aby dokadniej przyjrze si danym i ewen-
tualnie opisa lokalnie zwizek midzy nimi. Na wykresie oglnym obejmujcym cay
zakres danych zaznaczymy prostoktny fragment, ktry chcemy powikszy. Na tym wy-
kresie bdzie on opisany jako druga seria danych. Do zmiany pooenia powikszanego
fragmentu oraz jego wielkoci wykorzystamy paski przewijania. Jeden pasek bdzie suy
do przesuwania pocztku podzakresu zmiennej niezalenej, a drugi do zmiany wielko-
ci tego podzakresu. Drugi, powikszony wykres zostanie wykonany na podstawie danych
z wybranego podzakresu.

Pomidzy waciwociami formantw wystpuje zaleno, gdy jeeli dane obejmuj n


punktw, to dugo wybranego fragmentu nf punktw moe si zmienia od 2 do n, a nu-
mer pocztkowego punktu fragmentu moe przyjmowa warto od 1 do nnf+1. Za-
my, e w arkuszu umiecilimy dwa paski przewijania (formanty ActiveX) o nazwach
ScrollBar1 i ScrollBar2. Pierwszy pasek okrela dugo fragmentu nf, a drugi numer
punktu danych sf odpowiadajcy pierwszemu punktowi wybranego fragmentu. Po kadej
zmianie nf (ScrollBar1.Value) naley zmieni graniczn warto drugiego formantu (wa-
ciwo ScrollBar2.Max).

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 23. Graficzne elementy sterujce (kontrolki ekranowe, formanty) 345

Naley zatem wprowadzi procedur obsugi zdarzenia Change formantu ScrollBar1:


Private Sub ScrollBar1_Change()
ScrollBar2.Max = Range("n")- ScrollBar1 + 1
End Sub

Dane do pierwszego wykresu umieszczamy w arkuszu w dwu kolumnach, ktrym nadajemy


nazw XY. Liczb punktw danych mona obliczy ze wzoru = ILE.WIERSZY(XY). Formu
t mona umieci w arkuszu lub w Menederze nazw, nadajc formule lub komrce na-
zw n. Naley teraz wybra dwie komrki, ktre bd powizane z paskami przewijania,
i nada im nazwy odpowiednio nf i sf. Nazwy te lub odpowiadajce im adresy naley
wprowadzi do opisu formantw jako waciwoci LinkedCell. Naley rwnie nada
wartoci waciwociom Min i Max obu formantw.

Nastpnym etapem bdzie przygotowanie danych do drugiej serii na wykresie oglnym,


a zarazem danych do wykresu powikszonego. Bdzie to fragment danych oryginalnych
(XY) rozpoczynajcy si od wiersza o numerze sf i obejmujcy nf wierszy. Fragment taki
najatwiej uzyska za pomoc funkcji PRZESUNICIE. Odpowiednie wyraenie moe mie
posta:
= PRZESUNICIE(XY; sf-1; 0; nf; 2)

Ostatni argument mona pomin. Wyraenie naley wprowadzi jako formu tablicow
po wczeniejszym zaznaczeniu zakresu na wynik. Zakres powinien by na tyle duy, by
pomieci najwikszy przewidywany fragment danych. W skrajnym przypadku zakresy
fragmentu i danych oryginalnego wykresu mog by identyczne. W komrkach przekra-
czajcych nf wierszy zostan umieszczone kody bdu #N/D!, ale one nie przeszkadzaj
w wykonaniu wykresu (te punkty nie bd uwzgldniane).

Wykonujc pierwszy wykres, naley poda adres zakresu XY jako danych pierwszej serii,
a zakres w ktrym umieszczono funkcj PRZESUNICIE, jako dane drugiej serii. Trzeba
pamita, e przy wykonywaniu wykresu trzeba zaznacza obszary danych lub podawa
ich adresy, nie mona natomiast uywa nazw zakresw.

Na wykresie umiecimy jeszcze jedn seri danych, ktra bdzie przedstawia prostokt
otaczajcy wybrany fragment wykresu (to jest moja propozycja, Czytelnik moe zastoso-
wa inny sposb wyrnienia wybranego fragmentu). W tym celu naley w arkuszu zapi-
sa wsprzdne wierzchokw tego prostokta, ktre nastpnie zostan poczone lini
aman. Aby uzyska lini zamknit wsprzdne pierwszego wierzchoka, naley po-
wtrzy jako pity punkt. Wsprzdne xy lewego grnego wierzchoka prostokta mona
zapisa w postaci (przy zaoeniu, e wartoci x s uporzdkowane rosnco):
x: = INDEKS(XY; sf; 1) y: = MAX(PRZESUNICIE(XY; sf-1; 1; nf; 1))+marg
Wsprzdne prawego dolnego wierzchoka s odpowiednio rwne:
x: = INDEKS(XY; sf+nf-1; 1) y: = MIN(PRZESUNICIE(XY; sf-1; 1; nf; 1))-marg

Wielko marg okrela wielko przestrzeni nad i pod wykresem i musi by zdefiniowana
przez uytkownika stosownie do jego uznania (w skali wartoci zmiennej y). Wsprzdne
pozostaych wierzchokw maj takie same wartoci, tylko w innej konfiguracji.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


346 Excel w obliczeniach naukowych i inynierskich

Drugi wykres wykonujemy analogicznie jako wykres punktowy, lecz umieszczamy na


nim tylko dane odpowiadajce drugiej serii na pierwszym wykresie. Jeeli zakresy danych
na osiach bd ustalane automatycznie, wykres zostanie automatycznie przeskalowany
z uwzgldnieniem tylko danych dostpnych (z pominiciem punktw zawierajcych
kody braku danych #N/D!). Do zaprezentowanej serii danych mona doda lini trendu
(ona rwnie ignoruje kody #N/D!).

Przykadowe wykresy przygotowane wedug powyszego opisu zaprezentowano na


rysunku 23.3.

Rysunek 23.3. Wykres przedstawiajcy duy zbir danych pomiarowych z zaznaczonym fragmentem
do powikszenia. Wielko i pooenie powikszanego fragmentu ustala si za pomoc paskw przewijania.
Poniej, na drugim wykresie, wybrany fragment w powikszeniu

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Rozdzia 24.
Wybrane funkcje
wbudowane w Excelu
Katalog funkcji udostpnionych w Excelu jest bardzo obszerny. Cz funkcji ma przezna-
czenie oglne i moe by przydatna wszystkim uytkownikom, niektre funkcje s cile
powizane z obliczeniami finansowymi, inne su przetwarzaniu tekstw, inne wreszcie
to funkcje suce do obsugi baz danych, s te grupy funkcji matematycznych, staty-
stycznych i inynierskich. Zachowujc oryginalny podzia na grupy, dokonaem selekcji
funkcji, przy czym wziem pod uwag ich przydatno do oblicze w dziedzinie nauk
cisych i technicznych. Wybr jest subiektywny, ale zawsze mona sprawdzi pen list
dostpnych funkcji w pliku pomocy Excela [15]. W wersji 2010 zmieniono nazwy kilku
funkcji, wprowadzono nowe funkcje oraz zmodyfikowane warianty niektrych innych
funkcji. Zmiany te dotycz gwnie grupy funkcji statystycznych. Dotychczasowe nazwy
zmodyfikowanych funkcji przeniesiono do specjalnie w tym celu utworzonej grupy
Funkcji zgodnoci. Mog by one nadal uywane w celu zachowania kompatybilnoci
z wczeniejszymi wersjami. (W moim spisie te funkcje pozostay na swoich wczeniej-
szych miejscach). W zestawieniu uwzgldniono nazwy funkcji w polskiej i oryginalnej
wersji Excela, list argumentw, krtki opis przeznaczenia lub dziaania i ewentualnie od-
noniki do stron tekstu, gdzie omawiano dan funkcj szczegowo.

Staraem si, o ile byo to moliwe, aby nazwy parametrw funkcji wyjaniay ich sens
i przeznaczenie. W wikszoci przypadkw zachowaem oryginalne nazewnictwo z pliku
pomocy polskiej wersji Excela [15], lecz w niektrych przypadkach zastosowaem bar-
dziej adekwatne nazwy. Dlatego prosz, by w przypadku korzystania z pliku pomocy [15]
zwraca uwag nie tylko na nazw parametru funkcji, ale rwnie na jego miejsce na licie
parametrw.

Chocia wszystkie opisy dotycz polskiej wersji Excela, zdecydowaem si podawa na-
zwy funkcji w obu wersjach jzykowych, aby uatwi czytelnikowi korzystanie z literatury
angielskojzycznej, ale rwnie dlatego, e piszc programy w VBA, moemy wykorzy-
stywa wiele funkcji arkuszowych, ale musimy przy tym posugiwa si ich oryginalnymi
nazwami angielskimi. Przy okazji zwracam uwag, e nazwy funkcji zawartych w dodatku
Analysis Toolpak (w tym wszystkich funkcji inynierskich) zostay przetumaczone dopiero
w wersji 2010, a we wczeniejszych wersjach wystpuj w oryginalnej wersji jzykowej.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


NAZWA_FUNKCJI Opis
348

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje matematyczne
ACOS(liczba) Podaje warto arcusa cosinusa liczby. Arcus cosinus jest wartoci kta w radianach,
ACOS ktrego cosinus rwny jest liczbie. Warto funkcji naley do przedziau [0, ].
ACOSH(liczba) Podaje warto area cosinusa hiperbolicznego liczby. Liczba musi by >= 1.
ACOSH Area cosinus hiperboliczny jest wartoci, ktrej cosinus hiperboliczny jest rwny
liczbie. Tak wic COSH(ACOSH(liczba)) jest rwny liczba.
forma odwoaniowa: Oblicza warto zagregowan (np. sum, redni, odchylenie standardowe itp.) 276
****)
AGREGUJ(funkcja_nr; opcja; adres1; adres2;...) z danych umieszczonych pod podanymi adresami lub w tablicy. Argument

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


forma tablicowa: funkcja_nr okrela rodzaj operacji wykonywanej na danych, argument opcja okrela
****) sposb dziaania funkcji, gdy dane s ukryte lub bdne. Argument k dostarcza
AGREGUJ(funkcja_nr; opcja; tablica; k)
dodatkowej informacji wymaganej w przypadku niektrych operacji.
AGGREGATE
ASIN(liczba) Podaje warto arcusa sinusa liczby. Arcus sinus jest wartoci kta w radianach,
ASIN ktrego sinus rwny jest liczbie. Warto funkcji naley do przedziau [/2, /2].
ASINH(liczba) Podaje warto area sinusa hiperbolicznego liczby. Area sinus hiperboliczny
ASINH jest wartoci, ktrej sinus hiperboliczny jest rwny liczbie. Tak wic
SINH(ASINH(liczba)) jest rwny liczbie.
ATAN(liczba) Podaje warto arcusa tangensa liczby. Arcus tangens jest wartoci kta w radianach,
ATAN ktrego tangens rwny jest liczbie. Warto funkcji naley do przedziau (/2, /2).
ATAN2(x_liczba; y_liczba) Podaje warto funkcji arcus tangens dla wyszczeglnionych wsprzdnych x, y.
ATAN2 Arcus tangens jest wartoci kta w radianach pomidzy osi x a lini
prost poprowadzon przez rodek ukadu wsprzdnych i punkt o wsprzdnych
(x_liczba; y_liczba). Warto funkcji zawiera si w przedziale (, ].
ATANH(liczba) Podaje warto funkcji odwrotnej do tangensa hiperbolicznego liczby. Liczba
ATANH musi nalee do przedziau (1, 1). Area tangens hiperboliczny jest wartoci, ktrej
tangens hiperboliczny jest rwny liczbie. Tak wic TANH(ATANH(liczba)) jest
rwny liczbie.
COS(kt) Podaje warto cosinusa kta wyraonego w radianach.
*)
COS
Excel w obliczeniach naukowych i inynierskich
COSH(liczba) Podaje warto cosinusa hiperbolicznego liczby.
COSH
**)
CZ.CAK.DZIELENIA(dzielna; dzielnik) Funkcja podaje w wyniku cakowit cz z dzielenia.
QUOTIENT
EXP(liczba) Podaje warto e podniesion do potgi liczba. Staa e, rwna 2,71828182845904,
*) jest podstaw logarytmw naturalnych.
EXP
ILOCZYN(liczba1;liczba2;...) Funkcja mnoy wszystkie liczby przekazane jako argumenty i podaje w wyniku
PRODUCT ich iloczyn. Argumentami mog by rwnie zakresy i tablice.
KOMBINACJE(liczba; liczba_wybrana) Podaje liczb kombinacji liczby_wybranej obiektw spord liczby wszystkich
COMBIN obiektw.
LICZBA.CAK(liczba; liczba_cyfr) Obcina liczb do liczby cakowitej lub pozostawia liczb_cyfr uamkowych,

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


*) usuwajc zbdne cyfry czci uamkowej.
TRUNC
LN(liczba) Podaje warto logarytmu naturalnego liczby dodatniej. Podstaw logarytmw
LN naturalnych jest staa e (2,71828182845904).
LOG(liczba; podstawa) Podaje warto logarytmu liczby przy zadanej podstawie.
LOG
LOG10(liczba) Podaje warto logarytmu liczby przy podstawie 10.
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

LOG10
LOS() Zwraca liczb pseudolosow z przedziau [0, 1) o rwnomiernym rozkadzie.
*) Generuje now liczb losow po kadym przeliczeniu arkusza.
RAND
**)
LOS.ZAKR(dolna; grna) Podaje w wyniku cakowit liczb losow z wybranego zakresu liczb wcznie.
RANDBETWEEN Przy ponownym przeliczeniu arkusza generowana jest nowa liczba.
MACIERZ.ILOCZYN(tablica1; tablica2) Wynikiem jest iloczyn macierzowy dwu tablic. Wynik jest tablic o takiej 41
MMULT samej liczbie wierszy jak tablica1 i takiej samej liczbie kolumn jak tablica2. 132
MACIERZ.ODW(tablica) Wynikiem jest macierz odwrotna do macierzy przechowywanej w tablicy. 41
MINVERSE 132
MOD(liczba;dzielnik) Podaje warto reszty po podzieleniu liczby przez dzielnik. Wynik ma taki
*) sam znak jak dzielnik.
MOD
349
NAZWA_FUNKCJI Opis
350

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje matematyczne
MODU.LICZBY(liczba) Podaje warto bezwzgldn liczby. Wartoci bezwzgldn liczby jest
*) liczba bez znaku.
ABS
**)
NAJMN.WSP.WIEL (liczba1;liczba2;...) Podaje warto najmniejszej wsplnej wielokrotnoci cakowitych argumentw
LCM liczba1, liczba2 itd. Naley stosowa t funkcj przy dodawaniu uamkw o rnych
mianownikach.
**)
NAJW.WSP.DZIEL (liczba1;liczba2;...) Podaje warto najwikszego wsplnego podzielnika, czyli najwikszej liczby
GCD cakowitej dzielcej bez reszty zarwno liczb1, jak i liczb2.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


PI() Funkcja podaje w wyniku liczb 3,14159265358979, sta matematyczn ,
PI z dokadnoci do 15 cyfr.
PIERWIASTEK(liczba) Podaje w wyniku dodatni pierwiastek kwadratowy liczby.
*)
SQRT
**)
PIERW.PI(liczba) Podaje w wyniku pierwiastek kwadratowy z (liczba*).
SQRTPI
POTGA(liczba; wykadnik) Podaje warto liczby podniesionej do potgi okrelonej przez wykadnik.
POWER
RADIANY(kt) Zamienia kt wyraony w stopniach na radiany.
RADIANS
SILNIA(liczba) Podaje warto silni liczby. Silnia liczby jest rwna 1*2*3** liczba.
FACT
**)
SILNIA.DWUKR(liczba) Podaje warto silni podwjnej argumentu liczba. Jest to iloczyn kolejnych
FACTDOUBLE liczb naturalnych od 1 lub 2 do liczba z krokiem 2.
SIN(kt) Podaje w wyniku sinus danego kta wyraonego w radianach.
*)
SIN
SINH(liczba) Podaje w wyniku sinus hiperboliczny danej liczby.
SINH
Excel w obliczeniach naukowych i inynierskich
STOPNIE(kt) Przeksztaca kt wyraony w radianach na stopnie.
DEGREES
SUMA(liczba1;liczba2 ...) Podaje w wyniku sum wszystkich liczb z listy argumentw. Argumentami
SUM mog by rwnie zakresy i tablice.
SUMA.ILOCZYNW(tablica1; tablica2;tablica3;...) Mnoy odpowiadajce sobie elementy w danych tablicach i podaje w wyniku
SUMPRODUCT sum tych iloczynw.
SUMA.JEELI(zakres; kryteria; suma_zakres) Sumuje komrki speniajce podane kryteria w zakresie.
SUMIF
SUMA.KWADRATW(liczba1; liczba2;...) Podaje w wyniku sum kwadratw argumentw. Argumentami mog by
SUMSQ rwnie zakresy i tablice.
**)
SUMA.SZER.POT(x; n; m; wspczynniki) Oblicza sum szeregu potgowego. Pierwszy wyraz zawiera xn, w kolejnych 126

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


SERIESSUM wyrazach n wzrasta o m.
SUMA.WARUNKW(suma_zakres; zakres1; kryterium1; Sumuje zawarto komrek wewntrz zakresu suma_zakres, ktre speniaj
***)
zakres2; kryterium2;...) wiele kryteriw. Dla kadego kryterium naley poda odrbnie zakres, ale ich
SUMIFS wielkoci musz by zgodne.
SUMA.X2.M.Y2(tablica_x; tablica_y) Podaje w wyniku sum rnicy kwadratw odpowiadajcych sobie wartoci
SUMX2MY2 w dwch tablicach.
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

SUMA.X2.P.Y2(tablica_x; tablica_y) Podaje w wyniku sum sum kwadratw odpowiadajcych sobie wartoci
SUMX2PY2 w dwch tablicach.
SUMA.XMY.2(tablica_x; tablica_y) Podaje w wyniku sum kwadratw rnic odpowiadajcych sobie wartoci
SUMXMY2 w dwch tablicach.
SUMY.POREDNIE(funkcja_nr; adres1; adres2;...) Wykonuje dziaanie okrelone przez argument funkcja_nr na danych okrelonych 274 276
do wersji 2003 przez adresy.
SUMY.CZCIOWE(funkcja_nr; adres1; adres2;...)
od wersji 2007
SUBTOTAL
TAN(kt) Funkcja podaje w wyniku tangens kta wyraonego w radianach.
*)
TAN
TANH(liczba) Podaje w wyniku tangens hiperboliczny liczby.
TANH
351
NAZWA_FUNKCJI Opis
352

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje matematyczne
**)
WIELOMIAN(liczba1; liczba2;...) Podaje warto stosunku silni sumy wartoci do iloczynu silni argumentw. Polska
MULTINOMIAL nazwa funkcji jest wyjtkowo niefortunna, gdy sowo wielomian ma w jzyku
polskim zupenie inne znaczenie.
WYZNACZNIK.MACIERZY(tablica) Podaje warto wyznacznika macierzy tablicy kwadratowej. 41
MDETERM
ZAOKR(liczba; liczba_cyfr) Zaokrgla liczb do okrelonej liczby_cyfr przed przecinkiem lub po nim.
ROUND

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


ZAOKR.DO.CAK(liczba) Zaokrgla liczb w d, do najbliszej liczby cakowitej.
*)
INT
**)
ZAOKR.DO.WIELOKR(liczba; wielokrotno) Podaje warto liczby zaokrglonej do podanej wielokrotnoci.
MROUND
ZAOKR.D(liczba; liczba_cyfr) Zaokrgla liczb w d, w kierunku zera.
ROUNDDOWN
ZAOKR.GRA(liczba; liczba_cyfr) Zaokrgla liczb w gr, dalej od zera.
ROUNDUP
ZNAK.LICZBY(liczba) Podaje w wyniku 1 dla liczb dodatnich, 0 gdy liczb jest 0, i 1 dla liczb
*) ujemnych.
SIGN
Funkcje logiczne
JEELI(test_logiczny; warto_jeeli_prawda; Podaje w wyniku warto_jeeli_prawda, jeli argument test_logiczny ma 136
warto_jeeli_fasz) warto logiczn PRAWDA, lub warto_jeeli_fasz, jeli wartoci t bdzie FASZ.
*)
IF
***)
JEELI.BD(warto; warto_jeeli_bd) Jeeli wyraenie jest bdne, zwraca podan warto_jeeli_bd, jeli nie
IFERROR ma bdu, zwraca warto wyraenia.
LUB(logiczna1;logiczna2;...) Zwraca warto logiczn PRAWDA, jeli cho jeden argument ma warto
*) logiczn PRAWDA; w przeciwnym razie przekazuje warto logiczn FASZ.
OR
Excel w obliczeniach naukowych i inynierskich
NIE(logiczna) Odwraca warto logiczn swojego argumentu.
*)
NOT
ORAZ(logiczna1;logiczna2;...) Wynikiem jest PRAWDA, jeli wszystkie argumenty maj warto PRAWDA;
*) wynikiem jest FASZ, jeli co najmniej jeden z argumentw ma warto FASZ.
AND
Funkcje wyszukiwania i odwoa
ADR.POR(adres_tekst; a1) Daje w wyniku adres wyznaczony przez adres_tekst. Naley skorzysta z tej 35
*) funkcji, aby zmieni adres komrki w formule bez zmieniania samej formuy.
INDIRECT
ADRES(nr_wiersza; nr_kolumny; typ_adresu ; a1 ; Tworzy adres komrki w postaci tekstu z okrelonych numerw wiersza i kolumny. 34
tekst_arkusz)
*)
ADDRESS

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


ILE.WIERSZY(tablica) Podaje liczb wierszy w adresie lub tablicy.
*)
ROWS
forma tablicowa: Forma tablicowa daje w wyniku warto elementu w tablicy, wybranego 44
INDEKS(tablica; nr_wiersza; nr_kolumny) przez indeksy numerw kolumny i wiersza.
forma odwoaniowa: Forma odwoaniowa daje w wyniku adres komrki na przeciciu poszczeglnych
INDEKS(zakres; nr_wiersza; nr_kolumny; obszar) wierszy i kolumn.
INDEX
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

LICZBA.KOLUMN(tablica) Podaje w wyniku liczb kolumn w tablicy lub adresie.


*)
COLUMNS
NR.KOLUMNY(odwoanie) Podaje w wyniku numer kolumny przy danym adresie. 33
*)
COLUMN
PODAJ.POZYCJ(szukana_warto; przeszukiwana_tab; Podaje wzgldne pooenie elementu w tablicy, naley uy tej funkcji (zamiast 165
typ_porwnania) jednej z funkcji WYSZUKAJ), kiedy konieczna jest znajomo pooenia pasujcej
MATCH pozycji, a nie tylko samej pozycji.
PRZESUNICIE(adres; wiersze; kolumny; wysoko; Zwraca odwoanie do zakresu, ktry jest przesunity o podan liczb wierszy 47
szeroko) lub kolumn od adresu. Podany adres moe by pojedyncz komrk lub zakresem
*) komrek. Mona okreli wysoko lub szeroko wynikowego zakresu.
OFFSET
TRANSPONUJ(tablica) Zamienia pionowy zakres komrek na zakres poziomy lub odwrotnie. 41
TRANSPOSE
353
NAZWA_FUNKCJI Opis
354

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje wyszukiwania i odwoa
WIERSZ(odwoanie) Podaje numer wiersza adresu lub list numerw wierszy, gdy odwoanie jest zakresem. 33
*)
ROW
WYBIERZ(nr_arg; warto1; warto2;...) Funkcja uywa argumentu nr_arg, eby wybra wynik z listy wartoci stanowicych 49, 138
CHOOSE pozostae argumenty. Argumenty mog mie posta tablic.
WYSZUKAJ(szukana_warto; przeszukiwany_wektor; Forma wektorowa WYSZUKAJ poszukuje szukanej_wartoci w przeszukiwanym_ 164
wektor_wynikowy) wektorze, przenosi si do odpowiadajcej tej wartoci pozycji w wektorze_wynikowym
LOOKUP i daje w wyniku jej warto. Ta posta WYSZUKAJ ma zastosowanie, gdy chce

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


si wskaza zakres zawierajcy poszukiwan warto.
WYSZUKAJ(szukana_warto; tablica) Forma tablicowa WYSZUKAJ poszukuje szukanej_wartoci w pierwszym wierszu lub
LOOKUP kolumnie tablicy, nastpnie przesuwa si w pionie lub w poziomie do ostatniej
komrki i zwraca warto tej komrki.
WYSZUKAJ.PIONOWO(odniesienie; tablica; nr_kolumny; Przeszukuje skrajn lew kolumn tablicy, by znale warto odniesienie, i podaje 163
czy_uporzdkowane) warto w odpowiadajcej komrce z kolumny o podanym numerze.
VLOOKUP
WYSZUKAJ.POZIOMO(odniesienie; tablica; nr_wiersza; Przeszukuje grny wiersz tablicy w celu znalezienia wartoci odniesienie i podaje 164
czy_uporzdkowane) w wyniku warto w odpowiadajcej komrce z wiersza o podanym numerze.
HLOOKUP
Funkcje informacyjne
BRAK() Zwraca warto bdu #N/D! (warto niedostpna).
*)
NA
CZY.ADR(warto) Sprawdza, czy warto reprezentuje adres (odwoanie) i zwraca warto logiczn
*) PRAWDA lub FASZ.
ISREF
CZY.B(warto) Sprawdza, czy warto reprezentuje kod bdu innego ni #N/D! i zwraca warto
ISERR logiczn PRAWDA lub FASZ.
CZY.BD(warto) Sprawdza, czy warto reprezentuje kod bdu i zwraca warto logiczn PRAWDA
ISERROR lub FASZ.
Excel w obliczeniach naukowych i inynierskich
CZY.BRAK(warto) Zwraca warto logiczn PRAWDA, jeeli komrka zawiera warto bdu #N/D!.
ISNA
CZY.LICZBA(warto) Zwraca warto logiczn PRAWDA, jeeli komrka zawiera liczb.
ISNUMBER
CZY.LOGICZNA(warto) Zwraca warto logiczn PRAWDA, jeeli komrka zawiera warto logiczn.
ISLOGICAL
**)
CZY.NIEPARZYSTE(warto) Zwraca warto logiczn PRAWDA, jeeli komrka zawiera liczb nieparzyst.
ISODD Jeli warto nie jest liczb cakowit, zostanie obcita.
CZY.NIE.TEKST(warto) Zwraca warto logiczn PRAWDA, jeeli komrka nie zawiera tekstu
ISNONTEXT (take gdy jest pusta).
**)
CZY.PARZYSTE(warto) Zwraca warto logiczn PRAWDA, jeeli komrka zawiera liczb parzyst.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


ISEVEN Jeli arto nie jest liczb cakowit, zostanie obcita.
CZY.PUSTA(warto) Zwraca warto logiczn PRAWDA, jeeli komrka jest pusta.
ISEMPTY
CZY.TEKST(warto) Zwraca warto logiczn PRAWDA, jeeli komrka zawiera tekst.
ISTEXT
INFO(typ_tekst) Podaje informacj o biecym rodowisku operacyjnym. Argument typ_tekst
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

*) okrela, jaki typ informacji ma by podany.


INFO
KOMRKA(typ_info; odwoanie) Daje w wyniku informacj o formacie, pooeniu lub zawartoci grnej lewej
*) komrki w adresie odwoanie lub ostatnio zmienianej komrki.
CELL
L(warto) Podaje warto zamienion na liczb.
*)
N
NR.BDU(odwoanie) Sprawdza zawarto komrki odwoanie i podaje w wyniku liczb odpowiadajc
*) kodowi bdu programu Microsoft Excel.
ERROR.TYPE
TYP(warto) Funkcja wywietla rodzaj wartoci wynikowej wyraenia bdcego jej argumentem.
*)
TYPE
355
NAZWA_FUNKCJI Opis
356

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje statystyczne
CZSTO(tablica_dane; tablica_przedziay) Dla danego zbioru wartoci z tablicy_dane i danej tablicy_przedziay funkcja
FREQUENCY podaje, ile wartoci wystpuje w kadym przedziale. Wynik ma posta tablicy
pionowej.
ILE.LICZB(warto1; warto2; ...) Zlicza liczb wartoci liczbowych na licie argumentw.
COUNT
ILE.NIEPUSTYCH(warto1; warto2; ...) Zlicza liczb niepustych wartoci komrek na licie argumentw.
COUNTA

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


KOWARIANCJA(tablica1;tablica2) Podaje warto kowariancji, tzn. redniej z iloczynw odchyek kadej pary
KOWARIANCJA.POPUL(tablica1; tablica2) w Excelu 2010 danych od redniej w tablicy. Kowariancja jest miar zalenoci pomidzy
COVAR dwoma zbiorami danych.
COVARIANCE.P w Excelu 2010
****)
KOWARIANCJA.PRBKI(tablica1; tablica2) Podaje warto kowariancji z prbki, tzn. sumy iloczynw odchyek kadej pary
COVARIANCE.S danych od redniej w tablicy podzielonej przez n1, gdzie n oznacza liczb
punktw w prbce.
KURTOZA(liczba1; liczba2;...) Kurtoza charakteryzuje wzgldn smuko lub pasko rozkadu w porwnaniu
KURT z rozkadem normalnym.
KWARTYL(tablica; kwartyl) Daje w wyniku wybrany kwartyl zbioru danych z tablicy. Kwartyl jest liczb
KWARTYL.PRZEDZ.ZAMK(tablica; kwartyl) w Excelu 2010 cakowit z przedziau [0, 4]; 0 odpowiada wartoci minimalnej, 2 medianie,
QUARTILE a 4 wartoci maksymalnej. Kwartyle czsto s uywane do dzielenia populacji
QUARTILE.INC w Excelu 2010 na grupy.
****)
KWARTYL.PRZEDZ.OTW(tablica; kwartyl) Daje w wyniku wybrany kwartyl zbioru danych z tablicy. Uwzgldnia przedzia
QUARTILE.EXC otwarty (0, 1). Kwartyl jest liczb cakowit z przedziau [1, 3].
LICZ.JEELI(zakres; kryteria) Zlicza komrki wewntrz zakresu, ktre speniaj podane kryteria.
COUNTIF
LICZ.PUSTE (zakres) Zlicza puste komrki w wybranym zakresie.
COUNTBLANK
Excel w obliczeniach naukowych i inynierskich
LICZ.WARUNKI(zakres1; kryterium1; zakres2; Zwraca liczb komrek wewntrz zakresu, ktre speniaj wiele kryteriw.
***)
kryterium2;...) Dla kadego kryterium naley poda odrbnie zakres, ale ich wielkoci musz
COUNTIFS by zgodne.
MAX(liczba1; liczba2;...) Wywietla maksymaln warto liczby z listy argumentw.
MAX
MAX.A(warto1; warto2; ...) Podaje najwiksz warto z listy argumentw. Oprcz liczb s brane pod uwag
MAXA teksty oraz wartoci logiczne PRAWDA i FASZ.
MAX.K(tablica; k) Podaje k-t najwiksz warto z listy argumentw.
LARGE
MEDIANA(liczba1; liczba2; ...) Podaje warto mediany, ktra jest liczb w rodku zbioru liczb, tzn. poowa liczb
MEDIAN ma wartoci wiksze ni mediana i poowa ma wartoci mniejsze.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


MIN(liczba1; liczba2; ...) Podaje warto najmniejszej liczby na licie argumentw.
MIN
MIN.A(warto1; warto2; ...) Podaje najmniejsz warto argumentw z listy. Oprcz liczb brane s pod uwag
MINA teksty oraz wartoci logiczne PRAWDA i FASZ.
MIN.K(tablica; k) Podaje k-t najmniejsz warto z listy argumentw.
SMALL
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

NACHYLENIE(znane_y;znane_x) Daje w wyniku nachylenie wykresu regresji liniowej dla wszystkich punktw 181
SLOPE danych w znane_y i znane_x.
NORMALIZUJ(x; rednia; odchylenie_std) Daje w wyniku znormalizowan warto x w stosunku do rozkadu
STANDARDIZE charakteryzowanego przez argumenty rednia i odchylenie_std.
ODCH.KWADRATOWE(liczba1; liczba2; ...) Podaje warto sumy kwadratw odchyle punktw danych od ich redniej z prby.
DEVSQ
ODCH.STANDARD.POPUL(liczba1; liczba2; ...) Funkcja ta oblicza odchylenie standardowe caej populacji. Odchylenie standardowe
ODCH.STAND.POPUL(liczba1; liczba2; ...) jest miar tego, jak szeroko wartoci liczb s rozoone wok wartoci redniej.
w Excelu 2010
STDEVP
STDEV.P w Excelu 2010
ODCH.STANDARD.POPUL.A (warto1; warto2; ...) Funkcja ta oblicza odchylenie standardowe caej populacji wyraonej w argumentach,
STDEVPA uwzgldniajc wartoci tekstowe i logiczne.
357
NAZWA_FUNKCJI Opis
358

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje statystyczne
ODCH.STANDARDOWE(liczba1; liczba2; ...) Oblicza odchylenie standardowe prby.
ODCH.STANDARD.PRBKI(liczba1; liczba2; ...)
w Excelu 2010
STDEV
STDEV.S w Excelu 2010
ODCH.STANDARDOWE.A (warto1; warto2; ...) Oblicza odchylenie standardowe prby, z uwzgldnieniem tekstw oraz wartoci
STDEVA logicznych PRAWDA i FASZ.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


ODCH.REDNIE(liczba1; liczba2; ...) Podaje warto redni odchyle bezwzgldnych punktw danych od ich wartoci
AVEDEV redniej. ODCH.REDNIE jest miar zmiennoci zbioru danych.
ODCITA(znane_y; znane_x) Podaje warto wsprzdnej y punktu, w ktrym prosta regresji poprowadzona 181
INTERCEPT przez wartoci znanych_x i znanych_y przecina o y.
PEARSON(tablica1; tablica2) Oblicza wspczynnik korelacji liniowej Pearsona R. Jest to bezwymiarowy
PEARSON wskanik o wartoci w zakresie od 1,0 do 1,0 wcznie, ktry odzwierciedla
stopie liniowej zalenoci pomidzy dwoma zbiorami danych.
PERCENTYL(tablica; k) Daje w wyniku k-ty percentyl wartoci w tablicy. K jest uamkiem z przedziau
PERCENTYL.PRZEDZ.ZAMK(tablica; k) w Excelu 2010 [0, 1]. Mona zastosowa t funkcj do okrelenia progu akceptacji.
PERCENTILE
PERCENTILE.INC w Excelu 2010
****)
PERCENTYL.PRZEDZ.OTW(tablica; k) Daje w wyniku k-ty percentyl wartoci w tablicy. Uwzgldnia przedzia otwarty
PERCENTILE.EXC (0, 1). W praktyce k jest uamkiem z przedziau [1/n, (n1)/n], gdzie n oznacza
liczb punktw w prbce.
PERMUTACJE(liczba; wybr_liczba) Wyznacza liczb permutacji (istotna kolejno obiektw) dla podanej wybr_liczby
PERMUT obiektw, ktre mona wybra z szerszej liczby obiektw.
POZYCJA(liczba; lista; lp) Daje w wyniku pozycj (ranking) pewnej liczby na licie liczb po jej
POZYCJA.NAJW(liczba; lista; lp) w Excelu 2010 uporzdkowaniu rosnco lub malejco (to okrela argument lp). Jeeli poszukiwana
RANK liczba wystpuje na licie kilkukrotnie, funkcja zwraca pozycj najwysz.
RANK.EQ w Excelu 2010
Excel w obliczeniach naukowych i inynierskich
****)
POZYCJA.R(liczba; lista; lp) Zwraca pozycj (ranking) pewnej liczby na licie. Jeeli poszukiwana liczba
RANK.AVG wystpuje na licie kilkukrotnie, funkcja zwraca pozycj redni.
PRAWDPD(zakres_x; zakres_prawdp; dolna_granica; Daje w wyniku prawdopodobiestwo, e warto x znajduje si pomidzy
grna_granica) dwiema granicami. Jeeli argument grna_granica nie jest podany, funkcja daje
PROB w wyniku prawdopodobiestwo, e x ma warto rwn dolna_granica.
PROCENT.POZYCJA(tablica; x; istotno) Daje w wyniku uamek, ktry odpowiada pooeniu wartoci x w tablicy,
PROC.POZ.PRZEDZ.ZAMK(tablica; x; istotno) obliczany jako (i1)/(n1). i jest pozycj x w tablicy uporzdkowanej rosnco,
w Excelu 2010 n jest liczebnoci tablicy. Funkcja odwzorowuje zakres wartoci w tablicy
PERCENTRANK na przedzia [0, 1]. Jeli x nie wystpuje w tablicy, wynik jest interpolowany.
PERCENTRANK.INC w Excelu 2010 Istotno oznacza liczb cyfr znaczcych wyniku (domylnie 3).
****)
PROC.POZ.PRZEDZ.OTW(tablica; x; istotno) Daje w wyniku uamek, ktry odpowiada pooeniu wartoci x w tablicy,
obliczany jako i/(n+1). Znaczenie symboli jak powyej. Funkcja odwzorowuje

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


PERCENTRANK.EXC
zakres wartoci w tablicy na przedzia (0, 1).
PRG.ROZKAD.DWUM(liczba_prb; Podaje najmniejsz warto, dla ktrej czny rozkad dwumianowy jest wikszy
prawdopodobiestwo_s; alfa) ni warto kryterialna alfa lub jest jej rwny. Funkcja ta jest stosowana do bada
ROZK.DWUM.ODWR(liczba_prb; niezawodnoci.
prawdopodobiestwo_s; alfa)
w Excelu 2010
CRITBINOM
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

BINOM.INV w Excelu 2010


R.KWADRAT(znane_y; znane_x) Oblicza kwadrat wspczynnika korelacji Pearsona dla wszystkich punktw danych 181
RSQ w znanych_y i znanych_x. Warto R-kwadrat mona interpretowa jako cz
wariancji y przypisywan wariancji x.
REGBSTD(znane_y; znane_x) Daje w wyniku standardowy bd prognozowanej wartoci y dla kadego x
STEYX przy regresji.
REGEXPP(znane_y; znane_x; czy_staa; czy_stat) Funkcja ta stosuje metod najmniejszych kwadratw do obliczania krzywej 188
LOGEST wykadniczej, ktra najlepiej pasuje do danych, i daje w wyniku tablic opisujc t
krzyw.
REGEXPW(znane_y; znane_x; nowe_x, czy_staa) Oblicza przewidywany wzrost wykadniczy, uywajc istniejcych danych. 188
GROWTH Funkcja oblicza wartoci y dla podanej tablicy nowe_x wzdu krzywej
znalezionej na podstawie danych znane_x i znane_y.
359
NAZWA_FUNKCJI Opis
360

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje statystyczne
REGLINP(znane_y; znane_x; czy_staa; czy_stat) Funkcja ta stosuje metod najmniejszych kwadratw do obliczania prostej, ktra 181
LINEST najlepiej pasuje do danych, i daje w wyniku tablic opisujc t prost.
REGLINW(znane_y; znane_x; nowe_x; czy_staa) Dopasowuje prost (metod najmniejszych kwadratw) do tablic znane_y i znane_x. 188
TREND Daje w wyniku wartoci y wzdu tej prostej dla podanej przez uytkownika tablicy
nowe_x.
REGLINX(x;znane_y;znane_x) Daje w wyniku przewidywan warto y dla podanego x na podstawie liniowej 188
FORECAST regresji znanych tablic lub zakresw danych znane_x i znane_y.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


ROZKAD.BETA(x;alfa;beta;A;B) Oblicza skumulowan funkcj (dystrybuant) rozkadu beta.
ROZK.BETA(x;alfa;beta;A;B) w Excelu 2010
BETADIST
BETA.DIST w Excelu 2010
ROZKAD.BETA.ODW(prawdopdb; alfa; beta; A; B) Oblicza funkcj odwrotn skumulowanej funkcji (dystrybuanty)
ROZK.BETA.ODWR(prawdopdb; alfa; beta; A; B) rozkadu beta. To znaczy, e jeli prawdopdb = ROZKAD.BETA(x;...),
w Excelu 2010 to ROZKAD.BETA.ODW (prawdopdb;...) = x.
BETAINV
BETA.INV w Excelu 2010
ROZKAD.CHI(x; stopnie_swobody) Podaje warto jednostronnego rozkadu chi-kwadrat. Rozkad 2 wie si
ROZK.CHI.PS(x; stopnie_swobody) w Excelu 2010 z testem 2. Test 2 suy do porwnywania wartoci obserwowanych
CHIDIST i przewidywanych.
CHISQ.DIST.RT w Excelu 2010
****)
ROZK.CHI(x; stopnie_swobody; czy_skumulowany) Zwraca rozkad chi-kwadrat (dystrybuant lub gsto prawdopodobiestwa).
CHISQ.DIST
ROZKAD.CHI.ODW(prawdopdb; stopnie_swobody) Podaje warto funkcji odwrotnej do prawostronnej skumulowanej funkcji
ROZK.CHI.ODWR(prawdopdb; stopnie_swobody) gstoci prawdopodobiestwa rozkadu chi-kwadrat. Jeli prawdopdb
w Excelu 2010 = ROZKAD.CHI(x; ...), to funkcja ROZKAD.CHI.ODW(prawdopdb; ...) = x.
CHIINV
CHISQ.INV w Excelu 2010
Excel w obliczeniach naukowych i inynierskich
ROZKAD.DWUM(liczba_s; liczba_prb; Podaje warto pojedynczego skadnika dwumianowego rozkadu
prawdopdb_s; czny) prawdopodobiestwa. Funkcj t naley stosowa do rozwizywania problemw
ROZK.DWUM(liczba_s; liczba_prb; obejmujcych sta liczb niezalenych testw lub prb, a wynik kadej prby
prawdopdb_s; czny) w Excelu 2010 moe by tylko sukcesem lub porak, ktrych prawdopodobiestwo jest stae.
BINOMDIST
BINOM.DIST w Excelu 2010
ROZKAD.DWUM.PRZEC(liczba_p; liczba_s; prawdopdb_s) Daje w wyniku ujemny rozkad dwumianowy. Funkcja oblicza prawdopodobiestwo
ROZK.DWUM.PRZEC(liczba_p; liczba_s; prawdopdb_s) zdarzenia, e przy staym prawdopodobiestwie sukcesu prawdopdb_s liczba_p
w Excelu 2010 niepowodze bdzie poprzedza liczba_s-ty sukces. Funkcja ta rni si od rozkadu
NEGBINOMDIST dwumianowego tym, e liczba sukcesw jest staa, a liczba prb jest zmienna.
NEGBINOM.DIST w Excelu 2010
****)
ROZK.DWUM.ODWR(liczba_prb; prawdopdb_s; alfa) Zwraca najmniejsz warto, dla ktrej skumulowany rozkad dwumianowy

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


BINOM.INV jest wikszy lub rwny wartoci kryterium alfa.
ROZKAD.EXP(x; lambda; czy_skumulowany) Oblicza funkcj lub dystrybuant rozkadu wykadniczego, ktrego parametrem jest
ROZK.EXP (x; lambda; czy_skumulowany) lambda.
w Excelu 2010
EXPONDIST
EXPON.DIST w Excelu 2010
ROZKAD.F(x; stopnie_swobody_l; stopnie_swobody_m) Podaje warto prawostronnego rozkadu prawdopodobiestwa F Snedecora.
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

ROZK.F.PS(x; stopnie_swobody_l; stopnie_swobody_m) Funkcj t mona stosowa do porwnywania wariancji dwch zbiorw danych.
w Excelu 2010
FDIST
F.DIST.RT w Excelu 2010
ROZKAD.F.ODW(prawdopdb; stopnie_swobody_l; Podaje warto funkcji odwrotnej prawostronnego rozkadu prawdopodobiestwa F
stopnie_swobody_m) Snedecora. Jeli p = ROZKAD.F(x;...), to ROZKAD.F.ODW(p;...) = x.
ROZK.F.ODWR.PS(prawdopdb; stopnie_swobody_l;
stopnie_swobody_m) w Excelu 2010
FINV
F.INV.RT w Excelu 2010
ROZK.F(x; stopnie_swobody_l; stopnie_swobody_m; Podaje warto lewostronnego rozkadu (skumulowanego lub gstoci)
****)
czy_skumulowany) prawdopodobiestwa F Snedecora.
F.DIST
361
NAZWA_FUNKCJI Opis
362

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje statystyczne
ROZK.F.ODWR(x; stopnie_swobody_l; Podaje warto funkcji odwrotnej lewostronnego rozkadu prawdopodobiestwa F
****)
stopnie_swobody_m) Snedecora. Jeli p = ROZK.F(x ;...;PRAWDA), to ROZK.F.ODWR(p;...) = x.
F.INV
ROZKAD.FISHER(x) Podaje warto transformacji Fishera wartoci x. Funkcja ta pozwala weryfikowa
FISHER hipotezy dotyczce wspczynnika korelacji.
ROZKAD.FISHER.ODW(y) Podaje warto funkcji odwrotnej transformacji Fishera. Transformacj t
FISHERINV naley stosowa do analizy korelacji midzy zakresami lub tablicami danych.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Jeli y = ROZKAD.FISHER(x), to ROZKAD.FISHER.ODW(y) = x.
ROZKAD.GAMMA(x; alfa; beta; czy_skumulowany) Daje w wyniku rozkad gamma lub jego dystrybuant. Rozkad gamma jest
ROZK.GAMMA(x; alfa; beta; czy_skumulowany) powszechnie stosowany w analizie kolejek.
w Excelu 2010
GAMMADIST
GAMMA.DIST w Excelu 2010
ROZKAD.GAMMA.ODW(prawdopdb; alfa; beta) Daje w wyniku funkcj odwrotn skumulowanego rozkadu gamma.
ROZK.GAMMA.ODWR(prawdopdb; alfa; beta) Jeli p = ROZKAD.GAMMA.ODW(x ;...), to ROZKAD.GAMMA.ODW(p;...) = x.
w Excelu 2010
GAMMAINV
GAMMA.INV w Excelu 2010
ROZKAD.HIPERGEOM(prbka_s; wielk_prbki; Daje w wyniku rozkad hipergeometryczny, czyli prawdopodobiestwo
populacja_s; wielk_populacji) sukcesw danej liczby prbek przy danej licznoci prbki, danych sukcesach
ROZK.HIPERGEOM(prbka_s; wielk_prbki; populacji i wielkoci populacji.
populacja_s; wielk_populacji) w Excelu 2010
HYPGEOMDIST
HYPGEOM.DIST w Excelu 2010
ROZKAD.LIN.GAMMA(x) Daje w wyniku logarytm naturalny funkcji gamma, (x). Funkcja (x) 113
GAMMALN dla argumentw cakowitych nieujemnych ma warto SILNIA(x1).
Excel w obliczeniach naukowych i inynierskich
****)
ROZKAD.LIN.GAMMA.DOK(x) Daje w wyniku logarytm naturalny funkcji gamma, (x), podobnie jak funkcja
GAMMALN.PRECISE ROZKAD.LIN.GAMMA. W dokumentacji nie podano, czym rni si ta funkcja od
poprzedniej. W typowych zastosowaniach wyniki s identyczne.
ROZKAD.LOG(x; rednia; odchylenie_std) Oblicza skumulowany rozkad logarytmiczno-normalny x, gdzie LN(x) ma rozkad
ROZK.LOG(x; rednia; odchylenie_std) normalny z parametrami rednia i odchylenie_std. Funkcj t naley stosowa do
w Excelu 2010 analizowania danych, ktre zostay przetworzone logarytmicznie.
LOGNORMDIST
LOGNORM.DIST w Excelu 2010
ROZKAD.LOG.ODW(prawdopdb; rednia; odchylenie_std) Oblicza warto funkcji odwrotnej skumulowanego rozkadu logarytmiczno-
ROZK.LOG.ODWR(prawdopdb; rednia; odchylenie_std) -normalnego x, gdzie LN(x) ma rozkad normalny z parametrami redniej
w Excelu 2010 i odchylenia_std. Jeli p = ROZKAD.LOG(x;...), to ROZKAD.LOG.ODW(p;...) = x.
LOGINV

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


LOGNORM.INV w Excelu 2010
ROZKAD.NORMALNY(x; rednia; odchylenie_std; Daje w wyniku rozkad normalny (dystrybuanta lub funkcja) zmiennej x dla danej
czy_skumulowany) redniej i odchylenia_std.
ROZK.NORMALNY(x; rednia; odchylenie_std;
czy_skumulowany) w Excelu 2010
NORMDIST
NORM.DIST w Excelu 2010
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

ROZKAD.NORMALNY.ODW(prawdopdb; rednia; Oblicza warto funkcji odwrotnej skumulowanego rozkadu normalnego.


odchylenie_std)
ROZK.NORMALNY.ODWR(prawdopdb; rednia;
odchylenie_std) w Excelu 2010
NORMINV
NORM.INV w Excelu 2010
ROZKAD.NORMALNY.S(z) Oblicza standardowy skumulowany rozkad normalny (dystrybuant). Rozkad
ROZK.NORMALNY.S(z) w Excelu 2010 ten ma redni zero i odchylenie standardowe rwne jeden.
NORMSDIST
NORM.S.DIST w Excelu 2010
ROZKAD.NORMALNY.S.ODW(prawdopdb) Daje w wyniku funkcj odwrotn skumulowanego, standardowego rozkadu
ROZK.NORMALNY.S.ODWR(prawdopdb) w Excelu 2010 normalnego. Rozkad ten ma redni rwn zero i standardowe odchylenie
NORMSINV rwne jeden.
NORM.S.INV w Excelu 2010
363
NAZWA_FUNKCJI Opis
364

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje statystyczne
ROZKAD.POISSON(x; rednia; czy_skumulowany) Oblicza dystrybuant lub gsto prawdopodobiestwa rozkadu Poissona
ROZK.POISSON(x; rednia; czy_skumulowany) dla x zdarze.
w Excelu 2010
POISSON
POISSON.DIST w Excelu 2010
ROZKAD.T(x; stopnie_swobody; lady) Daje w wyniku prawdopodobiestwo dla rozkadu t Studenta, gdzie warto x jest
W Excelu 2010: wartoci graniczn, dla ktrej ma by obliczone prawdopodobiestwo.
ROZK.T.PS(x; stopnie_swobody)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


lady decyduj, czy rozkad jest jednostronny, czy dwustronny. W Excelu 2010
ROZK.T.DS(x; stopnie_swobody) wprowadzono dwie funkcje: ROZK.T.PS odpowiada wartoci lady = 1 (rozkad
TDIST prawostronny), ROZK.T.DS odpowiada wartoci lady = 2 (rozkad dwustronny).
W Excelu 2010:
T.DIST.RT
T.DIST.2T
ROZKAD.T.ODW(prawdopodobiestwo; stopnie_swobody) Daje w wyniku warto t dwustronnego rozkadu t Studenta jako funkcj
ROZK.T.ODWR.DS(prawdopodobiestwo; stopnie_swobody) prawdopodobiestwa i liczby stopni swobody. Funkcj t naley stosowa
w Excelu 2010 zamiast tabeli wartoci krytycznych do rozkadu t.
TINV
T.INV.2T w Excelu 2010
****)
ROZK.T(x; stopnie_swobody; czy_skumulowany) Podaje warto lewostronnego rozkadu (skumulowanego lub gstoci
T.DIST prawdopodobiestwa) t Studenta. ROZK.T(x; stopnie_swobody; PRAWDA)= 1-ROZK.
T.PS(x; stopnie_swobody).
ROZK.T.ODWR(prawdopodobiestwo; Daje w wyniku warto t lewostronnego rozkadu t Studenta jako funkcj
****)
stopnie_swobody) prawdopodobiestwa i liczby stopni swobody. ROZK.T.ODWR (prawdopodobiestwo;
T.INV stopnie_swobody)= x, gdy ROZK.T(x; stopnie_swobody; PRAWDA)
= prawdopodobiestwo.
ROZKAD.WEIBULL(x; alfa; beta; czy_skumulowany) Oblicza dystrybuant lub gsto rozkadu Weibulla. Rozkad ten naley
ROZK.WEIBULL(x; alfa; beta; czy_skumulowany) stosowa do analizy niezawodnoci.
w Excelu 2010
WEIBULL
WEIBULL.DIST w Excelu 2010
Excel w obliczeniach naukowych i inynierskich
SKONO(liczba1; liczba2; ...) Daje w wyniku skono rozkadu, ktra charakteryzuje stopie asymetrii rozkadu
SKEW wok jego redniej. Skono dodatnia oznacza rozkad z asymetrycznym
ogonem w kierunku wartoci bardziej dodatnich. Skono ujemna odwrotnie.
REDNIA(liczba1; liczba2; ...) Podaje redni arytmetyczn argumentw.
AVERAGE
REDNIA.A(warto1; warto2; ...) Podaje redni arytmetyczn argumentw z listy. Oprcz liczb w obliczeniach
AVERAGEA mog by brane pod uwag teksty oraz wartoci logiczne PRAWDA i FASZ.
REDNIA.GEOMETRYCZNA(liczba1; liczba2; ...) Daje w wyniku redni geometryczn tablicy lub zakresu danych dodatnich.
GEOMIN
REDNIA.HARMONICZNA(liczba1; liczba2; ...) Daje w wyniku redni harmoniczn zbioru danych. rednia harmoniczna jest
HARMEAN odwrotnoci redniej arytmetycznej odwrotnoci.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


***)
REDNIA.JEELI(zakres; kryteria) Oblicza redni wartoci komrek wewntrz zakresu, ktre speniaj podane
AVERAGEIF kryteria.
REDNIA.WARUNKW(zakres1; kryterium1; zakres2; Oblicza redni wartoci komrek wewntrz zakresu, ktre speniaj wiele kryteriw.
***)
kryterium2; ...) Dla kadego kryterium naley poda odrbnie zakres, ale ich wielkoci musz by
AVERAGEIFS zgodne.
REDNIA.WEWN(tablica; uamek) Oblicza warto redni wzit po wykluczeniu z tablicy pewnego uamka punktw
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

TRIMMEAN danych o najwyszych i najniszych wartociach.


TEST.CHI(zakres_sprawdzany; zakres_wzorcowy) Podaje warto rozkadu statystyki chi-kwadrat (2) dla porwnywanych zakresw.
CHI.TEST w Excelu 2010 Test 2 mona stosowa jako test niezalenoci lub do sprawdzania,
CHITEST czy eksperyment potwierdza oczekiwane rezultaty.
CHISQ.TEST w Excelu 2010
TEST.F(tablica1; tablica2) Test F podaje jednostronne prawdopodobiestwo, e wariancje danych w tablica1
F.TEST w Excelu 2010 i w tablica2 nie rni si znacznie od siebie.
FTEST
F.TEST w Excelu 2010
TEST.T(tablica1; tablica2; lady; typ) Daje w wyniku prawdopodobiestwo zwizane z testem t Studenta. Funkcj TEST.T
T.TEST(tablica1; tablica2; lady; typ) naley stosowa do okrelenia, jakie jest prawdopodobiestwo, e dwie prbki
w Excelu 2010 pochodz z populacji, ktre maj tak sam warto redni.
TTEST
T.TEST w Excelu 2010
365
NAZWA_FUNKCJI Opis
366

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje statystyczne
TEST.Z(tablica; x; sigma) Test z daje w wyniku jednostronne prawdopodobiestwo dla rozkadu normalnego
Z.TEST(tablica; x; sigma) w Excelu 2010 w odniesieniu do zbioru danych w tablicy i wartoci x. Funkcj t mona stosowa
ZTEST do oceny prawdopodobiestwa, e dana obserwacja jest wzita z okrelonej
Z.TEST w Excelu 2010 populacji.
UFNO(alfa; odchylenie_standardowe; liczno) Podaje dugo przedziau ufnoci wok redniej z populacji. Przedzia
UFNO.NORM(alfa; odchylenie_standardowe; liczno) ufnoci = rednia ufno. Alfa jest poziomem istotnoci.
w Excelu 2010

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


CONFIDENCE
CONFIDENCE.NORM w Excelu 2010
****)
UFNO.T(alfa; odchylenie_standardowe; liczno) Zwraca przedzia ufnoci dla redniej populacji, uywajc rozkadu t-Studenta.
CONFIDENCE.T
WARIANCJA(liczba1; liczba2; ...) Ocenia wariancj na podstawie prbki.
WARIANCJA.PRBKI(liczba1; liczba2; ...)
w Excelu 2010
VAR
VAR.S w Excelu 2010
WARIANCJA.A(warto1; warto2; ...) Ocenia wariancj na podstawie prbki, uwzgldniajc oprcz liczb rwnie
VARA teksty oraz wartoci logiczne PRAWDA i FASZ.
WARIANCJA.POPUL(liczba1; liczba2; ...) Oblicza wariancj na podstawie caej populacji (zakada si, e lista
WARIANCJA.POP(liczba1; liczba2; ...) argumentw to caa populacja).
w Excelu 2010
VARP
VAR.P w Excelu 2010
WARIANCJA.POPUL.A(warto1; warto2; ...) Ocenia wariancj na podstawie caej populacji, uwzgldniajc oprcz liczb rwnie
VARPA teksty oraz wartoci logiczne PRAWDA i FASZ.
WSP.KORELACJI(tablica1; tablica2) Podaje warto wspczynnika korelacji pomidzy zakresami komrek
CORREL tablica1 i tablica2.
Excel w obliczeniach naukowych i inynierskich
WYST.NAJCZCIEJ(liczba1; liczba2; ...) Podaje warto najczciej wystpujc w zakresie lub tablicy danych (warto
WYST.NAJCZCIEJ.WART(liczba1; liczba2; ...) modalna).
w Excelu 2010
MODE
MODE.SNGL w Excelu 2010
****)
WYST.NAJCZCIEJ.TABL(liczba1; liczba2; ...) Zwraca pionow tablic zawierajc najczciej wystpujce lub powtarzajce si
MODE.MULT wartoci w tablicy lub zakresie danych.
Wybrane funkcje tekstowe
D(tekst) Zwraca liczb znakw w tekcie.
LEN
FRAGMENT.TEKSTU(tekst; nr_poz_pocz; liczba_znakw) Zwraca fragment tekstu o dugoci liczba_znakw, poczwszy od znaku o numerze

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


MID nr_poz_pocz. Pierwszy znak tekstu ma numer 1.
KOD(tekst) Zwraca kod liczbowy pierwszego znaku w tekcie.
*)
CODE
LEWY(tekst; liczba_znakw) Zwraca pocztkowy fragment tekstu o dugoci liczba_znakw, jeli drugi
LEFT argument pominito, funkcja zwraca jeden znak.
PODSTAW(tekst;stary_tekst; Kade wystpienie starego_tekstu w acuchu tekst zostanie zastpione
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

nowy_tekst;numer_wystpienia) nowym_tekstem. Jeeli podano warto parametru numer_wystpienia,


SUBSTITUTE nastpuje tylko zamiana jednorazowa o podanym numerze.
PORWNAJ(tekst1; tekst2) Sprawdza, czy dwa cigi tekstowe s identyczne, zwracajc odpowiednio 269
EXACT warto PRAWDA lub FASZ. Uwzgldnia wielko liter, nie uwzgldnia formatowania.
POWT(tekst; ile_razy) Wywietla tekst powtrzony ile_razy. Mona t funkcj wykorzysta do utworzenia
REPT prostego histogramu.
PRAWY(tekst; liczba_znakw) Zwraca kocowy fragment tekstu o dugoci liczba_znakw, domylnie
RIGHT funkcja zwraca jeden znak.
SZUKAJ.TEKST(tekst_szukany; w_tekcie; nr_poz_pocz) Wyszukuje tekst_szukany w_tekcie rdowym, nie rozrniajc maych
SEARCH i duych liter. Pocztek wyszukiwania okrela nr_poz_pocz. Funkcja zwraca
numer pozycji w_tekcie rdowym, odpowiadajcy pierwszej literze
tekstu_szukanego.
367
NAZWA_FUNKCJI Opis
368

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Wybrane funkcje tekstowe
T(warto) Jeli warto jest tekstem lub odnosi si do tekstu, funkcja podaje w wyniku
*) t warto. Jeli za warto nie odnosi si do tekstu, wynikiem jest "" (pusty tekst).
T
TEKST(warto; format_tekst) Funkcja przeksztaca warto w tekst w okrelonym formacie liczbowym.
TEXT
WARTO(tekst) Przeksztaca tekst oznaczajcy liczb w liczb.
*)
VALUE

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


ZAOKR.DO.TEKST(liczba; miejsca_dziesitne; Zaokrgla liczb do podanej liczby miejsc_dziesitnych, formatuje liczb w postaci
czy_bez_odstpw) dziesitnej z uyciem przecinka i odstpw oraz podaje wynik w postaci
FIXED tekstowej.
ZASTP(stary_tekst; nr_poz_pocz; liczba_znakw; Funkcja zastpuje okrelon liczb_znakw w cigu tekstowym stary_tekst,
nowy_tekst) poczwszy od pozycji nr_poz_pocz, innym cigiem tekstowym nowy_tekst.
REPLACE
ZCZ.TEKSTY(tekst1; tekst2; ...) czy argumenty tekstowe i liczbowe w jeden tekst. Argumenty mog by
CONCATENATE odwoaniami.
ZNAJD(tekst_szukany; w_tekcie; nr_poz_pocz) Wyszukuje tekst_szukany w_tekcie rdowym, rozrniajc mae i due litery.
FIND Pocztek wyszukiwania okrela nr_poz_pocz. Funkcja zwraca numer pozycji
w_tekcie rdowym, odpowiadajcy pierwszej literze tekstu_szukanego.
ZNAK(liczba) Zwraca znak o podanym numerze kodu, ktry jest liczb z zakresu 1 255.
*)
CHAR
Funkcje bazy danych
BD.ILE.REKORDW(baza; pole; kryteria) Zlicza komrki zawierajce liczby w kolumnie pole listy lub bazy danych, 278
DCOUNT w rekordach pasujcych do podanych kryteriw. Argument pole jest opcjonalny;
jeli zosta pominity, funkcja zlicza wszystkie rekordy, ktre speniaj kryteria.
BD.ILE.REKORDW.A(baza; pole; kryteria) Zlicza niepuste komrki w kolumnie pole listy lub bazy danych, w rekordach, ktre 278
DCOUNTA speniaj podane kryteria. Argument pole jest opcjonalny; ze skutkiem jw.
Excel w obliczeniach naukowych i inynierskich
BD.ILOCZYN(baza; pole; kryteria) Mnoy wartoci w kolumnie pole listy lub bazy danych, w rekordach speniajcych 278
DPRODUCT podane kryteria.
BD.MAX(baza; pole; kryteria) Podaje warto najwikszej liczby w kolumnie pole listy lub bazy danych, 278
DMAX w rekordach speniajcych podane kryteria.
BD.MIN(baza; pole; kryteria) Podaje warto najmniejszej liczby w kolumnie pole listy lub bazy danych, 278
DMIN w rekordach speniajcych podane kryteria.
BD.ODCH.STANDARD(baza; pole; kryteria) Szacuje odchylenie standardowe populacji z prby, na podstawie liczb w kolumnie 278
DSTDEV pole listy lub bazy danych w rekordach speniajcych podane kryteria.
BD.ODCH.STANDARD.POPUL (baza; pole; kryteria) Oblicza odchylenie standardowe populacji na podstawie caej populacji, 278
DSTDEVP wykorzystujc liczby w kolumnie pole listy lub bazy danych, w rekordach
speniajcych podane kryteria.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


BD.POLE(baza; pole; kryteria) Pobiera pojedyncze wartoci z kolumny pole listy lub bazy danych, z rekordu 278
DGET speniajcego podane kryteria. Jeli aden z rekordw nie spenia kryterium,
funkcja podaje warto bdu #ARG!. Jeli wicej ni jeden rekord spenia kryteria,
funkcja podaje warto bdu #LICZBA!.
BD.SUMA(baza; pole; kryteria) Dodaje do siebie liczby z kolumny pole listy lub bazy danych, z rekordw 278
DSUM speniajcych podane kryteria.
BD.REDNIA(baza; pole; kryteria) Urednia wartoci w kolumnie pole listy lub bazy danych, w rekordach 278
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

DAVERAGE speniajcych podane kryteria.


BD.WARIANCJA(baza; pole; kryteria) Szacuje wariancj populacji z prby, wykorzystujc liczby w kolumnie pole listy 278
DVAR lub bazy danych, w rekordach speniajcych podane kryteria.
BD.WARIANCJA.POPUL(baza; pole; kryteria) Oblicza wariancj populacji na podstawie caej populacji, wykorzystujc 278
DVARP liczby w kolumnie pole listy lub bazy danych, w rekordach speniajcych podane
kryteria.
Funkcje inynierskie
**)
ARG.LICZBY.ZESP(liczba_zespolona) Oblicza argument (theta), kt wyraony w radianach taki, e: = ATAN2(x;y) 251
IMARGUMENT dla liczby_zespolonej w postaci tekstowej "x+yi" lub "x+yj".
**)
BESSEL.I(x; n) Podaje warto zmodyfikowanej funkcji Bessela In(x), rwnowanej funkcji
BESSELI Bessela I rodzaju dla czysto urojonych argumentw In(x) = i-n Jn(ix).
369
NAZWA_FUNKCJI Opis
370

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje inynierskie
**)
BESSEL.J(x; n) Podaje warto funkcji Bessela I rodzaju (funkcji walcowej) Jn(x).
BESSELJ
**)
BESSEL.K(x; n) Podaje warto zmodyfikowanej funkcji Kn(x) Bessela, zwanej te funkcj
BESSELK Macdonalda.
**)
BESSEL.Y(x; n) Podaje warto funkcji Bessela II rodzaju Yn(x), znanej take jako funkcja Webera
BESSELY albo funkcja Neumanna.
**)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


COS.LICZBY.ZESP (liczba_zespolona) Podaje warto cosinusa liczby_zespolonej w postaci tekstowej "x+yi" lub "x+yj". 256
IMCOS
**)
CZ.RZECZ.LICZBY.ZESP (liczba_zespolona) Podaje warto czci rzeczywistej liczby_zespolonej podanej w postaci tekstowej 250
IMREAL "x+yi" lub "x+yj".
**)
CZ.UROJ.LICZBY.ZESP (liczba_zespolona) Podaje warto czci urojonej liczby_zespolonej w postaci tekstowej 250
IMAGINARY "x+yi" lub "x+yj".
**)
CZY.RWNE(liczba1; liczba2) Funkcja delta Kroneckera sprawdza, czy dwie wartoci s rwne. Zwraca warto 1,
DELTA jeli liczba1 = liczba2; w przeciwnym razie 0. Przez sumowanie kilku funkcji
DELTA mona wyznaczy liczb rwnych par w zbiorze.
**)
DWJK.NA.DZIES(liczba) Zamienia liczb dwjkow (maks. 10 bitw) na dziesitn. 243
BIN2DEC
**)
DWJK.NA.SM(liczba; miejsca) Zamienia liczb w kodzie dwjkowym (maks. 10 bitw) na liczb w kodzie 243
BIN2OCT semkowym. Argument miejsca wyznacza liczb cyfr wyniku.
**)
DWJK.NA.SZESN(liczba; miejsca) Zamienia liczb w kodzie dwjkowym (maks. 10 bitw) na liczb w kodzie 243
BIN2HEX szesnastkowym. Argument miejsca wyznacza liczb cyfr wyniku.
**)
DZIES.NA.DWJK(liczba; miejsca) Zamienia liczb dziesitn na posta dwjkow. 243
DEC2BIN
**)
DZIES.NA.SM(liczba; miejsca) Zamienia liczb dziesitn na liczb w kodzie semkowym (maks. 10 znakw). 243
DEC2OCT
Excel w obliczeniach naukowych i inynierskich
**)
DZIES.NA.SZESN(liczba; miejsca) Zamienia liczb dziesitn na liczb w kodzie szesnastkowym (maks. 10 znakw). 243
DEC2HEX
**)
EXP.LICZBY.ZESP(liczba_zespolona) Podaje warto wykadnicz liczby_zespolonej w postaci tekstowej "x+yi" 255
IMEXP lub "x+yj".
**)
FUNKCJA.B(dolna_granica; grna_granica) Podaje warto funkcji bdu scakowanej pomidzy dolna_granica a grna_granica
ERF albo pomidzy 0 a dolna_granica.
****)
FUNKCJA.B.DOK(x) Podaje warto funkcji bdu scakowanej pomidzy 0 a x.
ERF.PRECISE
ILOCZYN.LICZB.ZESP(liczba_zespolona1; Podaje warto iloczynu od 2 do 29 (lub 255 od wersji 2007) liczb_zespolonych 253
**)
liczba_zespolona2; ...) podanych w postaci tekstowej "x+yi" lub "x+yj".
IMPRODUCT

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


ILORAZ.LICZB.ZESP(liczba_zespolona1; Podaje warto ilorazu liczby_zespolonej1 przez liczb_zespolon2, kada 253
**)
liczba_zespolona2) w postaci tekstowej "x+yi" lub "x+yj".
IMDIV
**)
KOMP.FUNKCJA.B(x) Podaje warto dopeniajcej funkcji bdu scakowanej od x do nieskoczonoci,
ERFC ERFC(x) = 1ERF(x).
****)
KOMP.FUNKCJA.B.DOK(x) Podaje warto dopeniajcej funkcji bdu scakowanej od x do nieskoczonoci.
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

ERFC.PRECISE Dokumentacja nie wyjania, czym rni si ta funkcja od KOMP.FUNKCJA.B.


KONWERTUJ(liczba; jednostka_wejciowa; Przeksztaca liczb mianowan z jednego systemu miar na inny. Akceptuje 245
**)
jednostka_wynikowa) tylko nazwy jednostek wymienione w opisie funkcji.
CONVERT
LICZBA.ZESP(cz_rzeczywista; cz_urojona; Z czci_rzeczywistej x i czci_urojonej y tworzy liczb zespolon w postaci 137
**)
jednostka_urojona) "x+yi" lub "x+yj". 250
COMPLEX
**)
LN.LICZBY.ZESP(liczba_zespolona) Podaje warto logarytmu naturalnego liczby_ zespolonej danej w postaci 255
IMLN tekstowej "x+yi" lub "x+yj".
**)
LOG10.LICZBY.ZESP(liczba_zespolona) Podaje warto logarytmu dziesitnego liczby_ zespolonej danej w postaci 255
IMLOG10 tekstowej "x+yi" lub "x+yj".
371
NAZWA_FUNKCJI Opis
372

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Funkcje inynierskie
**)
LOG2.LICZBY.ZESP(liczba_zespolona) Podaje warto logarytmu przy podstawie 2 z liczby_ zespolonej danej 255
IMLOG2 w postaci tekstowej "x+yi" lub "x+yj".
**)
MODU.LICZBY.ZESP(liczba_zespolona) Podaje warto bezwzgldn (modu) liczby_ zespolonej w formacie 251
IMABS tekstowym "x+yi" lub "x+yj".
**)
SM.NA.DWJK(liczba; miejsca) Zamienia liczb w postaci semkowej (maks. 10 znakw) na liczb 243
OCT2BIN w postaci dwjkowej.
**)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


SM.NA.DZIES(liczba) Zamienia liczb w postaci semkowej (maks. 10 znakw) na liczb 243
OCT2DEC w postaci dziesitnej.
**)
SM.NA.SZESN(liczba; miejsca) Zamienia liczb w postaci semkowej (maks. 10 znakw) na liczb w postaci 243
OCT2HEX szesnastkowej.
**)
PIERWIASTEK.LICZBY.ZESP(liczba_zespolona) Podaje warto pierwiastka kwadratowego z liczby_ zespolonej danej 254
IMSQRT w postaci tekstowej "x+yi" lub "x+yj".
**)
POTGA.LICZBY.ZESP(liczba_zespolona; liczba) Podaje warto liczby_zespolonej w postaci tekstowej "x+yi" lub "x+yj" 254
IMPOWER podniesionej do potgi liczba (rzeczywista).
RN.LICZB.ZESP(liczba_zespolona1; Podaje warto rnicy liczby_zespolonej1 i liczby_zespolonej2, kada 253
**)
liczba_zespolona2) w postaci tekstowej "x+yi" lub "x+yj".
IMSUB
**)
SIN.LICZBY.ZESP(liczba_zespolona) Podaje warto sinusa liczby_zespolonej danej w postaci tekstowej "x+yi" 256
IMSIN lub "x+yj".
**)
SPRAWD.PRG(liczba; prg) Zwraca warto 1, jeli liczba jest wiksza lub rwna progowi (domylnie 0);
GESTEP w przeciwnym razie 0. Przez zsumowanie kilku funkcji GESTEP mona
obliczy, ile liczb przekracza prg.
**)
SPRZ.LICZBY.ZESP(liczba_zespolona) Podaje warto liczby sprzonej do liczby_ zespolonej w formacie tekstowym 250
IMCONJUGATE "x+yi" lub "x+yj".
Excel w obliczeniach naukowych i inynierskich
SUMA.LICZB.ZESP(liczba_zespolona1; Podaje warto sumy dwch lub wicej (do 30 w wersji 2003 i wczeniejszych, 253
**)
liczba_zespolona2; ...) do 255 od wersji 2007) liczb_zespolonych podanych w formacie tekstowym
IMSUM "x+yi" lub "x+yj".
**)
SZESN.NA.DWJK(liczba; miejsca) Zamienia liczb w postaci szesnastkowej (maks. 10 znakw) na posta dwjkow. 243
HEX2BIN
**)
SZESN.NA.DZIES(liczba) Zamienia liczb w postaci szesnastkowej (maks. 10 znakw) na posta dziesitn. 243
HEX2DEC
**)
SZESN.NA.SM(liczba; miejsca) Zamienia liczb w postaci szesnastkowej (maks. 10 znakw) na liczb w postaci 243
HEX2OCT semkowej.
Wybrane funkcje daty i czasu (w Excelu 2010: Data i godzina)

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


CZAS(godzina; minuta; sekunda) Zwraca okrelony czas jako liczb dziesitn z zakresu [0, 1), reprezentujc
TIME godziny od 0:00:00 (12:00:00 AM) do 23:59:59 (11:59:59 PM). Argumenty
domylnie s rwne 0. Jeli przed wprowadzeniem funkcji komrka miaa format
Oglny, to wynik zostanie sformatowany jako czas w wersji anglosaskiej
(format Czas lub Niestandardowe w zalenoci od wersji Excela).
CZAS.WARTO(czas_tekst) Zwraca liczb dziesitn z zakresu [0, 1), okrelajc cz doby odpowiadajc
TIMEVALUE cigowi tekstowemu czas_tekst.
Rozdzia 24. Wybrane funkcje wbudowane w Excelu

DATA(rok; miesic; dzie) Zwraca liczb cakowit reprezentujc okrelon dat. Jeli przed wprowadzeniem
DATE funkcji komrka miaa format Oglny, wynik zostaje sformatowany jako Data.
DATA.WARTO(tekst_daty) Zwraca liczb kolejn daty reprezentowanej przez argument tekst_daty.
DATEVALUE
DZI() Zwraca liczb kolejn biecej daty. Jeli przed wprowadzeniem funkcji
TODAY komrka miaa format Oglny, to wynik jest formatowany jako Data.
GODZINA(liczba_seryjna) Zwraca godzin wartoci czasu. Liczba_seryjna to czas zawierajcy godzin, ktr
HOUR naley znale. Czas moe by wprowadzany jako cig tekstowy w cudzysowie
(na przykad "6:45 PM"), jako liczba w systemie dziesitnym (na przykad
jako warto 0,78125 reprezentujca czas 6:45 PM) lub jako wynik formuy.
Godzina jest podawana jako liczba cakowita z zakresu od 0 (pnoc) do 23
(11:00 wieczr).
373
NAZWA_FUNKCJI Opis
374

(parametry_obowizkowe; parametry_opcjonalne) Krtki opis dziaania skadni


NAZWA_FUNKCJI w jzyku angielskim na stronie
Wybrane funkcje daty i czasu (w Excelu 2010: Data i godzina)
MIESIC(liczba_seryjna) Zwraca miesic daty reprezentowanej przez liczb_seryjn. Jest to liczba
MONTH daty, ktra powinna by wprowadzana przy uyciu funkcji DATA lub jako
rezultat innych formu. Na przykad dla 23 maja 2010 roku naley uy funkcji
DATA(2010;5;23). Miesic jest podawany w postaci liczby cakowitej z zakresu
od 1 (stycze) do 12 (grudzie).
MINUTA(liczba_seryjna) Zwraca minuty jako warto czasu. Liczba_seryjna reprezentuje czas, ktry
MINUTE moe by wprowadzany jako cig tekstowy w cudzysowie (na przykad "6:45
PM"), jako liczba w systemie dziesitnym (na przykad 0,78125, co reprezentuje czas

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


6:45 PM) lub jako wynik formuy. Minuta jest podawana jako liczba cakowita
z zakresu od 0 do 59.
ROK(liczba_seryjna) Zwraca rok odpowiadajcy liczbie_seryjnej daty. Daty powinny by wprowadzane
YEAR przy uyciu funkcji DATA lub jako wyniki formu. Na przykad dat 23 maja 2010
naley wprowadzi jako DATA(2010;5;23). Rok jest liczb cakowit z przedziau
od 1900 do 9999.
SEKUNDA(liczba_seryjna) Zwraca sekundy wartoci czasu reprezentowanego przez liczb_seryjn. Czas moe
SECOND by wprowadzany jako cig tekstowy w cudzysowie (na przykad "6:45 PM"),
jako liczba dziesitna (na przykad 0,78125, co reprezentuje czas 6:45 PM) lub jako
wynik formuy. Sekunda jest podawana jako liczba cakowita z zakresu od 0 do 59.
TERAZ() Zwraca liczb_seryjn biecej daty i godziny. Cz cakowita liczby_seryjnej
NOW reprezentuje dat, cz uamkowa godzin (czas). Jeli przed wprowadzeniem
funkcji komrka miaa format Oglny, to wynik zostanie sformatowany jako
data i czas (Niestandardowe).
Warto funkcji TERAZ zmienia si tylko wtedy, kiedy arkusz jest obliczany
lub gdy wykonywana jest makroinstrukcja zawierajca t funkcj. Warto ta
nie jest cigle aktualizowana.
*)
Funkcja niedostpna w VBA.
**)
Funkcja wchodzi w skad dodatku Analysis ToolPak. Od wersji 2007 jest zintegrowana z arkuszem i nie wymaga instalacji. Polska nazwa funkcji zostaa wprowadzona
w wersji Excela 2010, we wczeniejszych wersjach naley uywa nazwy jak w oryginale angielskim.
***)
Funkcja dodana w wersji 2007.
****)
Funkcja dodana w wersji 2010.
Excel w obliczeniach naukowych i inynierskich
Dodatek A
Literatura cytowana
i uzupeniajca
[1] Batuner .M., Pozin M.E., Matematieskije metody v chimieskoj technike,
Wydawnictwo Chimija, Leningrad 1971.
[2] Billo E. Joseph, Excel for Chemists: A Comprehensive Guide, J. Wiley & Sons,
New York 2001.
[3] Billo E. Joseph, Excel for Scientists and Engineers (Numerical Methods), Wiley
Interscience, Hoboken, New Jersey 2007.
[4] Bourg David M., Excel w nauce i technice. Receptury, Helion, Gliwice 2006.
[5] Felder Richard M., Rousseau Ronald W., Elementary Principles of Chemical
Processes, Third Edition, J. Wiley & Sons, New York 2000.
[6] Finlayson Bruce A., Introduction to Chemical Engineering Computing,
Wiley-Interscience, Hoboken, New Jersey 2006.
[7] Kisza Adolf, Elektrochemia I Jonika, WNT, Warszawa 2000.
[8] Liengme Bernard V., Microsoft Excel w nauce i technice, Wydawnictwo RM,
Warszawa 2002.
[9] Pilch Mariusz, wiczenia z Excel dla chemikw, Wydawnictwo MIKOM,
Warszawa 2001.
[10] Sandler Stanley I., Chemical and Engineering Thermodynamics, Third Edition,
J. Wiley & Sons, New York 1999.
[11] Simon Jinjer, Excel. Profesjonalna analiza i prezentacja danych, Helion,
Gliwice 2006.
[12] Smogur Zbigniew, Excel w zastosowaniach inynieryjnych, Helion, Gliwice 2008.
[13] Ufnalski Waldemar, Mdry Kazimierz, Excel dla chemikw i nie tylko, WNT,
Warszawa 2000.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


376 Excel w obliczeniach naukowych i inynierskich

[14] Walkenbach John, Excel 2007 PL. Programowanie w VBA. Vademecum


profesjonalisty, Helion, Gliwice 2010.
[15] Pliki pomocy wchodzce w skad pakietu Excel oraz dostpne na stronie
Microsoftu pod adresem http://office.microsoft.com/pl-pl/excel/default.aspx.

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz
####, 15 Application.Transpose, 302
#ADR!, 29, 35 Application.Version, 325
#ARG!, 24, 31, 138, 288, 313 Application.Volatile, 315
#DZIEL/0!, 24 ARG.LICZBY.ZESP, 251, 369
#LICZBA!, 24, 25 argumenty, 24, 284
#N/D!, 49, 56, 165, 346 argumenty operacji, 23
%, 23 argumenty wyrae tablicowych, 55
[#Dane], 59 arkusz kalkulacyjny, 7, 8
[#Nagwki], 59 arkusze, 13
[#Sumy], 59 Array, 304, 313
[#Ten wiersz], 59 As, 289, 290
[#Wszystko], 59 Asc, 293, 294
ASCII, 24, 269
ASIN, 348
A ASINH, 348
A1, 34, 296 ATAN, 348
Abs, 294 ATAN2, 348
ABS, 350 ATANH, 348
Activate, 297 Atn, 294
ActiveCell, 298 Autofiltr, 262, 265
AddIns, 286 Autoksztaty, 341
ADDRESS, 353 autouzupenianie formu, 25
ADR.POR, 35, 51, 102, 118, 125, 186, 353 AVEDEV, 358
ADRES, 34, 353 AVERAGE, 365
adresy komrek, 17 AVERAGEA, 365
adresy absolutne, 28 AVERAGEIF, 365
adresy bezwzgldne, 28 AVERAGEIFS, 365
adresy mieszane, 28, 30, 56 awaryjne wyjcie z ptli, 309
adresy wzgldne, 28, 30
adsorpcja par na staych adsorbentach, 204 B
AGGREGATE, 348
AGREGUJ, 276, 278, 348 BackColor, 337
aktywna komrka, 298 backslash, 38
algorytm Rungego-Kutty, 322 baza danych, 261
Alignment, 337 filtrowanie, 262
Analiza symulacji, 150 formularze, 261
Analysis Toolpak, 66 funkcje, 278
And, 293 funkcje podsumowa, 274
AND, 353 indeksy, 262
Application, 295, 298 operatory relacji, 266

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


378 Excel w obliczeniach naukowych i inynierskich

baza danych cakowanie numeryczne, 316


pola, 261 Caption, 337, 338, 341
rekordy, 261 Case Else, 308
sortowanie, 262 cecha, 14
zakres kryteriw, 266 CELL, 355
BD.ILE.REKORDW, 280, 368 Cells, 298, 299
BD.ILE.REKORDW.A, 368 Change, 345
BD.ILOCZYN, 369 CHAR, 293, 368
BD.MAX, 279, 369 Chart, 295
BD.MIN, 369 CheckBox, 331
BD.ODCH.STANDARD, 369 CHI.TEST, 365
BD.ODCH.STANDARD.POPUL, 369 CHIDIST, 360
BD.POLE, 274, 279, 369 CHIINV, 360
BD.SUMA, 369 CHISQ.DIST, 360
BD.REDNIA, 280, 369 CHISQ.DIST.RT, 360
BD.WARIANCJA, 369 CHISQ.INV, 360
BD.WARIANCJA.POPUL, 369 CHISQ.TEST, 365
BESSEL.I, 369 CHITEST, 365
BESSEL.J, 370 CHOOSE, 354
BESSEL.K, 370 Chr, 293, 294
BESSEL.Y, 370 cig funkcyjny, 122
BESSELI, 369 cig liczbowy, 121
BESSELJ, 370 cinienie osmotyczne roztworu, 183
BESSELK, 370 Clear, 297
BESSELY, 370 CODE, 293, 367
BETA.DIST, 360 COLUMN, 353
BETA.INV, 360 ColumnCount, 338
BETADIST, 360 ColumnHeads, 338
BETAINV, 360 COLUMNS, 353
BIN2DEC, 370 Columns.Count, 302
BIN2HEX, 370 ColumnWidths, 338
BIN2OCT, 370 COMBIN, 349
BINOM.DIST, 361 ComboBox, 331
BINOM.INV, 359, 361 CommandButton, 331
BINOMDIST, 361 COMPLEX, 137, 250, 251, 254, 371
Boolean, 290 CONCATENATE, 368
BorderColor, 337 CONFIDENCE, 366
BorderStyle, 337 CONFIDENCE.NORM, 366
BoundColumn, 338 CONFIDENCE.T, 366
BRAK, 354 CONVERT, 245, 247, 371
Breakpoints, 287 jednostki, 246
Button, 331 Copy, 321
Byte, 290 CORREL, 366
Cos, 294
COS, 348
C COS.LICZBY.ZESP, 256, 370
Call, 305 COSH, 349
Call Stack, 311 COUNT, 356
caki niewaciwe, 111 COUNTA, 356
obliczanie metod ekstrapolacji, 112 COUNTBLANK, 356
caki oznaczone, 97 COUNTIF, 356
obliczanie, 99 COUNTIFS, 357
obliczanie metod 3/8, 99 COVAR, 356
obliczanie metod kwadratur, 97 COVARIANCE.P, 356
obliczanie metod parabol, 98 COVARIANCE.S, 356
obliczanie metod Simpsona, 98 CRITBINOM, 359
obliczanie metod trapezw, 98 Currency, 290
CVErr, 305

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz 379

CZ.CAK.DZIELENIA, 349 DoLoop While, 310


CZ.RZECZ.LICZBY.ZESP, 250, 370 dodawanie kontrolek do arkusza, 330
CZ.UROJ.LICZBY.ZESP, 250, 370 Double, 290
CZAS, 373 DPRODUCT, 369
CZAS.WARTO, 373 DropButtonStyle, 340
czcionki, 298 DSTDEV, 369
CZSTO, 356 DSTDEVP, 369
cz rzeczywista, 250 DSUM, 369
cz urojona, 250 DVAR, 369
CZY.ADR, 354 DVARP, 369
CZY.B, 354 DWJK.NA.DZIES, 370
CZY.BD, 354 DWJK.NA.SM, 370
CZY.BRAK, 355 DWJK.NA.SZESN, 370
CZY.LICZBA, 355 dyfuzyjny transport wody, 234
CZY.LOGICZNA, 355 dynamiczne generowanie tablic o zadanym
CZY.NIE.TEKST, 355 rozmiarze, 50
CZY.NIEPARZYSTE, 355 dziaania arytmetyczne na liczbach zespolonych, 252
CZY.PARZYSTE, 355 DZIES.NA.DWJK, 370
CZY.PUSTA, 355 DZIES.NA.SM, 370
CZY.RWNE, 370 DZIES.NA.SZESN, 244, 371
CZY.TEKST, 355 DZI, 373

D E
dane, 13 E, 38
DATA, 373 edycja
DATA.WARTO, 373 komrki, 26
Date, 290 nazwy, 18
DATE, 373 Edytowanie nazwy, 20, 57
DATEVALUE, 373 ekstrapolacja rozwizania rwnania Laplacea, 232
DAVERAGE, 369 elektrolizer, 229
DCOUNT, 368 elektrotechnika, 257
DCOUNTA, 368 elementy tablicy, 37
Debug, 311 Else, 306, 307
DEC2BIN, 243, 370 ElseIf, 306, 307
DEC2HEX, 244, 371 End Function, 288
DEC2OCT, 370 End If, 306, 307
definiowanie End Select, 307, 308
funkcje, 302 End Sub, 284
nazwy, 20 Eqv, 293
tabele, 57 ERF, 371
Definiuj nazw, 18, 20, 25, 118 ERF.PRECISE, 371
DEGREES, 351 ERFC, 371
deklaracja ERFC.PRECISE, 371
tablice, 300 ERROR.TYPE, 355
zmienne, 289 Etykieta, 331, 333, 337
Delay, 339, 340 Evaluate, 315, 317
DELTA, 370 EXACT, 367
Design Mode, 311 Excel, 7, 11
DEVSQ, 357 Exit Do, 310
DGET, 369 Exit For, 309
Dim, 289, 290, 300 Exit Function, 305
D, 367 Exit Sub, 305
DMAX, 369 Exp, 294
DMIN, 369 EXP, 25, 106, 122, 349
Do UntilLoop, 309 EXP.LICZBY.ZESP, 255, 371
Do WhileLoop, 309 EXPON.DIST, 361
Do...Loop, 309 EXPONDIST, 361
DoLoop Until, 310

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


380 Excel w obliczeniach naukowych i inynierskich

F Formatuj jako tabel, 57


Formula, 296, 327
F.DIST, 361 FormulaLocal, 296, 327
F.DIST.RT, 361 FormulaR1C1, 296
F.INV, 362 FormulaR1C1Local, 296
F.INV.RT, 361 formularze, 261
F.TEST, 365 formuy, 16
FACT, 350 adresy komrek, 17
FACTDOUBLE, 350 autouzupenianie formu, 25
FASZ, 14, 23 funkcje, 24
FDIST, 361 nazwy, 21
Filtr, 265 obliczanie, 15
Filtr zaawansowany, 262, 269 odwoania, 18
filtrowanie, 262 operatory, 21
Find, 297 pierwszestwo dziaa, 22
FIND, 368 tryb wywietlania, 16
FINV, 361 wprowadzanie adresu, 17
FISHER, 362 wynik oblicze, 16
FISHERINV, 362 wywietlanie tekstw formu w arkuszu, 327
FIXED, 368 zmiana kolejnoci wykonywania operacji, 25
folder AddIns, 286 formuy nazwane, 8, 29
Font, 298, 337 argumenty wyrae tablicowych, 55
For Each ... Next, 309, 313 formuy tablicowe, 16, 41
For...Next, 308 edycja, 42
FORECAST, 360 kopiowanie, 43
ForeColor, 337 nazwy, 43
formanty, 329, 344 poszerzanie obszaru, 42
dodawanie formantw do arkusza, 330 tabele, 62
makroinstrukcje, 332, 343 wprowadzanie, 42
nazwy, 332 FRAGMENT.TEKSTU, 367
waciwoci, 332 FREQUENCY, 356
zdarzenia, 330 FTEST, 365
formanty ActiveX, 330, 331, 336 Function, 283, 284, 288
Etykieta, 337 funkcja autouzupeniania formu, 61
Obraz, 340 funkcja podcakowa opisana wzorem, 116
Pasek przewijania, 339 funkcja podcakowa w postaci zbioru punktw
Pole kombi, 340 pomiarowych, 117
Pole listy, 338 FUNKCJA.B, 371
Pole tekstowe, 339 FUNKCJA.B.DOK, 371
Pole wyboru, 337 funkcje, 17
Przycisk opcji, 338 argumenty, 24
Przycisk pokrta, 339 Array, 313
Przycisk polecenia, 337 funkcje agregujce, 274
Przycisk przecznika, 341 funkcje bazodanowe, 278, 368
waciwoci, 336 funkcje daty i czasu, 373
formanty formularza, 330, 331, 333 funkcje dwu zmiennych, 69
Etykieta, 333 funkcje informacyjne, 354
Pasek przewijania, 335 funkcje inynierskie, 369
Pokrto, 334 funkcje jednej zmiennej, 65
Pole grupy, 335 funkcje jednej zmiennej okrelone w sposb
Pole kombi, 335 niejawny (uwikany), 68
Pole listy, 334 funkcje logiczne, 352
Pole wyboru, 333 funkcje matematyczne, 348
Przycisk, 333 funkcje odwoa, 354
Przycisk opcji, 334 funkcje operujce na liczbach zespolonych, 249
Format, 294 funkcje podsumowa, 274
format wywietlania liczb zespolonych, 256 funkcje statystyczne, 356, 358
Formatuj formant, 332 funkcje tekstowe, 367

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz 381

funkcje wyszukiwania, 354 HEX2DEC, 373


konwencje zapisu, 25 HEX2OCT, 373
parametry, 284 HLOOKUP, 354
wywoanie, 24 HOUR, 373
zagniedanie funkcji, 24 HYPGEOM.DIST, 362
funkcje definiowane przez uytkownika, 302 HYPGEOMDIST, 362
funkcje podobne do funkcji standardowych, 323
parametry, 303
sterowanie wykonaniem kodu, 305
I
typ wyniku, 303 If, 306, 307
zakoczenie wykonywania, 305 IF, 352
zmienna liczba argumentw, 303 IFERROR, 352
funkcje VBA, 283, 284, 288, 294 ILE.LICZB, 117, 356
Array, 304 ILE.NIEPUSTYCH, 356
Asc, 293 ILE.WIERSZY, 345, 353
Chr, 293 ILOCZYN, 349
CVErr, 305 iloczyn macierzowy, 41
IsArray, 324 ILOCZYN.LICZB.ZESP, 254
IsObject, 324 ILORAZ.LICZB.ZESP, 371
LBound, 301 IMABS, 251, 372
Log, 293 Image, 331
metody, 295 IMAGINARY, 250, 370
nazwy, 287 IMARGUMENT, 369
Sqr, 288, 293 IMCONJUGATE, 250, 372
stosowanie w Excelu, 314 IMCOS, 256, 370
Ubound, 301 IMDIV, 253, 371
Val, 314 IMEXP, 371
waciwoci, 295 IMLN, 255, 371
wywoanie rekurencyjne, 284 IMLOG10, 255, 371
IMLOG2, 255, 372
G Immediate Window, 311
Imp, 293
GAMMA.DIST, 362 IMPOWER, 254, 372
GAMMA.INV, 362 IMPRODUCT, 253, 254, 371
GAMMADIST, 362 IMREAL, 250, 370
GAMMAINV, 362 IMSIN, 256, 372
GAMMALN, 362 IMSQRT, 254, 372
GAMMALN.PRECISE, 363 IMSUB, 253, 372
GCD, 350 IMSUM, 253, 373
generowanie planu eksperymentu czynnikowego INDEKS, 32, 44, 50, 54, 62, 96, 103, 166, 271, 353
typu 2k, 52 indeksy, 262
GEOMIN, 365 INDEX, 353
GESTEP, 372 INDIRECT, 353
GoalSeek, 297, 318 INFO, 355
GODZINA, 373 InputBox, 321
grna granica cakowania, 115 Inspekcja formu, 15
graficzna prezentacja danych, 75 instrukcja przypisania, 291
graficzne elementy sterujce, 329 instrukcja wyboru, 305
graficzne szacowanie pierwiastkw rwnania, 139 instrukcje warunkowe, 305
GroupBox, 331 Int, 294
GroupName, 338 INT, 352
GROWTH, 359 Integer, 290
INTERCEPT, 358
interpolacja, 163
H interpolacja kubiczna, 170
HARMEAN, 365 funkcje dwu zmiennych, 174
Height, 337, 344 interpolacja liniowa, 166
HEX2BIN, 373 funkcje dwu zmiennych, 171

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


382 Excel w obliczeniach naukowych i inynierskich

interpretacja adresw, 29 konwersja tablicy dwuwymiarowej


interpretacja geometryczna, 97 w jednowymiarow, 320
liczby zespolone, 251 konwersja zakresu na tabel, 63
interpretacja nazw, 29 KONWERTUJ, 245, 247, 371
Is, 292, 308 jednostki, 246
IsArray, 294, 324 Konwertuj na zakres, 63
IsDate, 294 kopiowanie
IsEmpty, 294 formuy tablicowe, 43
ISEMPTY, 355 komrki, 27
ISERR, 354 odwoania strukturalne, 62
IsError, 294 zawarto komrek, 26
ISERROR, 354 Kopiuj, 27
ISEVEN, 355 korelacja liniowa, 200, 201
ISLOGICAL, 355 korelacja nieliniowa, 200
IsMissing, 294 Solver, 203
ISNA, 355 KOWARIANCJA, 356
ISNONTEXT, 355 KOWARIANCJA.POPUL, 356
IsNull, 294 KOWARIANCJA.PRBKI, 356
ISNUMBER, 355 kryterium statystyczne Fishera, 180
IsNumeric, 294 kryterium statystyczne t Studenta, 180
IsObject, 294, 324 krzywa logistyczna, 194
ISODD, 355 krzywa miareczkowania kwasowo-zasadowego, 92
ISREF, 354 krzywe Lissajous, 85
ISTEXT, 355 KURT, 356
izoterma Langmuira, 185, 204 KURTOZA, 356
kwadrat wspczynnika korelacji R2, 79
kwalifikowane odwoania do zakresu, 18
J KWARTYL, 356
jednostka urojona, 250 KWARTYL.PRZEDZ.OTW, 278, 356
jednostki miar, 245 KWARTYL.PRZEDZ.ZAMK, 278, 356
JEELI, 52, 85, 136, 137, 352
JEELI.BD, 352 L
jzyk VBA, 8, 281
L, 355
Label, 331
K LARGE, 357
KOD, 269, 367 LargeChange, 340
kod ASCII, 24, 269 LBound, 294, 301, 302
kod VBA, 287 LCM, 350
kolejno dziaa, 23 Left, 337
kolumny, 13, 31 LEFT, 367
KOMBINACJE, 349 LEN, 367
komentarze VBA, 310 LEWY, 34, 367
KOMRKA, 326, 355 LICZ.JEELI, 356
komrki, 13 LICZ.PUSTE, 356
KOMP.FUNKCJA.B, 371 LICZ.WARUNKI, 357
KOMP.FUNKCJA.B.DOK, 371 LICZBA, 314
komunikaty o bdzie, 24, 305 liczba sprzona, 250
kontrolki ekranowe, 329 liczba stopni swobody, 179
konwencja zapisu funkcji, 25 LICZBA.CAK, 349
konwersja jednostek miar, 245 LICZBA.KOLUMN, 353
CONVERT, 246 LICZBA.ZESP, 137, 250, 251, 254, 371
konwersja jednostek zoonych, 247 liczby, 14
KONWERTUJ, 246 formaty, 14
konwersja liczb, 243 Liczbowy, 14
Analysis Toolpak, 243 liczby bez znaku, 15
liczby szesnastkowe, 244 liczby dziesitne, 14
konwersja tabeli na zakres, 63 liczby szesnastkowe, 244

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz 383

Naukowy, 14 L
Procentowy, 14
Uamkowy, 14 cze komrki, 334
zapis naukowy, 14 czenie tablic, 48
liczby zespolone, 137, 249, 250
argument, 251
cz rzeczywista, 250
M
cz urojona, 250 macierz jednostkowa, 38
dziaania arytmetyczne, 252 generowanie, 52
format wywietlania, 256 macierz kwadratowa, 37
funkcje elementarne z argumentem elementy diagonalne, 37
zespolonym, 255 gwna przektna, 37
funkcje operujce na liczbach zespolonych, 250 MACIERZ.ILOCZYN, 41, 132, 349
funkcje trygonometryczne, 255 MACIERZ.ODW, 41, 132, 349
interpretacja geometryczna, 251 macierze, 37
jednostka urojona, 250 elementy, 37
logarytm zespolony, 255 macierz diagonalna, 38
modu, 251 macierz odwrotna, 41, 132
pierwiastkowanie, 253 macierz symetryczna, 38
posta trygonometryczna, 251 mnoenie skalarne, 40
posta wykadnicza, 252 transpozycja, 41
potgowanie, 253 ukad rwna liniowych, 131
rwno liczb zespolonych, 252 wektor, 37
stosowanie w elektrotechnice, 257 wyznacznik, 38, 41
warto gwna logarytmu, 255 makra, 282, 283
wzr Eulera, 252 skoroszyt makr osobistych, 286
Like, 292 Makra, 286
LINEST, 360 makroinstrukcje, 282
linia trendu, 78 makropolecenia, 282, 283
LinkedCell, 337, 338, 339, 341, 345 nazwy, 287
ListBox, 331 przypisanie do formantw, 343
ListFillRange, 338 rejestracja, 284
ListStyle, 338, 340 testowanie, 310
ListWidth, 340 uruchamianie, 283, 286, 310
listy, 261 Maksymalna liczba iteracji, 86
literay tablicowe, 38 Maksymalna zmiana, 86
LN, 123, 349 mantysa, 14
LN.LICZBY.ZESP, 255, 371 MATCH, 353
Locals, 311 MatchEntry, 340
Locals Window, 311 MatchRequired, 340
Log, 293, 294 Max, 339
LOG, 349 MAX, 146, 357
LOG10, 349 MAX.A, 357
LOG10.LICZBY.ZESP, 255, 371 MAX.K, 278, 357
LOG2.LICZBY.ZESP, 255, 372 MAXA, 357
logarytm zespolony, 255 MaxChange, 319
LOGEST, 359 MaxLength, 339, 340
LOGINV, 363 MDETERM, 352
LOGNORM.DIST, 363 MEDIAN, 357
LOGNORM.INV, 363 MEDIANA, 357
LOGNORMDIST, 363 Meneder nazw, 19, 20, 21, 30
Long, 290, 339 methods, 295
LOOKUP, 354 metoda 3/8, 99
Loop, 310 metoda ekstrapolacji, 112
LOS, 349 metoda Eulera, 208
LOS.ZAKR, 349 modyfikacje, 213
Lotus 1-2-3, 36 metoda GoalSeek, 318
LUB, 267, 269, 352 metoda iteracji prostej, 140

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


384 Excel w obliczeniach naukowych i inynierskich

metoda kwadratur, 98 NAJMN.WSP.WIEL, 350


metoda nadrelaksacji, 230 najmniejsza suma kwadratw, 78
metoda Newtona, 115, 145 NAJW.WSP.DZIEL, 350
metoda Newtona-Raphsona, 160 Name, 337
metoda parabol, 98, 99 Narzdzia tabel/Projektowanie, 57
metoda prostoktw, 98, 99 Naukowy, 14
metoda rnic skoczonych, 224, 228 nawiasy klamrowe, 38, 42
metoda Rungego-Kutty, 217, 322 nawiasy okrge, 25
metoda siatek, 228 nazwy, 18, 29, 43, 287
metoda siecznych, 143, 147 definiowanie, 20
przyspieszenie zbienoci, 144 nadawanie, 19
metoda Simpsona, 98, 101 nazwy kwalifikowane, 19
metoda strzaw, 221 stosowanie, 32
metoda stycznych, 145 nazwy formu, 21
zmodyfikowana metoda stycznych, 146 nazwy tabel, 19
metoda trapezw, 98, 99 nazwy tablic, 39
metody, 295, 297 Nazwy zdefiniowane, 21
metody analitycznego rozwizywania rwna negacja, 23
rniczkowych, 207 NEGBINOM.DIST, 361
Microsoft Excel, 7 NEGBINOMDIST, 361
Microsoft Office, 11 Next, 308, 309
MID, 367 NIE, 353
MIESIC, 374 nieudokumentowane formanty pola tekstowego, 341
Min, 339 NORM.DIST, 363
MIN, 357 NORM.INV, 363
MIN.A, 357 NORM.S.DIST, 363
MIN.K, 278, 357 NORM.S.INV, 363
MINA, 357 NORMALIZUJ, 357
minimalna suma kwadratw, 177, 193 NORMDIST, 363
minimum, 155 NORMINV, 363
MINUTA, 374 NORMSDIST, 363
MINUTE, 374 NORMSINV, 363
MINVERSE, 349 Not, 293
MMULT, 349 NOT, 353
mnoenie macierzy, 41 NOW, 374
MOD, 190, 349 Nowe makro, 284
MODE, 367 NR.BDU, 355
MODE.MULT, 367 NR.KOLUMNY, 33, 51, 353
MODE.SNGL, 367 NumberFormat, 296
modu liczby zespolonej, 251 numeryczne obliczanie pochodnej funkcji danej
MODU.LICZBY, 23, 123, 124, 137, 138, 350 wzorem, 91
MODU.LICZBY.ZESP, 251, 372 numeryczne rniczkowanie danych pomiarowych, 92
moduy, 285
MONTH, 374
MROUND, 352
O
MultiLine, 339 obiekty, 295
MULTINOMIAL, 352 Application, 298
MultiSelect, 338, 340 Range, 295
waciwoci, 295
N Object, 290
objects, 295
N, 355 OBLICZ, 109
NA, 354 obliczanie caek niewaciwych, 111
NACHYLENIE, 181, 202, 357 metoda ekstrapolacji, 112
nadawanie nazw, 19 obliczanie caek oznaczonych, 97, 99, 121
nadawanie wartoci zmiennym, 291 iteracje, 108
nadrelaksacja, 230 metoda kwadratur, 97
metody, 97, 99

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz 385

odwoania cykliczne, 108 okno oblicze bezporednich, 311


operacje tablicowe, 102 okno podgldu zmiennych, 311
szereg potgowy, 121 okno zmiennych lokalnych, 311
obliczanie grnej granicy cakowania, 115 Opcje obliczania, 85
funkcja podcakowa opisana wzorem, 116 operacje na komrkach sformatowanych w okrelony
funkcja podcakowa w postaci zbioru punktw sposb, 326
pomiarowych, 117 operacje tablicowe, 38, 102
metoda Newtona, 116 operatory, 21
Solver, 116 %, 23
obliczenia, 16 operatory arytmetyczne, 23
obliczanie pierwiastkw rwnania operatory odwoania, 59
kwadratowego, 313 operatory relacji, 23
obliczanie sum szeregw, 123 pierwszestwo dziaa, 22
obliczanie wartoci wielomianu, 312 VBA, 292
obliczenia czstkowe wielkoci molowych, 94 Option Base, 300, 303
obliczenia iteracyjne, 127 Option Explicit, 291
iteracje, 109 Optional, 303
obracanie wykresu, 83 OptionButton, 331
Obraz, 331, 340 Or, 293
Obrt 3-W, 83 OR, 352
obsuga zdarze, 345 ORAZ, 267, 353
obszary, 17, 37 Orientation, 339
obwody elektryczne prdu zmiennego, 257 osadzanie w arkuszu plikw graficznych, 340
OCT2BIN, 372 OSAD, 342
OCT2DEC, 243, 372
OCT2HEX, 372
ODCH.KWADRATOWE, 357

ODCH.STAND.POPUL, 357 SM.NA.DWJK, 372
ODCH.STANDARD.POPUL, 357 SM.NA.DZIES, 372
ODCH.STANDARD.PRBKI, 358 SM.NA.SZESN, 372
ODCH.STANDARDOWE, 358
ODCH.STANDARDOWE.A, 358
ODCH.REDNIE, 358 P
ODCITA, 181, 358 ParamArray, 303
odczytywanie adresw, 33 parametry, 284, 303
odwoania, 18, 29, 34 parametry opcjonalne, 303
odwoania do elementw tablic, 44
pasek narzdzi Debug, 311
odwoania do fragmentw tablic, 44
Pasek przewijania, 331, 335, 339
odwoania cykliczne, 8, 109, 230
PasswordChar, 339
obliczanie caek oznaczonych, 108 PEARSON, 358
rozwizywanie rwna nieliniowych, 148 PERCENTILE, 358
odwoania strukturalne, 57, 58 PERCENTILE.EXC, 358
czytelno, 62 PERCENTILE.INC, 358
funkcja autouzupeniania formu, 61 PERCENTRANK, 359
kopiowanie, 62 PERCENTRANK.EXC, 359
odwoania do wybranych elementw, 62 PERCENTRANK.INC, 359
odwoania strukturalne kwalifikowane, 59
PERCENTYL, 358
odwoania strukturalne niekwalifikowane, 59
PERCENTYL.PRZEDZ.OTW, 278, 358
przenoszenie, 62
PERCENTYL.PRZEDZ.ZAMK, 278, 358
skadnia, 58
PERMUT, 358
stosowanie, 60 PERMUTACJE, 358
wypenianie, 62 Personal.xls, 286
zewntrzne odwoania strukturalne, 61 ptle, 308
odzyskiwanie danych z tabeli lub listy, 270 Do...Loop, 309
Offset, 299, 316 For Each ... Next, 309
OFFSET, 353 For...Next, 308
oglne rozwizania rwnania rniczkowego, 207
wyjcie awaryjne z ptli, 309
Oglny, 14, 15

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


386 Excel w obliczeniach naukowych i inynierskich

PI, 24, 350 Properties, 336


Picture, 337, 338, 340, 341 ProportionalThumb, 340
PictureAlignment, 340 PRG.ROZKAD.DWUM, 359
PicturePosition, 337, 338, 341 przechowywanie makropolece, 286
PictureSizeMode, 340 przecignij i upu, 27
PictureTiling, 341 Przegldarka Projektw, 285
PIERW.PI, 324, 350 przenoszenie
PIERWIASTEK, 82, 137, 157, 293, 350 formuy, 29
PIERWIASTEK.LICZBY.ZESP, 254, 372 komrki, 28
pierwiastki rwnania kwadratowego, 313 odwoania strukturalne, 62
pierwszestwo dziaa, 22 PRZESUNICIE, 47, 62, 118, 168, 345, 353
plan cakowitego eksperymentu czynnikowego, 53 przesuwanie zawartoci komrek, 26
pochodna, 89 przeszukiwanie tablic, 163
PODAJ.POZYCJ, 126, 165, 167, 168, 271, 272, 353 przewodnictwo molowe, 184
podprogramy, 282, 283, 284 Przybornik formantw, 331
PODSTAW, 34, 109, 367 Przycisk, 331, 333
POISSON, 364 Przycisk opcji, 331, 334, 338
POISSON.DIST, 364 Przycisk pokrta, 331, 339
Poka formuy, 15 Przycisk polecenia, 283, 331, 337
Pokrto, 331, 334 Przycisk przecznika, 331, 341
pola, 261 Przypisz makro, 343
Pole grupy, 331, 335 puapki programowe, 287, 311
Pole kombi, 331, 335, 340 punkt przegicia, 90
Pole listy, 331, 334, 338
Pole nazwy, 19
pole skalarne, 228
Q
Pole tekstowe, 331, 339 QUARTILE, 356
pole trjkta, 288 QUARTILE.EXC, 356
Pole wyboru, 331, 333, 337 QUARTILE.INC, 356
PORWNAJ, 269, 367 Quick Watch, 311
porwnywanie QUOTIENT, 349
teksty, 24
wartoci logiczne, 24
posta trygonometryczna liczby zespolonej, 251 R
poszukiwanie minimum, 155 R.KWADRAT, 181, 359
POTGA, 350 R1C1, 17
POTGA.LICZBY.ZESP, 254, 372
RADIANS, 350
POWER, 350
RADIANY, 350
POWT, 367
RAND, 349
POZYCJA, 358 RANDBETWEEN, 349
POZYCJA.NAJW, 358 Range, 295, 296, 297, 301, 303
POZYCJA.R, 359 Count, 296
PRAWDA, 14, 23 Formula, 296
PRAWDPD, 359 NumberFormat, 296
prawo Ficka, 234 Select, 298
prawo rozciecze Ostwalda, 199 Value, 296
PRAWY, 367
RANK, 358
predefiniowane specyfikatory wierszy, 59
RANK.AVG, 359
Preserve, 301
RANK.EQ, 358
PROB, 359
ReDim, 301
PROC.POZ.PRZEDZ.OTW, 359 REGBSTD, 359
PROC.POZ.PRZEDZ.ZAMK, 359 REGEXPP, 94, 359
procedura obsugi zdarzenia, 345 REGEXPW, 359
PROCENT.POZYCJA, 359 REGLINP, 94, 96, 170, 175, 176, 181, 182, 183,
Procentowy, 14 202, 360
procesy transportu masy lub ciepa, 234 REGLINW, 169, 170, 173, 176, 188, 191, 360
PRODUCT, 349
REGLINX, 167, 169, 188, 360
properties, 295

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz 387

regresja, 78 ROZK.T.DS, 364


regresja quasi-liniowa, 193 ROZK.T.ODWR, 364
regresja wielokrotna, 187 ROZK.T.ODWR.DS, 364
regresja liniowa, 177, 181 ROZK.T.PS, 364
funkcja liniowa jednej zmiennej, 181 ROZK.WEIBULL, 364
funkcje dwu zmiennych, 188 ROZKAD.BETA, 360
NACHYLENIE, 181 ROZKAD.BETA.ODW, 360
ocena statystyczna jakoci dopasowania ROZKAD.CHI, 360
rwnania regresji, 179 ROZKAD.CHI.ODW, 360
ODCITA, 181 ROZKAD.DWUM, 361
R.KWADRAT, 181 ROZKAD.DWUM.PRZEC, 361
zastosowanie, 177 ROZKAD.EXP, 361
regresja nieliniowa, 193 ROZKAD.F, 361
ocena statystyczna jakoci dopasowania ROZKAD.F.ODW, 361
rwnania regresji, 195 ROZKAD.FISHER, 362
Solver, 194, 196 ROZKAD.FISHER.ODW, 362
zasada minimalnej sumy kwadratw, 193 ROZKAD.GAMMA, 362
zastosowanie, 193 ROZKAD.GAMMA.ODW, 362
regula falsi, 143, 147 ROZKAD.HIPERGEOM, 362
Rejestrator Makropolece, 284 ROZKAD.LIN.GAMMA, 113, 362
rejestrowanie makropolece, 284 ROZKAD.LIN.GAMMA.DOK, 363
rekordy, 261 ROZKAD.LOG, 363
relacje, 23 ROZKAD.LOG.ODW, 363
REPLACE, 368 ROZKAD.NORMALNY, 363
REPT, 367 ROZKAD.NORMALNY.ODW, 363
RIGHT, 367 ROZKAD.NORMALNY.S, 363
Rnd, 294 ROZKAD.NORMALNY.S.ODW, 363
ROK, 374 ROZKAD.POISSON, 364
ROUND, 352 ROZKAD.T, 364
ROUNDDOWN, 352 ROZKAD.T.ODW, 364
ROUNDUP, 352 ROZKAD.WEIBULL, 364
ROW, 354 rozmiar tablicy, 302
ROWS, 353 rozwizywanie rwna nieliniowych, 135
Rows.Count, 302 graficzne szacowanie pierwiastkw, 139
ROZK.BETA, 360 metoda GoalSeek, 318
ROZK.BETA.ODWR, 360 metoda iteracji prostej, 140
ROZK.CHI, 360 metoda Newtona, 145
ROZK.CHI.ODWR, 360 metoda siecznych, 143, 147
ROZK.CHI.PS, 360 metoda stycznych, 145
ROZK.DWUM, 361 odwoania cykliczne, 148
ROZK.DWUM.ODWR, 359, 361 przyspieszenie zbienoci metody siecznych, 144
ROZK.DWUM.PRZEC, 361 regula falsi, 143
ROZK.EXP, 361 Solver, 149, 151
ROZK.F, 361 Szukaj wyniku, 149
ROZK.F.ODWR, 362 wyrnik, 135
ROZK.F.ODWR.PS, 361 zmodyfikowana metoda stycznych, 146
ROZK.F.PS, 361 rozwizywanie rwna rniczkowych
ROZK.GAMMA, 362 czstkowych, 228
ROZK.GAMMA.ODWR, 362 rozwizywanie rwna rniczkowych metod
ROZK.HIPERGEOM, 362 Rungego-Kutty, 217, 322
ROZK.LOG, 363 rozwizywanie ukadu rwna liniowych, 41, 132
ROZK.LOG.ODWR, 363 Solver, 133
ROZK.NORMALNY, 363 rozwizywanie ukadu rwna nieliniowych, 156
ROZK.NORMALNY.ODWR, 363 metoda minimalizacji sumy kwadratw, 154
ROZK.NORMALNY.S, 363 metoda Newtona-Raphsona, 160
ROZK.NORMALNY.S.ODWR, 363 zmienna pomocnicza, 157
ROZK.POISSON, 364 rozwizywanie zagadnienia pocztkowego
ROZK.T, 364 metod Eulera, 208

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


388 Excel w obliczeniach naukowych i inynierskich

rwnania kwadratowe, 135 S


pierwiastki, 313
rwnania nieliniowe, 135 schemat Hornera, 312
rwnania rniczkowe, 207 schemat jawny, 236
dokadno rozwizania, 217 schemat niejawny Cranka-Nicolsona, 237
metoda Rungego-Kutty, 322 ScrollBar, 331
metody analitycznego rozwizywania ScrollBars, 339, 340
rwna rniczkowych, 207 SEARCH, 367
rzd rwnania, 207 SECOND, 374
warunki brzegowe, 207 SEKUNDA, 374
warunki pocztkowe, 207 Select, 297, 298
zagadnienie pocztkowe, 208 Select Case, 307
rwnania rniczkowe czstkowe, 227 Selection, 298, 321
metoda nadrelaksacji, 230 SERIESSUM, 126, 351
metoda rnic skoczonych, 228 Set, 300
metoda siatek, 228 ShowDropButtonWhen, 340
metody numeryczne oparte na schematach SIGN, 352
rnicowych, 236 SILNIA, 25, 112, 124, 350
rwnania eliptyczne, 228 SILNIA.DWUKR, 350
rwnania hiperboliczne, 228 Sin, 294
rwnania mieszane, 227 SIN, 350
rwnania paraboliczne, 228, 234 SIN.LICZBY.ZESP, 256, 372
schemat jawny, 236 Single, 290
schemat niejawny Cranka-Nicolsona, 237 SINH, 350
rwnania rniczkowe zwyczajne, 207 skalarne mnoenie macierzy, 40
dokadno metod cakowania rwna SKEW, 365
rniczkowych, 219 skadnia odwoa strukturalnych, 58
dopasowanie warunku brzegowego, 221 skadniki szeregu, 121
metoda rnic skoczonych, 224 skoroszyt, 13
metoda Rungego-Kutty, 217 arkusze, 13
metoda strzaw, 221 skoroszyt makr osobistych, 286
modyfikacje metody Eulera, 213 SKONO, 365
rozwizywanie zagadnienia pocztkowego SLOPE, 357
metod Eulera, 208 SMALL, 357
zagadnienie brzegowe, 220 SmallChange, 339
rwnanie izotermy Langmuira, 185, 204 Solver, 115, 150, 158
rwnanie kinetyki chemicznej, 208 korelacja nieliniowa, 203
rwnanie Laplacea, 228 regresja nieliniowa, 196
rwnanie van der Waalsa, 84 rozwizywanie rwna nieliniowych, 149, 151, 159
rwno liczb zespolonych, 252 rozwizywanie ukadu rwna liniowych, 133
RN.LICZB.ZESP, 372 sortowanie, 262
rniczkowanie numeryczne, 89 SpinButton, 331
aproksymacje, 90, 93 Spinner, 331
bezporednie oszacowanie wartoci pochodnych sposb wywietlania danych, 15
na podstawie danych pomiarowych, 92 SPRAWD.PRG, 372
dane pomiarowe, 92 SPRZ.LICZBY.ZESP, 250, 372
funkcje aproksymujce, 93 Sqr, 288, 294
obliczanie pochodnej funkcji danej wzorem, 91 SQRT, 293, 350
pochodna, 89 SQRTPI, 324, 350
pochodne drugiego i wyszych rzdw, 90 staa dysocjacji Kc kwasu azotowego w metanolu, 199
punkt przegicia, 90 stae liczbowe, 14, 16
punkty krytyczne, 90 stae logiczne, 14, 16
rnice centralne, 90 stae tablicowe, 17, 30, 38
rnice przednie, 90 stae tekstowe, 17
rnice wsteczne, 90 STANDARDIZE, 357
szereg Taylora, 91 STDEV, 358
RSQ, 359 STDEV.P, 357
rzd rwnania rniczkowego, 207 STDEV.S, 358

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz 389

STDEVA, 358 SZESN.NA.DWJK, 373


STDEVP, 357 SZESN.NA.DZIES, 244, 373
Step, 308 SZESN.NA.SM, 373
Step Into, 311 Szukaj wyniku, 115, 116, 150, 158
Step Out, 311 rozwizywanie rwna nieliniowych, 149
Step Over, 311 SZUKAJ.TEKST, 367
sterowanie wykonaniem kodu, 305
STEYX, 359
STOPNIE, 82, 351

stos wywoa procedur, 311 redni bd wartoci, 179, 195
Str, 294 REDNIA, 29, 365
String, 290 REDNIA.A, 365
struktura tabeli, 58 REDNIA.GEOMETRYCZNA, 365
styl A1, 34, 296 REDNIA.HARMONICZNA, 365
styl adresowania komrek, 17 REDNIA.JEELI, 365
styl R1C1, 17 REDNIA.WARUNKW, 365
styl W1K1, 17, 34, 296 REDNIA.WEWN, 365
Style, 340 rednik, 24, 38
Sub, 283, 284
SUBSTITUTE, 367
SUBTOTAL, 351 T
SUM, 351 T, 368
SUMA, 24, 43, 54, 138, 351 T.DIST, 364
suma regresyjna, 180, 182 T.DIST.2T, 364
suma resztkowa, 179 T.DIST.RT, 364
suma szeregw, 123
T.INV, 364
SUMA.ILOCZYNW, 56, 172, 351
T.INV.2T, 364
SUMA.JEELI, 351
T.TEST, 365
SUMA.KWADRATW, 55, 133, 351
Tabela, 67
SUMA.LICZB.ZESP, 373 Tabela danych, 67
SUMA.SZER.POT, 351 tabele, 19, 57, 215, 261
SUMA.WARUNKW, 351 definiowanie, 57
SUMA.X2.M.Y2, 351 dodawanie kolumn i wierszy, 61
SUMA.X2.P.Y2, 351 elementy skadowe, 58
SUMA.XMY.2, 198, 351 formuy tablicowe, 62
SUMA_KOLOR, 326 INDEKS, 62
SUMIF, 351
czenie specyfikatorw kolumn, 59
SUMIFS, 351
odwoania strukturalne, 57, 58
SUMPRODUCT, 351
operatory odwoania, 59
SUMSQ, 351 predefiniowane specyfikatory wierszy, 59
SUMX2MY2, 351 PRZESUNICIE, 62
SUMX2PY2, 351 ukrywanie nagwkw kolumn, 61
SUMXMY2, 351 usuwanie kolumn i wierszy, 61
SUMY.CZCIOWE, 274, 275, 351 wstawianie, 57
SUMY.POREDNIE, 274, 275, 351 zmiana nazwy tabeli, 61
system dwjkowy, 243 tablice, 37, 300
system liczbowy, 243
adresy skrajnych komrek, 38
system semkowy, 243
deklaracja, 300
system pozycyjny, 243
dynamiczne generowanie tablic o zadanym
system szesnastkowy, 243
rozmiarze, 50
szczeglne rozwizania rwnania rniczkowego, 207 elementy, 37
szereg funkcyjny, 122 indeks pocztkowy, 300
szereg geometryczny, 121 konwersja tablicy dwuwymiarowej
szereg liczbowy, 121 w jednowymiarow, 320
szereg Maclaurina, 122 czenie tablic, 48
szereg naprzemienny, 122 nazwy, 38, 39
szereg potgowy, 121, 122, 126
odwoania do elementw, 44
szereg Taylora, 91, 122
odwoania do pocztkowych elementw, 48

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


390 Excel w obliczeniach naukowych i inynierskich

tablice tablice mieszane, 48


operacje, 38, 39 wykresy punktowe, 77
rozmiar tablicy, 301, 302 TYP, 355
separatory, 38 TYPE, 355
tablice wielowymiarowe, 300 typy danych, 13
transpozycja, 41 VBA, 290
wprowadzanie, 38
zakres indeksw, 301
tablice dynamiczne, 52
U
stosowanie, 54 UBound, 294, 301, 302
tablice funkcji dwu zmiennych, 69 UFNO, 366
tablice funkcji jednej zmiennej, 65, 163 UFNO.NORM, 366
przeszukiwanie, 163 UFNO.T, 366
tablice funkcji jednej zmiennej okrelonej ukad rwna liniowych, 41, 131
w sposb niejawny (uwikany), 68 macierze, 131
tablice mieszane, 48 rozwizanie, 131, 132
Tan, 294 zapis ukadu rwna, 131
TAN, 351 ukad rwna nieliniowych, 153
TANH, 351 metoda minimalizacji sumy kwadratw, 154
TDIST, 364 metoda Newtona-Raphsona, 160
tekst, 15 minimum, 155
TEKST, 368 rozwizanie, 156
Tekstowy, 15 Solver, 159
TERAZ, 374 ukad zoony z dwu rwna, 153
TEST.CHI, 365 ukad zoony z trzech i wicej rwna, 159
TEST.F, 365 ukoniki, 14
TEST.T, 365 ukoniki wsteczne, 38
TEST.Z, 366 ukrywanie nagwkw kolumn, 61
testowanie makropolece, 310 uamki algebraiczne, 26
TEXT, 368 Uamkowy, 14
TextAlign, 337, 339, 341 Union, 297
TextBox, 331 uruchamianie makropolece, 283, 286, 310
Then, 306, 307 usuwanie nazwy, 18
TIME, 373 Utwrz z zaznaczenia, 19, 20
TIMEVALUE, 373
TINV, 364
To, 308 V
TODAY, 373
Val, 314, 325
Toggle Breakpoint, 311
Value, 295, 339, 341
ToggleButton, 331 VALUE, 368
Top, 337 VAR, 366
TRANSPONUJ, 41, 52, 353 VAR.P, 366
transport masy lub ciepa, 234 VAR.S, 366
TRANSPOSE, 353 VARA, 366
transpozycja macierzy, 41 Variant, 290, 304, 324
TREND, 360 VARP, 366
trend liniowy, 169
VARPA, 366
TRIMMEAN, 365
VBA, 8, 281
TripleState, 337, 341
And, 293
TRUNC, 349
argumenty, 284
tryb projektowania, 311 As, 289, 290
tryb wywietlania formu, 16 Dim, 289, 290
TTEST, 365 Do...Loop, 309
tworzenie Eqv, 293
tablice funkcji dwu zmiennych, 69 For Each ... Next, 309
tablice funkcji jednej zmiennej, 65 For...Next, 308
tablice funkcji jednej zmiennej okrelonej
Function, 283
w sposb niejawny (uwikany), 68
funkcje, 283, 284, 288, 294

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


Skorowidz 391

funkcje definiowane przez uytkownika, 302 WEIBULL, 364


If, 306 WEIBULL.DIST, 364
Imp, 293 wektor, 37
instrukcja przypisania, 291 wersja Excela, 11, 325
instrukcje warunkowe, 305 Width, 337, 344
Is, 292, 308 WIELOMIAN, 352
komentarze, 310 wielomian interpolacyjny, 170
komrka aktywna, 298 wielomian Lagrangea, 170, 175
komunikaty bdw, 305 WIERSZ, 33, 51, 102, 118, 125, 354
koniec linii, 287 wiersze, 13, 31
Like, 292 Wklej, 27
makropolecenia, 283 waciwoci, 295
metody, 297 tylko do odczytu, 295
moduy, 285 WordWrap, 337, 339, 341
nazwy, 287 Workbook, 295
Not, 293 Worksheet, 295
obiekty, 295 WorksheetFunction, 295, 325
operatory, 292 wprowadzanie
operatory porwnania, 308 formuy tablicowe, 42
Option Explicit, 291 kod VBA, 287
Or, 293 WSP.KORELACJI, 366
parametry, 284 wspczynnik determinacji, 79, 180
pasek narzdzi Debug, 311 wsprzdne biegunowe, 80
ptle, 308 Wstaw funkcj, 24, 289
podprogramy, 282, 283, 284 wstawianie tabeli, 57
ReDim, 301 WYBIERZ, 49, 136, 354
Select Case, 307 wykadnicza posta liczby zespolonej, 252
Sub, 283, 284 wykresy, 75
tablice, 300 linia trendu, 78
testowanie makropolece, 310 model linii trendu, 79
Then, 306 regresja, 78
typy danych, 290 wykresy liniowe, 76
uruchamianie makropolece, 310 wykresy radarowe, 76, 80, 81
wprowadzanie kodu, 287 wykresy XY, 76
wymiana informacji z arkuszem, 298 wykresy dynamiczne, 85
wyraenia, 291 krzywe Lissajous, 85
wywoanie rekurencyjne, 284 wykresy powierzchniowe, 76, 83
Xor, 293 paski wykres izolinii, 83
zaznaczenie, 298 zredukowane rwnanie stanu gazu van der
zmienne, 289 Waalsa, 83
zmienne lokalne, 288 wykresy przebiegu w czasie, 86
Visual Basic, 281 wielko wykresu, 87
Visual Basic for Applications, 8, 281 wygld wykresu, 87
VLOOKUP, 354 zmienno gstoci pierwiastkw, 87
wykresy punktowe, 76
przygotowanie danych, 76
W punkty poczone lini, 78
W1K1, 17, 34, 296 tworzenie, 77
WARIANCJA, 366 wyliczanie adresw, 33
wariancja pomiaru, 179 wymiana informacji midzy arkuszem a kodem VBA,
wariancja resztkowa, 179 298
WARIANCJA.A, 366 wypenianie odwoa strukturalnych, 62
WARIANCJA.POPUL.A, 366 wyraenia, 16, 291
WARIANCJA.PRBKI, 366 wyrnik rozwizywanie rwnania kwadratowego, 135
wartoci logiczne, 15 WYST.NAJCZCIEJ, 367
WARTO, 368 WYST.NAJCZCIEJ.TABL, 367
Watch, 311 WYST.NAJCZCIEJ.WART, 367
Watch Window, 311 WYSZUKAJ, 126, 164, 273, 354

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com


392 Excel w obliczeniach naukowych i inynierskich

WYSZUKAJ.PIONOWO, 163, 273, 354 zamiana zakresu na sta tablicow, 42


WYSZUKAJ.POZIOMO, 163, 354 ZAOKR, 137, 352
wyszukiwanie danych w tablicach, 163 ZAOKR.DO.CAK, 53, 190, 352
wywietlanie danych, 15 ZAOKR.DO.TEKST, 368
wywietlanie tekstw formu w arkuszu, 327 ZAOKR.DO.WIELOKR, 352
wywoanie funkcji, 24 ZAOKR.D, 352
wywoanie rekurencyjne, 284 ZAOKR.GRA, 352
wyznaczanie czstkowych objtoci molowych, 94 zaokrglanie liczb, 137
wyznacznik macierzy, 38, 41 zapis liczb
WYZNACZNIK.MACIERZY, 41, 43, 352 zapis naukowy, 14
wzr Eulera, 252, 255, 258 zapis plogarytmiczny, 14
Zarejestruj nowe makro, 284
zarzdzanie nazwami, 21
X zasada minimalnej sumy kwadratw, 177, 193
xlErrDiv0, 305 ZASTP, 368
xlErrNA, 305 Zastosuj nazwy, 21
xlErrName, 305 Zatrzymaj rejestrowanie, 285
xlErrNull, 305 zaznaczanie
xlErrNum, 305 serie danych, 78
xlErrRef, 305 wykresy, 78
xlErrValue, 305 zbiene szeregi, 121
Xor, 293 zdarzenia, 330, 345
zewntrzne odwoania strukturalne, 61
zgodno midzy arkuszami kalkulacyjnymi Excel i
Y Lotus 1-2-3, 36
ZCZ.TEKSTY, 368
YEAR, 374
zmiana
kolejno wykonywania operacji, 25
Z nazwa tabeli, 61
zmienna liczba argumentw, 303
Z.TEST, 366 zmienne, 289
zagadnienie brzegowe rwnania rniczkowego nadawanie wartoci, 291
zwyczajnego, 220 typy danych, 290
zagniedanie funkcji, 24 zmienno gstoci pierwiastkw, 87
zakres indeksw tablicy, 301 zmodyfikowana metoda stycznych, 146
zakres kryteriw, 266 ZNAJD, 368
zakresy, 17, 37, 38 ZNAK, 293, 368
zaleno gstoci roztworu od temperatury ZNAK.LICZBY, 143, 352
i stenia, 188 ZTEST, 366
zaleno redniego wspczynnika aktywnoci
w roztworach kwasu azotowego od stenia, 196

Ebookpoint.pl kopia dla: Przemyslaw Kluska przemyslaw.kluska@gmail.com

Você também pode gostar