Dążenie do doskonałości

Microsoft excel for windows v.3.0 Nasz poprzedni artykuł zakończyliśmy słowami pełnymi zachwytu. Czy po paru tygodniach użytkowania potwierdzamy naszą opinię o EXCEL-u? Absolutnie tak. Na dowód przedstawiamy nowe odkryte możliwości tego programu.

Microsoft excel for windows v.3.0

Nasz poprzedni artykuł zakończyliśmy słowami pełnymi zachwytu. Czy po paru tygodniach użytkowania potwierdzamy naszą opinię o EXCEL-u? Absolutnie tak. Na dowód przedstawiamy nowe odkryte możliwości tego programu.

Remanent I

Pod koniec pierwszego artykułu o EXCEL-u wspomnieliśmy o programie SOL-VER, zarazem opisując obliczone przez niego zadanie. Świadomie podaliśmy wyniki, które podsumowane przekraczały ograniczenie dochodu o 1 mln zł. Czy był to błąd programu ? Nie. Wynikowe kwoty były wyświetlane w formacie GENERAL bez miejsc po przecinku, zaś faktycznie obliczone wpływy wynosiły: z ogłoszeń 10 217.5 mln, inne- 2 893.5 mln zł. Wystarczyła zmiana formatu dla komórek zawierających te liczby, by propozycje SOLVER-a prezentowały się idealnie.

To zadanie było bardzo proste. Postanowiliśmy rozwiązać trudniejszy problem. Załóżmy, że dysponujemy kwotą 400 tys. dolarów i chcemy tak ją lokować na kontach terminowych, by zysk z odsetek był maksymalny, jednocześnie pamiętając o zabezpieczeniu pewnej kwoty na bieżące wydatki (tab.l). SOLVER miał obliczyć kwoty poszczególnych 1-, 3- i 6-miesięcz-nych depozytów przy założeniu, że: 1) kwota depozytu nigdy nie będzie ujemna, 2) gotówka na koniec każdego miesiąca jest zawsze większa lub równa 100 000. W" tabeli 2 podano są wyniki SOLVER-a

Trzeba przyznać, że zysk jest imponujący w porównaniu z tab. 1 Ten i inne przykłady zastosowania SOI. VER-a opisane są w rozdziale 5. podręcz nika programu.

SOLVER działa w oparciu o znane metody numeryczne rozwiązywania równań i optymalizacji. Analizowane arkusze mogą zawierać zarówno liniowe jak i nieliniowe równania i nierówności. Kolejne iteracje są wyświetlane na ekranie. Liczba jednocześnie poszukiwanych rozwiązań i komórek parametrycznych zależy od dostępnej pamięci operacyjnej.

Remanent II

Opisane w pierwszym artykule kłopoty z polskimi znakami zostały już częściowo wyjaśnione. Znaki =[];',./ są dostępne po wciśnięciu klawisza ALT i klawisza z żądanym znakiem. Poza tym znaki /*- + są zakodowane na szarych klawiszach z prawej strony klawiatury. Niemniej pamiętanie, gdzie są znaki polskie i specjalne, jest dość kłopotliwe. Bardzo pomocna okazuje się-ściągawka przygotowana we własnym zakresie lub nowa dokumentacja programu POLWIN.

Remanent III

EXCEL stosuje znaną notację adresu komórki, gdzie kolumny są oznaczane literami (A,B,...AAAB,...) zaś wiersze - liczbami. Jest to tzw. reference style Al. Proponuje także inną notację, tzw. reference style R1C1, wygodniejszą w makrokomendach. Polega ona na liczbowym oznaczaniu zarówno kolumn jak i wierszy. Kodowanie adresu komórki jest następujące: najpierw litera R, później numer wiersza, litera C i numer kolumny, np. R5C7. Jeżeli bieżącą komórką jest B3, to relatywny adres R|2]C[2] odnosi się do komórki o dwa wiersze niżej, i dwie kolumny dalej, czyli komórki D5 w notacji Al. Relatywny adres RC[-2] odnosi się do tego samego wiersza, dwóch kolumn w lewo. Komenda OPTlONS WORKSPACE zmienia notację adresów komórek.

Zarysy

Kiedy arkusz zawiera bardzo dużo informacji, odszukanie danych zbiorczych jest utrudnione. EXCEL ma na to sposób. Jest nim tworzenie zarysów (ang. OUTLINE).

