Calc - stosowanie nazw w arkuszach kalkulacyjnych.

Uwaga: przeglądasz tę stronę na urządzeniu o niewielkim ekranie (szerokość < 640px). Niektóre zamieszczone w artykule ilustracje i animacje mogą stać się nieczytelne po dopasowaniu ich do rozdzielczości tego ekranu.

Yestok.pl

Jerzy Moruś

© Wszystkie prawa zastrzeżone. Wykorzystanie całości serwisu lub jego fragmentów bez pisemnej zgody autora zabronione.

Nazwy w arkuszu kalkulacyjnym Calc.



Opracowanie powstało w oparciu o wersję programu istniejącą w trakcie jego pisania, Libre Office: 4.2.6, Apache OpenOffice: 4.1.1.


Pierwsze programy nazwane później arkuszami kalkulacyjnymi pozwalały na wykonywanie dynamicznych obliczeń w dwuwymiarowym obszarze. Ten obszar nazwano arkuszem (ang. sheet) i stąd wzięła się późniejsza, uogólniająca, nazwa programów tej klasy. Program arkusza kalkulacyjnego Calc pozwala na równoczesne wykorzystywanie wielu arkuszy. Arkusze te tworzą pewien skończony dokument. Najprostszy dokument zawiera tylko jeden arkusz. W terminologii (x)Office nie pojawiło się na razie określenie, które pozwoliłoby jednoznacznie rozróżnić arkusz i kompletny dokument, dlatego na potrzeby tego opracowania taki komplet arkuszy będę nazywał „projektem”. Dla kontrastu, w koncepcji Microsoftu program arkusza kalkulacyjnego Excel obsługuje skoroszyt, który to skoroszyt składa się z pojedynczych arkuszy a sam skoroszyt zapisywany jest ostatecznie w postaci pliku.

Program po uruchomieniu udostępnia trzy puste arkusze (w LibreOffice ich liczbę można ustalić w opcjach). Użytkownik może dodać następne, jeśli w jego projekcie będą takie potrzebne, może usunąć arkusze zbędne, może także ustawić je w wybranej przez siebie kolejności kierując się spójnością i logiką projektu.

Główną istotą programów arkuszowych jest możliwość tworzenia formuł obliczeniowych. Można w zasadzie założyć, że przy tworzeniu tych formuł znacząca, jeśli nie większa, część użytkowników wykorzystuje adresy komórek jako odnośniki do miejsc w arkuszach. Takie adresy są w rozbudowanych projektach trudne do zinterpretowania, w znaczeniu odtworzenia logiki formuły obliczeniowej. Nawet w niewielkich rozwiązaniach, gdy zaglądamy do nich po kilku miesiącach, możemy mieć problemy z analizą jakie dane reprezentują poszczególne adresy.

Arkusze kalkulacyjne, w tym oczywiście także Calc, zostały wyposażone w możliwość przypisania własnych nazw do wybranych komórek, zakresów komórek i całych arkuszy oraz używania tych nazw zamiast adresów.

Nazwy arkuszy.

Calc automatycznie nadaje arkuszom nazwy „Arkusz1”, „Arkusz2” itd. umieszczając te nazwy w zakładce każdego arkusza (w opcjach LibreOffice można ustalić inny tekst niż „Arkusz”). Nadając arkuszom własne nazwy możemy ułatwić zrozumienie tego, co znajduje się na poszczególnych arkuszach projektu i osiągnąć efekt analogiczny np. do pokazanego na poniższych ilustracjach.

Własne nazwy zakładek w  LibreOffice.
Rys. 1a: Nazwy przypisane arkuszom w Calc LibreOffice.
Własne nazwy zakładek w Apache OpenOffice.
Rys. 1b: Nazwy przypisane arkuszom w Calc Apache OpenOffice.

Jak widać można nie tylko zmienić nazwę arkusza, ale także przypisać do karty arkusza wybrany kolor.

Kliknięcie prawym przyciskiem myszki na nazwie arkusza otworzy widoczne na ilustracjach menu. Menu te różnią się nieco w każdym z programów. Polecenie „Zmień nazwę...” pozwoli przypisać nową nazwę arkuszowi. Położone niżej polecenie „Kolor karty...” otworzy paletę barw, z której można wybrać kolor dla karty (zakładki) arkusza. Kolory wypełniają zakładki arkuszy, które są w tym momencie nieaktywne. Zakładka arkusza aktywnego (lub arkuszy aktywnych, jeśli zaznaczono ich więcej) zawiera barwny pasek pod nazwą arkusza.

Zmiana nazwy arkusza nie ma wpływu na działanie formuł. Zmieni się natomiast postać formuły bowiem Calc automatycznie zmieni nazwy arkuszy w formułach. Jeśli w formule odwoływano się do adresu np. „Arkusz2.B22” i zmieniono nazwę „Arkusz2” na „Cennik” to w formule to odwołanie będzie teraz miało postać „Cennik.B22”.

