11.12.07

Calc: Jak zamienić komórkę w menu rozwijalne

Czasem zdarza się, że chcielibyśmy ograniczyć zestaw wartości możliwych dla danej komórki. Postaram się w kilku krokach pokazać, jak takie ograniczenie zaimplementować w postaci listy rozwijalnej.

Wyobraźmy sobie następujący arkusz:


Każda pozycja ma określoną wartość, pozostaje wybrać odpowiednią jednostkę. Nasze zadanie to zapobiec przypadkowemu przypisaniu np. kilogramów jako jednostki prędkości :). W tym celu zaznaczamy komórkę, w której chcielibyśmy zobaczyć pożądaną jednostkę i z menu Dane wybieramy Poprawność danych... (w angielskim interfejsie Data => Validity...)


Pojawi się okienko. Pozostajemy na jego pierwszej zakładce, a z dostępnych możliwości wybieramy Lista (ang. List).


Teraz pozostaje już tylko wpisać wartości, które powinny być dostępne:


Zatwierdzamy przyciskiem OK i możemy cieszyć się w pełni funkcjonalną listą rozwijalną, składającą się z wpisanych przez nas wartości:


Powyższy sposób sprawdza się dla wartości statycznych. A co jeśli nasza lista zmienia się dynamicznie i zawiera w innej części dokumentu bądź nawet w sąsiednim arkuszu? Nic trudnego, Calc dopuszcza możliwość zdefiniowania zakresu istniejących komórek jako wartości listy. Korzystając z powyższego przykładu, wyobraźmy sobie, że jednostki masy mamy wypisane w sąsiedniej kolumnie. Ponownie wybieramy Dane => Poprawność danych... (ang. Data => Validity...), lecz tym razem zamiast Lista (ang. List) zaznaczamy Zakres komórek (ang. Cell Range). Pozostaje nam już tylko uzupełnić zakres komórek:


Gdyby interesujący nas zakres komórek znajdował się w osobnym arkuszu o nazwie Arkusz2, poprawna definicja wyglądałaby następująco:
Arkusz2.F3:F5
natomiast w przypadku, gdy nazwa arkusza zawiera spację (np. Arkusz 2) stosujemy zapis z apostrofami:
'Arkusz 2'.F3:F5
Po zatwierdzeniu przyciskiem OK, powinniśmy otrzymać następujący efekt:


Jeśli zmienimy wartości w zadanym zakresie komórek źródłowych, Calc odpowiednio dostosuje zawartość w menu rozwijalnym. Miłego korzystania :).