Polega to na dzieleniu danych wg poziomów informacji, np. miesięczne wyniki finansowe firmy będą na niższym poziomie niż kwartalne, które z kolei będą na niższym poziomie niż półroczne, itd. Na rys.l., z lewej strony zaznaczone są 2 poziomy informacji dla nakładu i 3 dla dochodu. EXCEL dopuszcza 8 poziomów informacji, przy czym podział na poziomy jest możliwy dla wierszy i kolumn. Niższe poziomy mogą występować nad lub pod, z lewej lub z prawej strony wyższego poziomu. Po utworzeniu poziomów można je odpuszczać (ang. collapse) lub przywracać (ang. expand). Odpuścić poziom oznacza, że staje się on niewidoczny, a na ekranie pozostaje tylko najistotniejsza informacja zbiorcza. Do określania poziomów przydatne są dwa guziki (ang. button) znajdujące się w TOOL BA Rze. Ten ze strzałką w prawo służy do przenoszenia wybranych wierszy lub kolumn na niższy poziom (ang. demote), ten ze strzałką w lewo - na wyższy (ang. pro-mote). Z kolei występujący w graficznym oznaczeniu poziomu guzik z minusem służy do odpuszczania poziomu, zaś guzik z plusem do przywracania poziomu.

Baza baz

Tworzenie baz danych w EXCELu jest proste (tak jak w 1-2-3). Każda baza znaj-

duje się w swoim zakresie. Zakres ten można określić przed lub po wprowadzeniu danych komendą DATA SET DATABASE. Każdy wiersz stanowi rekord, każda kolumna stanowi pole. W pierwszym wierszu zakresu podane są nazwy poszczególnych pól. Pola mogą również zawierać wzory lub funkcje. Na jednym arkuszu może się znajdować kilka baz, przy czym zakres bieżącej bazy musi mieć nazwę DATABASE.

Nasza przykładowa baza danych przedstawiona jest Aa rys.2. Jej zakres obejmuje komórki A3:E18. Kolumna F zawiera zyski obliczone wg ceny 1 egz. podanej obok. Szerokości pól zostały dostosowane tak jak w elektronicznym arkuszu. Pojawiający się w kolumnie F symbol z oznacza, że liczby w tej kolumnie są sformatowane jako złotówki (ang. cunency), lecz bez właściwej polskiej czcionki. Świadomie zrezygnowaliśmy w pewnym momencie z polskich znaków, by sprawniej korzystać z klawiatury.

Formularze

Bazę danych można przeglądać na arkuszu w pierwotnej postaci. Można też korzystać z „formularza" (ang. form). EXCEL tworzy taki formularz automatycznie po wywołaniu rozkazu DATA FORM (rys.3). Formularz pozwala przeglądać bazę rekord po rekordzie i zawiera następująca in formację:

- nazwy pól, jedna pod drugą

- pola bazy w kolumnie obok nazw. Pola w ramce edycyjnej to te, które można zmie niać. Pola bez ramki to te, które zawierają wzór lub funkcję bądź są objęte protekcja (ang. protection) i w związku z tym nic podlegają edycji.

- SCROLL BAR do przeglądania bazy, do datkowo wskazuje relatywną pozycję bieżącego rekordu w bazie

- wskaźnik numeru rekordu i liczebności bazy

- komendy obsługi bazy.

Komenda CRITERIA służy do określenia kryterium przeglądania bazy, np. kiosków ze zwrotami. Wtedy komenda FIND NEXT znajdzie następny rekord odpowiadający zadanemu kryterium, zaś komenda FIND PREVIOUS - poprzedni.

EXCEL jest przyjaźnie nastawiony do użytkownika. Jeżeli nie podoba się proponowany formularz, wystarczy zaprojektować własny (rys.4). Wymaga to jednak specjalnego kodowania, pokazanego w tab.3. Pierwsza kolumna zawiera typ pola: 5 - to tzw. tekst statyczny czyli opis, 6 - to ramka edycyjna. Druga i trzecia kolumna zawierają współrzędne X i Y każdego pola na formularzu. W następnych dwóch jest informacja o wymiarach formularza i poszczęgólnych pozycji. szóstej kolumnie podane są opisy, zaś w siódmej - nazwy pól.

DIALOG EDITOR

Przy takich wymaganiach nietrudno się pomylić. Toteż do EXCELa dodano specjalny program DIALOG EDITOR, który znacznie ułatwia projektowanie formularza. Wystarczy w MENU tego programu wybierać typy pól i precyzyjnie umiejscawiać je myszą na formularzu. Gdy ten jest gotowy, wywołanie komendy EDIT COPY spowoduje przepisanie kodu formularza do CliPBO-ARDa. Po powrocie do EXCELa i arkusza z bazą oraz określeniu zakresu, w który wpisany będzie kod formularza, wywołanie komendy EDIT PASTE spowoduje wpisanie kodu do zakresu. Pozostaje określić komendą FORMUŁA DEFINE NAME nazwę tego zakresu jako DATA_FORM, by przy każdym wywołaniu komendy DATA_FORM wyświetlany był formularz własny użytkownika.