Nazwy nadawane arkuszom mogą być dowolne. Mogą zaczynać się od cyfr lub składać się z samych cyfr, zawierać spację i znaki specjalne. Nazwy, które mogą być niejednoznacznie zinterpretowane Calc umieszcza w pojedynczych apostrofach. Takie odwołanie może wówczas wyglądać np. tak „'Cennik podstawowy'.B22” (w nazwie arkusza wystąpiła spacja).

Jeśli autor projektu budując formuły wskazuje adresy przy pomocy myszki lub klawiatury – Calc doda (jeśli będą potrzebne) stosowne apostrofy. Jeśli autor wpisuje adres samodzielnie, musi także wpisać niezbędne apostrofy.

Operację zmiany nazwy arkusza i zmiany koloru karty można także wykonać wywołując menu polecenia „Format – Arkusz”. W tym przypadku menu zawiera takie same polecenia dla obu wersji programu. Trzeba także dodać, że zmiana nazwy arkusza jest możliwa tylko wówczas, gdy jako aktywny zaznaczony jest tylko jeden arkusz.

Nazwy komórek i nazwy obszarów.

Nazwy komórek i nazwy obszarów zastępują rzeczywiste adresy tych elementów. Oznacza to, że zamiast adresu komórki lub zakresu komórek można wpisać nazwę tego elementu. Nazwa jest zatem substytutem adresu a mówiąc dokładnie, substytutem adresu bezwzględnego. To oznacza, że powielenie formuły zawierającej nazwę odwołuje się w każdej kolejnej kopii formuły do tego konkretnego, reprezentowanego przez nazwę, adresu.

Nadawanie nazw komórkom i zakresom komórek podlega jednak pewnym restrykcjom. Na dodatek restrykcje te inaczej opisane są w systemie pomocy a inaczej funkcjonują w rzeczywistym otoczeniu.

Zarówno w Apache OpenOffice, jak i LibreOffice nazwa musi rozpoczynać się od litery albo od znaku podkreślenia. Kolejnymi znakami nazwy mogą być tylko litery, cyfry, znak kropki i znak podkreślenia.

Nazwa nie może odpowiadać wyglądem adresowi komórki, a więc nie można utworzyć nazw w rodzaju „A1” czy „BC234”. Jeśli jednak liczba będzie większa niż numer ostatniego dopuszczalnego wiersza (obecna wersja programu dopuszcza 1.048.586 wierszy), nazwa zostanie przyjęta. Nie można utworzyć jednoliterowych nazw „R” ani „C”. Jeśli pierwszą literą nazwy będzie jednak jedna z tych liter, to nie mogą bezpośrednio po nich następować cyfry. Zatem nazwa w rodzaju „R23BCD” nie zostanie zaakceptowana a „RA23BCD” już tak.

Oba pakiety dopuszczają w nazwie znak kropki, nie może on być jednak ostatnim znakiem nazwy. O ile Apache OpenOffice dopuszcza wstawienie znaku kropki w trakcie tworzenia nazwy to LibreOffice na to nie pozwala sygnalizując taką sytuację jako błąd w nazwie. W pewnych okolicznościach znak ten może jednak zostać częścią nazwy. Wyjaśnię to w dalszej części opracowania.

W systemie pomocy programu Calc mowa jest o tym, że dopuszczalnym znakiem w nazwie jest także spacja, jednak oba programy nie akceptują w nazwie tego znaku.

Istnieje kilka sposobów na nadanie nazwy wybranej komórce lub zaznaczonemu obszarowi. Najprostszy wymaga wpisania wybranej nazwy do okienka znajdującego się w lewej części paska formuły.

Nadawanie nazwy poprzez pasek formuły.
Rys. 2a: Nadawanie nazwy w pasku formuły.

Na powyższej ilustracji przedstawiona jest sytuacja gdy w pasku formuły wprowadziłem nazwę „kom_B4” przewidzianą do przypisania do komórki „B4”. Naciśnięcie klawisza ENTER zatwierdzi tę nazwę (w przypadku LibreOffice, przypisze jej jednocześnie zakres oddziaływania „Dokument”, wyjaśnienie tego terminu jest w dalszej części opracowania).

Za wprowadzenie nazwy do dokumentu odpowiada także polecenie „Wstaw – Nazwa”. Rozwiniętą listę kaskadową tego polecenia dla programu Calc Apache OpenOffice pokazuje rys. 2b.

Polecenie "Wstaw - Nazwy" w Apache OpenOffice.
Rys. 2b: Rozwinięta lista polecenia „Nazwa” w Calc Apache OpenOffice.

To samo polecenie w LibreOffice wygląda tak:

Polecenie "Wstaw - Nazwy" w LibreOffice.
Rys. 2c: Rozwinięta lista polecenia „Nazwa” w Calc LibreOffice.

Porównując obie listy łatwo jest zauważyć, że w wersji LibreOffice pojawiła się dodatkowa opcja „Określ...”. Wyjaśnię też od razu, że opcje „Zarządzanie...” w LibreOffice i „Definiuj...” w Apache OpenOffice, mające przypisany taki sam skrót klawiaturowy, realizują te same funkcje.

Definiowanie nazw w Apache OpenOffice i LibreOffice za pomoca polecenia „Wstaw – Nazwa” jest podobne. W obu programach można przywołać to polecenie skrótem klawiaturowym CTRL+F3.

Calc z LibreOffice otworzy okienko dialogowe zatytułowane „Zarządzaj nazwami” pokazane na ilustracji poniżej.

Okienko dialogowe "Zarządzaj nazwami" w LibreOffice.
Rys. 3: Okienko dialogowe „Zarządzaj nazwami”. LibreOffice.

Okienko to wyświetla w górnej części zdefiniowane już nazwy i obszary arkusza przypisane do tych nazw. Za dodanie nowej nazwy odpowiada widoczny na ilustracji przycisk „Dodaj”. Jego naciśnięcie otworzy kolejne okienko dialogowe, zatytułowane „Określ nazwę”. W tym oknie należy wskazać komórkę lub zakres komórek i określić przypisaną im nazwę.

To okno dialogowe pokazane jest na ilustracji poniżej.

Okienko dialogowe "Określ nazwę" w LibreOffice.
Rys. 4: Okienko dialogowe „Określ nazwę”. LibreOffice.

W polu „Nazwa” należy wpisać nazwę zbudowaną zgodnie z zasadami tworzenia nazw. Pierwsze pole „Zakres” i znajdujący się po prawej stronie tego pola przycisk, pozwalają za pomocą myszki zaznaczyć stosowne miejsce w arkuszu. Jeśli podczas tworzenia nazwy wprowadzone zostaną niedozwolone znaki, w okienku pojawi się sygnalizującą tę sytuację komunikat. Ponadto, dopóki nie pojawi się poprawna nazwa, dopóty niedostępny będzie przycisk „Dodaj” akceptujący nazwę.

Drugie, rozwijane pole „Zakres” zawiera na liście wyboru pozycje: „Dokument (ogólny)” (widoczna na ilustracji) i nazwy arkuszy zadeklarowanych w całym projekcie. Opcja występuje tylko w LibreOffice i określa zakres oddziaływania nazwy. „Dokument” oznacza, że nazwę można przywołać w dowolnym arkuszu projektu i zostanie ona właściwie rozpoznana. Przypisanie konkretnego arkusza spowoduje, że nazwa będzie rozpoznawana tylko w obrębie tego arkusza. Chcę zwrócić uwagę na to, że nazwa może być zdefiniowana w innym arkuszu niż tym, w którym ma być rozpoznawana. Użycie nazwy poza obszarem jej zasięgu spowoduje wyświetlenie komunikatu „#NAZWA?”. Po zatwierdzeniu nazwy okienko dialogowe zostanie zamknięte a w nadal otwartym oknie dialogowym „Zarządzaj nazwami” wprowadzona nazwa pojawi się w górnej części. W tej części obok zdefiniowanych nazw widać będzie adres komórki lub adres zakresu komórek przypisanych do nazwy oraz przypisaną drugą opcję „Zakres”.

Wprowadzenie nowej nazwy w LibreOffice jest także możliwe po wybraniu podpolecenia „Określ...” na liście poleceń Wstaw – Nazwy”. Wywołuje ono od razu okienko dialogowe „Określ nazwę”, pozwalając nadać nową nazwę. Po zatwierdzeniu nazwy okienko jest zamykane.

W programie Apache OpenOffice istnieje tylko jedna forma nadawania nazwy przez listę poleceń czyli „Wstaw – Nazwy – Definiuj...” albo skrót klawiaturowy CTRL+F3. Związane z tym sposobem okienko dialogowe przedstawia rysunek 5.

Okienko dialogowe "Definiuj nazwy: w Apache OpenOffice.
Rys. 5: Okienko dialogowe „Definiuj nazwy”. Apache OpenOffice.

Po wpisaniu prawidłowo zbudowanej nazwy i określeniu adresu komórki albo zakresu komórek można użyć przycisku „Dodaj” co spowoduje dodanie nowej nazwy i umieszczenie jej na liście zdefiniowanych nazw. Lista zawiera tylko nazwy, nie podaje żadnego odniesienia do przypisanych nazwom obszarów. Dodanie nazwy nie zamyka okienka dialogowego, można więc zdefiniować kolejne nazwy. Przycisk „OK” zatwierdza ostatnią nazwę i zamyka okienko dialogowe albo, jeśli nie wpisano żadnej nazwy, zamyka to okienko. Nazwy nadawane w Apache OpenOffice obowiązują we wszystkich arkuszach projektu, mają więc – nawiązując do właściwości występującej w Libre Office – zakres działania „Dokument”. Jeżeli nazwa zawiera niedopuszczalne znaki po próbie jej zatwierdzenia, pojawi się komunikat jak poniżej.