Kryteria

Są dwa typy kryteriów: porównawcze -gdy wartości pól w rekordzie odpowiadają określonym ograniczeniom - i obliczane gdy ograniczenia dotyczą wzoru obliczanego dla każdego rekordu, np. ograniczenie: = ilość x cena

5000, gdzie ilość i cena to pola bazy. Kryteria są określane w oddzielnym zakresie. Aby prawidłowo zdefiniować kryteria, należy:

- w pierwszym wierszu zakresu podać nazwy kryteriów, dla porównawczych są to nazwy pól, dla obliczanych - dowolne inne nazwy

- w następnych wierszach podać właściwe krvteria.

- określić zakres za pomocą komendy DATA SET CRITERIA. Nazwa obowiązującego kryterium musi być CRITERIA. Na rys.5. są to komórki F28:F29.

Ekstrakcja

Ekstrakcja, jak sama nazwa wskazuje, polega na wybraniu określonych pól tych rekordów, które spełniają kryteria i przepisaniu ich w inne miejsce arkusza do wcześniej zdefiniowanego zakresu. Zakres ten zaznacza się poprzez:

- wypisanie nazw wybranych pól w jednym wierszu

- podświetleniu tych pól

wywołaniu komendy DATA SET EX-TRACT, co nada temu zakresowi nazwę EX-TRACT. Na rys.5. są to komórki A28:C28.Ko-menda DATA EX-TRACT wykona właściwą ekstrakcję.

Powtórna ekstrakcja

Ilekroć naniesione zostaną informacje z kiosków RUCHU o rozprowadzeniu naszej gazety, będziemy chcieli otrzymać listę zwrotów. Czyli będziemy powtarzać ekstrakcję. Warto tę czynność zautomatyzować. Gdy pewien ciąg komend jest często powtarzany, EXCEL dopuszcza jego zapamiętanie jako makrokomendy. Makrokomendy są zapisywane i zapamiętywane na makro-arkuszach. Taki arkusz różni się od zwykłego jedynie szerszymi kolumnami i jest zapamiętywany w oddzielnym zbiorze. Zapisywane są w nim same wzory i funkcje, a nie wyniki ich wykonania. W związku z tym makro-arkusz nadaje się do wykorzystania w różnych arkuszach po wcześniejszym jego otwarciu komendą FILE OPEN.

Dla początkujących

Początkujący użytkownik nie zna kodów komend i funkcji EXCEL-a. Napisanie makrokomendy byłoby trudne. Bez obaw. Wystarczy komendą MACRO RECORD włączyć opcję zapisu kodów wykonywanych czynności do zakresu na makro-arkuszu. Zakres ten jest określany przez użytkównika lub automatycznie przez EXCEL-a. Makrokomendę można także przypisać guzikowi lub obiektowi na arkuszu. Wystarczy wtedy jeden „klik" myszy, by makroko-menda została wykonana. Na rys.5. pokazany jest kod makrokomendy ekstrakcji kiosków zwracających nie sprzedane egzemplarze naszej gazety. Ta makroko-menda jest przypisana guzikowi z napisem ZWROTY.

Dla zaawansowanych

Cały rozdział 19 podręcznika jest poświęcony kodowaniu makrokomend. Podane są zasady zapisu na makro-arkuszach i omówione komendy: skoku do =GOTO, warunku =IF, pętli = FOR-NEXT, =FOR.CEIX-NEXT i = WHILE-NEXT, wprowadzania = INPUT, wykonania innej makrokomendy = nazwa_makro. Nie zapomniano o sposobach testowania i posługiwania się Macro Debuggerem.

Z kolei rozdział 20 dotyczy programowania aplikacji. Jak projektować makroko-mendę, jak tworzyć rozbudowane ramki dialogowe, jak uzyskać własną MENU BAR, jak korzystać z bibliotek funkcji napisanych w innym języku np. C lub FORTRAN; wszystkie te informacje są omówione w tym rozdziale.

Q + E