Komunikat o błędnej nazwie z programu Apache OpenOffice.
Rys. 6: Komunikat o błędnej nazwie. Apache OpenOffice.

Oba omówione okna dialogowe, wywoływane skrótem CTRL+F3 pozwalają także na usunięcie nazwy lub zmodyfikowanie zakresu przypisanego nazwie. W tym celu należy zaznaczyć nazwę. Uaktywniony przycisk Usuń pozwala ją usunąć. Można też zaznaczyć nowy obszar lub adres przypisany tej nazwie a następnie w LibreOffice nacisnąć przycisk „OK” a w Apache OpenOffice przycisk „Modyfikuj”. Po zaznaczeniu dowolnej nazwy, w Apache OpenOffice zamiast przycisku „Dodaj” pojawia się przycisk „Modyfikuj”.

Programy zachowują się odmiennie, gdy próbujemy utworzyć po raz drugi nazwę, która już istnieje. LibreOffice informuje o próbie utworzenia ponownie tej samej nazwy o takim samym zakresie działania i nie pozwala na jej utworzenie. Apache OpenOffice ignoruje fakt istnienia nazwy i przypisuje nazwie nowy zdefiniowany adres. Temu samemu obszarowi lub adresowi można przypisać kilka różnych nazw. W nadawanych nazwach wielkość liter nie odgrywa żadnego znaczenia.

Zdefiniowane nazwy wykorzystywać można do natychmiastowego zaznaczenia w dokumencie adresu lub obszaru określonego nazwą, lub użyć jako substytutu adresu, lub obszaru w tworzonych formułach obliczeniowych. Pewne nazwy mogą być potrzebne także w innych zastosowaniach. Jednym z nich jest potrzeba wydrukowania tylko wybranego obszaru z arkusza. Drugim jest wykorzystanie obszaru jako kryterium wyszukiwania dla filtru złożonego. Dlatego w dolnej części okienek dialogowych „Określ nazwę” i „Zarządzanie nazwami” w LibreOffice a „Definiuj nazwę” w Apache OpenOffice znajdują się cztery dodatkowe opcje pozwalające określić typ nadawanej nazwy. Opcje te są ukryte podczas otwierania okienka dialogowego i udostępnić je można klikając znak plusa przy napisie „Opcje zakresu” w LibreOffice albo naciskając przycisk „Więcej” w Apache OpenOffice. Trzy opcje: „Zakres wydruku”, „Powtórz kolumnę” i „Powtórz wiersz” dotyczą drukowania. Nazwy, którym przypisano te opcje można wykorzystać podczas edytowania zakresu wydruku w poleceniu „Format – Zakres wydruku – Edycja...”. W okienku dialogowym tego polecenia, na rozwijanych listach dostępnych nazw, pojawią się tylko te, których typ odpowiada rodzajowi żądanego obszaru. Opcja „Filtr” dotyczy zdefiniowania obszaru zawierającego kryteria filtrowania potrzebne przy realizacji polecenia „Dane – Filtr – Filtr zaawansowany...”. Nazwa, której przypisana zostanie opcja „Filtr” pojawi się na rozwijanej liście okienka dialogowego związanego z wyborem obszaru kryteriów. Zaznaczenie tych opcji nie ma wpływu na ogólne odwoływanie się do tych nazw, wyklucza natomiast wykorzystanie pozostałych nazw w sytuacjach opisanych powyżej.

Nazwy generowane automatycznie.

Jest jeszcze jeden sposób nadawania nazw. Ten sposób nadaje nazwy automatycznie i działa dokładnie w taki sam sposób w Apache OpenOffice i LibreOffice. Realizuje go polecenie „Utwórz...” będące częścią polecenia „Nazwy” w grupie poleceń „Wstaw”. Wyjaśnię to na zilustrowanym przykładzie.

Tworzenie nazw na podstawie wpisów w komórkach.
Rys. 7: Nadawanie nazw na podstawie wpisów w komórkach.

Zbudowałem w arkuszu obszar zawierający kursy walut i zaznaczyłem go. Teraz wywołałem polecenie „Wstaw – Nazwy – Utwórz...”.

Na ilustracji widać otwarte w wyniku tego nowe okienko dialogowe „Utwórz nazwy”, w którym należy zaznaczyć, które kolumny i (lub) wiersze zaznaczonego obszaru mają zostać potraktowane jako te, które zawierają nazwy. W wyniku zastosowania pokazanych na ilustracji opcji powstaną następujące nazwy i przypisane im adresy, bądź obszary: nazwa „EUR” zostanie przypisana do adresu $Arkusz.$B$2, „USD” do $Arkusz.$B$3, „GBP” do adresu $Arkusz.$B$4. Nazwy zostały pobrane z kolumn leżących po lewej stronie (zaznaczona opcja „lewej kolumny”). Nazwa „Kursy” zostanie pobrana z nagłówka zaznaczonego obszaru (opcja „Nagłówek” została zaznaczona) i przypisana do obszaru $Arkusz.$B$2:$B$4. W końcu, ponieważ w lewym górnym rogu zaznaczonego obszaru także został wpisany tekst, w tym przypadku „Waluty” to zostanie on wykorzystany jako nazwa całego zaznaczonego obszaru z wyłączeniem wiersza nagłówkowego i lewej kolumny tego obszaru. W tym konkretnym przypadku nazwa „Waluty” zostanie przypisana do tego samego obszaru jak nazwa „Kurs”, czyli $Arkusz.$B$2:$B$4.

Przy tym sposobie nadawania nazw LibreOffice akceptuje teksty zawierające kropki, czyli znaki, których nie pozwala wprowadzić do nazwy wpisywanej „ręcznie”. Pojawia się pytanie o nadane nazwy, gdy teksty zawierają niedozwolone znaki. Oba programy zamieniają wszystkie niedozwolone znaki na znaki podkreślnika. Gdyby więc tekst miał postać „USD + 10%” to utworzoną nazwa byłaby „USD___10_” (po literach USD są trzy znaki podkreślnika). Ponadto, do utworzenia nazw zostaną wykorzystane tylko te komórki, które zawierają tekst. Nazwa, jak już napisałem musi rozpoczynać się od litery ewentualnie od znaku podkreślnika. Jeśli przypadkowo w komórce definiującej nazwę znajdzie się tekst zaczynający się od cyfry, to Apache OpenOffice poprzedzi tę cyfrę znakiem podkreślnika tworząc w ten sposób prawidłową nazwę. LibreOffice natomiast w tej wersji, którą mam podczas pisania tego opracowania, zawiesza pracę programu. Analogicznie, gdy nazwa jest jednoliterowa „R” albo „C” lub rozpoczyna się tą literą, po której występują cyfry, Apache OpenOffice poprzedza taki ciąg znakiem podkreślnika, tworząc w ten sposób prawidłową składnię nazwy a LibreOffice zawiesza się.

Korzystanie z nazw.

Jak zatem wykorzystać zdefiniowane nazwy? Wspomniałem, że są one substytutem adresu lub obszaru w formułach obliczeniowych. Poniżej na ilustracji przedstawiam następujące zagadnienie, wykorzystujące nazwy nadane komórkom pokazanym na rysunku 7. Pod kursami walut zbudowałem tablicę zawierającą ceny detaliczne niektórych wyrobów wyrażone w złotówkach. Po prawej stronie tych cen mają pojawić się te ceny wyrażone w euro. Aby wyznaczyć tę cenę skorzystam z formuły obliczeniowej =ZAOKR(cena w zł/kurs euro;2), czyli wyznaczę zaokrąglony do dwóch miejsc po przecinku iloraz obliczający tę wartość.

Tworzenie formuły z wykorzystaniem nazw.
Rys. 8: Wykorzystanie nazw w tworzonych formułach.

Na ilustracji przedstawiony jest etap tworzenia formuły, w którym napisałem już znak równości, tekst zaokr, wstawiłem nawias otwierający, wskazałem komórkę zawierającą cenę w złotówkach (B8), wstawiłem znak dzielenia i napisałem pierwszą literę nazwy „EUR” (jak napisałem wcześniej wielkość liter nie odgrywa roli). W tym momencie Calc w małej ramce wyświetla pierwszą nazwę pasującą do wpisanego przeze mnie wzorca. W tym wypadku wyświetlona jest nazwa „EUR” i jest to jedyna nazwa w projekcie zaczynająca się literą „e”. Naciśnięcie klawisza ENTER wprowadzi nazwę do formuły, więc kontynuując można jeszcze dopisać znak średnika, cyfrę 2, zamknąć nawias i nacisnąć ENTER zatwierdzając ostateczną formułę.

Jeśli nazw zaczynających się na literę „e” byłoby więcej, można wybrać wymaganą nazwę z listy takich nazw. Sposób w obu wydaniach programu Calc jest podobny, jednak różniący się wykorzystaniem klawisza CTRL. W Apache OpenOffice, wtedy gdy widoczna jest podpowiadana nazwa, należy nacisnąć klawisz TAB aby wyświetlić następną nazwę z listy albo kombinację SHIFT+TAB by wyświetlić nazwę poprzednią. W LibreOffice należy dodatkowo przytrzymywać klawisz CTRL.