to nazwa potężnej aplikacji ułatwiającej manipulację i aktualizację baz danych różnego rodzaju: dBase, Microsoft SQL Server, Oracle, OS/2 Extended Edition, Microsoft Excel i zbiory tekstowe. Każda otwarta baza jest wyświetlana w okienku QUERY. To znaczy, że można zadać pytanie (ang. query) dotyczące informacji zawartej w tej bazie. Rekordy można sortować, wybierać, formatować, dopisywać, usuwać, zmieniać ich strukturę, edytować (po wykonaniu komendy EDIT ALLOW EDITING). Są to wszystko operacje znane z innych programów obsługi baz danych. Wywołanie komendy FILE SAVE AS oznacza zapamiętanie zbioru typu QUERY zawierającego nie bieżącą bazę lecz ciągu komend SQL stanowiących kody operacji wykonanych na tej bazie. Na rys.6. przedstawiona jest przykładowa baza danych wraz z komendą SQL. Żeby zapamiętać zmiany naniesione w bazie, wystarczy zamknąć okno bazy lub wykonać komendę FILE SAVE AS podając nazwę + rozszerzenie nazwy bazy. Program Q+E jest opisany w oddzielnym podręczniku.

Linkowanie

Szczególnej uwadze polecamy rozdział 8. podręcznika. Opisuje on sposoby powiązania danych z wielu arkuszy oraz wymiany informacji z innymi aplikacjami.

Po pierwsze, można utworzyć tzw. grupę roboczą z paru podobnych arkuszy + dołączonych makro-arkuszy. Dopuszczalne komendy działające na całą grupę to. DATA SERIES, EDIT, FILE, FORMAT, MACRÓ, OPTIONS, WINDOWS.

Po drugie, można dynamicznie linkować arkusze.,Wtedy zmiany naniesione na jednym są od razu odzwierciedlone na drugim arkuszu. Linkowanie arkuszy jest wskazane w celu:

1) konsolidacji danych z kilku arkuszy, tzw. robienie zbiorówki

2) uzyskania.kilku „obrazów" naszych danych i wyboru najlepiej prezentującego się raportu

3) podziału złożonego modelu na szereg mniejszych arkuszy tym samym oszczędzając pamięć i ułatwiając sobie pracę

4) opracowania elastycznych modeli i systemów.

Linkowanie nie ogranicza się do dwóch arkuszy. Nierzadko spotyka się całe struktury powiązań między arkuszami. Odniesienie do komórki w zlinkowanym arkuszu jest kodowane poprzez podanie nazwy arkusza przed adresem tej komórki, np. =BAZA1.XLS!$G$7.

Po trzecie, można wtopić (ang. embed) za pomocą obiektu (ang. object) dane z EX-CEL-a w inną aplikację i na odwrót. Ta opcja jest stosowana, gdy nie ma potrzeby dynamicznie linkować obie aplikacje, lecz nadal chcemy móc otworzyć i aktualizować dane działając w drugiej aplikacji.

Po czwarte, można konsolidować duże ilości danych za pomocą komendy DATA CONSOUDATE. Należy określić zakres konsolidacyjny, gdzie zostanie umieszczona informacja zbiorowa oraz zakresy źródłowe na wszystkich zlinkowanych arkuszach.

Po piąte, można skorzystać z CLIPBOARD-a.

DeDeE

Zupełnie oddzielnym problemem jest wymiana informacji między EXCEL-em a innymi aplikacjami. W tym celu tworzone są specjalne powiązania do Dynamicznej Wymiany Danych (ang. Dynamie Data Ex-change). Aplikacja musi być wcześniej uruchomiona lub dostępna dla EXCEL-a, który spróbuje ją uruchomić.

Z kolei makrokomendy stosujące DWD muszą wykonać następujące operacje:

- otworzyć kanał do drugiej aplikacji za pomocą funkcji INITIATE

- wysłać lub zażądać danych; do tego służą kolejno funkcje POKE i REQUEST

- zamknąć kanał funkcją TERMINATE.

Żądając dostępu do EXCEL-a z innej aplikacji, należy pamiętać, że EXCEL rozpoznaje tylko następujące wartości 3 parametrów DWD:

- tekst_aplikacji = „Excel" + ew. numer zadania, jeżeli EXCEL został uruchomiorty kilkakrotnie, .

- tekst_przedmiotu = „System" lub nazwa otwartego dokumentu, np. „TEST1.XLS"

- tekst_odniesienia.

Dynamiczna Wymiana Danych występuje pomiędzy EXCEL-em a SOLVER-em iQ+E.

A co z tzw. forecasting czyli przepowiadaniem? Otóż ta opcja polega na tym, że., zmiana położenia punktu na grafie powoduje automatyczną zmianę odpowiedniej liczby na arkuszu. Tym samym wyczerpujemy przewidziany skro zarys możliwości EXCEL Życzymy w : u nie przespanych nocy spędzonych na testowaniu tego programu.

Microsoft EXCEL for Windows 30 był testowany na zestawie amerykańskiej firmy UCR SYSTEM PC/AT 386, 4MB PAO, 20 MHz, z monitorem SAMSUNG SVGA, drukarką PANASONIC KX-P1124 i myszą LOGITECH Series 9.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200