Sugerowane nazwy pojawiają się tylko podczas „ręcznego” wpisywania formuły. Jeżeli do jej tworzenia użyto kreatora funkcji nazwy nie są podpowiadane, choć w kreatorze można ich użyć. Przykład widać na poniższej ilustracji.

Uzycie nazwy w kreatorze funkcji.
Rys. 9: Użycie nazwy w kreatorze funkcji.

Inną metodą wstawienia potrzebnej nazwy jest wykorzystanie polecenia „Wstaw – Nazwy – Wstaw...”. Polecenia tego można użyć podczas pisania formuły, wskazując nazwę, która ma zostać do niej wstawiona. Ta metoda jest niedostępna przy korzystaniu z kreatora funkcji.

LibreOffice otworzy okienko jak na rys. 10.

Okienko dialogowe "Wklej nazwy" w LibreOffice.
Rys. 10: Okienko „Wklej nazwy”. LibreOffice.

Po wybraniu potrzebnej nazwy należy użyć przycisku „Wklej”. Apache OpenOffice otworzy podobne okienko.

Okienko dialogowe "Wklej nazwę" w Apache OpenOffice.
Rys. 11: Okienko „Wklej nazwę”. Apache OpenOffice.

Tutaj po wybraniu nazwy należy skorzystać z przycisku „OK”

W obu pokazanych powyżej okienkach znajdują się przyciski odpowiadające sobie funkcjonalnie. Te przyciski to: „Wklej listę” i „Wstaw wszystko”. Skorzystanie z nich wstawi listę wszystkich utworzonych w projekcie nazw, wraz z przypisanymi im adresami. Lista ułożona będzie alfabetycznie i rozpocznie się w komórce, która była aktywna w momencie wywołania tego działania. Przykład takiej listy przedstawia ilustracja.

Lista powstała po wstawieniu wszystkich nazw.
Rys. 12: Lista nazw zdefiniowanych w projekcie.

Tutaj jeszcze raz wrócę do opcji określającej zasięg oddziaływania nazwy. Powoduje ona, że na liście wstawianych nazw pojawiają się – obok nazw o zakresie „Dokument” – tylko te nazwy, które mają jako zakres oddziaływania przypisany zakres tego arkusza, na którym lista ma się pojawić.

Nazwy utworzone w projekcie pozwalają także szybko dotrzeć do tych nazwanych miejsc zaznaczając je jednocześnie. W obu wersjach programu można rozwinąć listę nazw dostępną w rozwijalnym polu znajdującym się po lewej stronie paska formuły. To jest to samo pole, które służy do utworzenia nazwy.

Widać tę sytuację na poniższej ilustracji.

Szybkie dotarcie do miejsc oznaczonych nazwą.
Rys. 13: Lista nazw dostępna w projekcie.

Wybór nazwy z listy przeniesie użytkownika od razu do wybranego obszaru. Jedyną różnicą między wersjami Calca jest to, że w LibreOffice jako pierwsza pozycja na liście nazw pojawia się „Zarządzanie nazwami” co pozwala otworzyć okienko dialogowe „Zarządzaj nazwami” z tego miejsca. Lista nazw pojawia się tylko wtedy, gdy nie jest edytowana żadna formuła (podczas edycji formuł, w tym okienku pojawiają się nazwy ostatnio wykorzystanych funkcji). Przy okazji prezentacji tej ilustracji można także zobaczyć postać formuły znajdującej się w komórce C8, zawierającej nazwę adresu.

Nadawanie nazw komórkom lub zakresom komórek jest bardzo przydatne, gdy autor zamierza napisać makra obsługujące projekt. Odwołując się w makrach do nazw zamiast adresów, uniezależniamy je od rzeczywistego położenia komórek. Korzystając ze zdefiniowanych nazw należy też pamiętać, że odnoszą się one zawsze do adresu bezwzględnego.

Nazwy wykrywane automatycznie oraz etykiety kolumn i wierszy.

Mówiąc o nazwach stosowanych w programach arkusza kalkulacyjnego nie sposób nie wspomnieć o tym, że Calc umożliwia w pewnych sytuacjach stosowanie w odwołaniach tekstów użytych do opisywania kolumn lub wierszy. Nie wymaga to wówczas nadawania nazw, ale wymaga stosowania się do pewnych zasad. Takie teksty są wykrywane automatycznie, traktowane podobnie jak nazwy i dotyczą pewnych automatycznie wyznaczanych obszarów

Jako przykładu wyjaśniającego użyję fikcyjnego zestawienia posadzonych sadzonek astrów w pewnym ogrodzie podzielonym na sektory. Tak jak na ilustracji poniżej.

Zestawienie tablicowe z nagłówkami kolumn i wierszy.
Rys. 14: Przykładowe zestawienie tablicowe.

W tym zestawieniu tabelka ma swój boczek i nagłówek. Treść boczku lub nagłówka może zostać użyta jako substytut zakresu, np. w funkcjach statystycznych, a Calc potraktuje ją jak nazwę obszaru. Musi być jednak zawsze umieszczona w pojedynczych apostrofach. Jeśli treść nagłówkowa kolumny lub wiersza boczku jest napisana zgodnie z zasadami nadawania nazw, można ją wpisać bezpośrednio do formuły, Calc automatycznie umieści tę treść w pojedynczych apostrofach. Jeżeli jednak treść zawiera inne znaki, np. spację, musi zostać wpisana w pojedynczych apostrofach, wprowadzonych przez autora, tak jak to widać na ilustracji. Tak utworzona formuła nie musi znajdować się pod tabelką, musi jednak być utworzona w tym samym arkuszu, w którym znajduje się zestawienie. Nazwa obszaru wstawiona w taki sposób nie jest traktowana jako adres bezwzględny, dlatego skopiowanie np. widocznej na ilustracji formuły do komórek leżących na prawo sprawi, że w komórkach tych pojawi się formuła z funkcją SUMA, ale jej argumentami będą odpowiednio teksty: 'Aster karłowaty', 'Aster zwisły' i 'Aster tongolski'. Aby jednak w ogóle móc z tego sposobu skorzystać, w opcjach programu Calc ustawiona musi być opcja „Automatycznie znajdź etykiety kolumn i wierszy”. Opcja ta jest zazwyczaj ustawiona jako domyślna i dostępna jest w oknie ustawień parametrów „Oblicz”. Pokazuje to ilustracja poniżej.

Położenie opcji pozwalającej na automatyczne wykrywanie nagłówków.
Rys. 15: Położenie opcji wykrywania etykiet kolumn i wierszy.

Ten sposób odwoływania się do obszarów został rozbudowany przez wprowadzenia jeszcze jednego typu nazw – nazw etykiet. Nazwy takie tworzone są przez ostatnie z poleceń rozwiniętego polecenia „Nazwy”, polecenia „Etykiety...”. Etykiety nie są nazwami w rozumieniu nazw opisanych na początku tego opracowania. Treści znajdujące się w zaznaczonym obszarze zostają zadeklarowane jako opisy kolumn albo opisy wierszy. Poniżej jeszcze raz pokażę znany już z rys. 14. wykaz sadzonek astrów.

Okno dialogowe definiowania etykiet w LibreOffice.
Rys. 16: Definiowanie etykiet. LibreOffice.

W obszarze zaznaczyłem wiersz zawierający nazwy gatunków astrów, a następnie wywołałem polecenie „Wstaw – Nazwy – Etykiety...”. W wyniku tego otwarte zostało okienko dialogowe „Definiuj zakres etykiet”. Przedstawiona na ilustracji sytuacja dotyczy programu Calc w LibreOffice. To samo okienko w Apache OpenOffice ma tylko inaczej rozmieszczone przyciski i pola opcji. Okno z wersji Apache OpenOffice zostało wykorzystane na następnej ilustracji. Ponieważ polecenie to wywołałem, wtedy gdy pewien obszar został już zaznaczony, zakres tego obszaru znalazł się już w polu definiowania zakresu, znajdującym się bezpośrednio pod polem „Zakres”. Pole „Zakres” zawiera wszystkie zdefiniowane w projekcie nazwy etykiet opisujące kolumny bądź wiersze. Teraz należy wybrać czy zaznaczony obszar dotyczy opisu kolumn, czy wierszy. Calc na podstawie zaznaczonego kształtu zakresu sam proponuje rodzaj etykiet.

W polu opisanym „W zakresie danych” znajduje się zdefiniowany obszar, który określa zakres danych opisanych etykietami. W przypadku tej ilustracji zwróćmy uwagę na to, że początkowo jest to zakres kolumn od „B” do „E” i wierszy od 2. do ostatniego w arkuszu (1.048.576). Zakres danych można ograniczyć, zaznaczając ten obszar tylko do wiersza 6.

Naciśnięcie przycisku „Dodaj” doda treści znajdujące się w zaznaczonym obszarze jako etykiety kolumn. Zobaczymy je wówczas w polu „Zakres”. Jeśli w realizowanym projekcie jest kilka różnych zestawień w różnych miejscach arkusza lub na różnych arkuszach, można utworzyć nazwy kolejnych etykiet. Na ilustracji poniżej przedstawiam utworzone etykiety dla kolumn i wierszy (z powyższego przykładu).

Zaznaczona w polu „Zakres” pozycja, tutaj w grupie „Wiersz”, pokazuje jednocześnie obszar zadeklarowanych nazw etykiet oraz obszar danych, które tymi etykietami są objęte. Uaktywniony przycisk „Usuń” pozwala na usunięcie definicji etykiet.

Okno dialogowe definiowania zakresu etykiet w Apache OpenOffice.
Rys. 17: Wykaz zadeklarowanych nazw etykiet. Apache OpenOffice.

Wykorzystanie tak zdefiniowanych etykiet jest możliwe wszędzie tam gdzie potrzebny jest obszar określony tymi etykietami. Najczęściej będą to jednak funkcje statystyczne w rodzaju SUMA, ŚREDNIA, MEDIANA, dla których obszary są naturalnymi parametrami. Zadeklarowanie etykiet spowoduje, że podczas wpisywania, ich nazwy pojawią się w okienku podpowiedzi, dopasowując się do wpisanego wzorca, podobnie jak to było w przypadku zdefiniowanych nazw. Pokazuję to na ostatniej już ilustracji.

Podpowiadanie nazw etykiet podczas tworzenia formuły.
Rys. 18: Podpowiadanie nazw etykiet.

Budując formułę obliczającą średnią wpisałem pojedynczy apostrof, a następnie literę „a”. Do tego wzorca Calc „dopasował” pierwszą alfabetycznie pasującą nazwę „Aster karłowaty”. Jeśli nazwa ma zostać zaakceptowana wystarczy nacisnąć klawisz ENTER, jeśli nazw pasujących do napisanego wzorca jest więcej, to (w Apache OpenOffice) można wybrać nazwę następną naciskając klawisz TAB albo poprzednią naciskając kombinację SHIFT+TAB a w LibreOffice – odpowiadającą kombinację klawiszy CTRL+TAB lub CTRL+SHIFT+TAB.

Tutaj także należy pamiętać o poprzedzającym i końcowym pojedynczym apostrofie. Calc nie dostawia ich automatycznie, jeśli nazwa etykiety zawiera spacje lub inne znaki specjalne.

Właściwością nazw etykiet jest traktowanie ich przez Calc jako pewnej listy. Dlatego skopiowanie formuły do kolejnych komórek wstawi do niej kolejną nazwę etykiety z listy. Dla etykiet zawierających nagłówki kolumn dotyczy to kopiowania formuł w wierszu, a dla etykiet zawierających nagłówki wierszy, dotyczy to kopiowania w kolumnie.

W projekcie może się zdarzyć, że takie same nazwy etykiet wystąpią na różnych arkuszach. Na przykład układ nagłówka i boczku pokazany na rys. 18. może zostać wykorzystany do przedstawienia liczby sadzonek, powierzchni na jakiej zostały posadzone i wartości sadzonek a każde zestawienie umieszczone na oddzielnym arkuszu. System pomocy kwituje taką sytuację takim wyjaśnieniem:

Na różnych arkuszach mogą występować zakresy etykiet o tej samej nazwie. LibreOffice (OpenOffice) w pierwszej kolejności poszukuje zakresów etykiet w bieżącym arkuszu, a gdy ich nie znajdzie, przeszukuje inne arkusze.

Eksperymenty jakie w tej sprawie przeprowadziłem nie wyjaśniły do końca, sformułowania „przeszukuje inne arkusze”. Jeżeli formuła odwołująca się do nazwy etykiety została utworzona w arkuszu, w którym ta etykieta nie występuje, nie ma pewności, która z nazw a w konsekwencji jakie dane zostaną pobrane do obliczeń . Dlatego w takich sytuacjach należy zachować ostrożność.

Wspomniałem już, że nazwy etykiet są czymś innym niż nazwy obszarów. Dlatego w projekcie mogą wystąpić takie same nazwy przypisane obszarowi, jak i etykiecie i nie będzie to traktowane jako sytuacja błędna. To także może wprowadzić nieprzewidziane konsekwencje. Nazwy te bowiem pojawią się wspólnie jako elementy listy dopasowywanej do wzorca podczas wprowadzania formuły, przy czym jako pierwsze wystąpią nazwy komórek i obszarów a po nich nazwy etykiet. Wskazanie nazwy bez objęcia jej pojedynczymi apostrofami zawsze wybierze nazwę komórki lub obszaru. Aby zadeklarować, że chodzi o nazwę etykiety, trzeba tę nazwę wstawić w pojedynczych apostrofach.

Podsumowując ten temat: warto stosować nazwy przypisane komórkom lub obszarom, gdyż może to ułatwić zrozumienie logiki funkcjonowania projektu. Korzystanie z nazw wykrywanych automatycznie na podstawie nagłówka i boczku tabeli lub korzystanie z etykiet przypisanych do wierszy i kolumn, chociaż możliwe, może w niektórych sytuacjach wprowadzić zamieszanie.