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 :).

18 komentarzy:

Unknown pisze...

Bardzo ładnie opisane. Wszystko niby się zgadza, tylko jak stosuję te wskazówki to lista wyświetla tylko te pozycje, które są na tej samej wysokości. tzn. zdefiniowałem listę z zakresu istniejących komórek w arkuszu arkusz1 w polach od a1:a10 i w arkuszu arkusz2 chcę ją wyswietlić np. w polach d1:dx i co następuje: w polu d1 jest cała lista, d2 bez pierwszej pozycji (a1), d3 bez pierwszych dwóch pozycji w polu powyżej d10 nie ma na liście już żadnych pozycji.
Jak temu zaradzić?

Anonimowy pisze...

Aby źródło komórek pozostawić niezmienne należy:

Definiując źródło (zakres komórek) wpisujemy zamiast:
arkusz1.a1:a10
coś takiego:
arkusz1.$a$1:$a$10
czyli definiujemy zakres "na sztywno" przy pomocy znaków "dolara".

Pozdrawiam, Asassello

Teresa pisze...

Jest jeszcze jeden problem, jeżeli nawet zapiszę adres komórek w postaci $arkusz1.$a$1:$a$10 to po zamknięciu skoroszytu i ponownym jego otwarciu widzę w komórce na liście rozwijanej "Błąd:520" a gdy zaglądam do "pasek narzędzi/dane/poprawność danych" to czasami widzę pusto w miejscu adresu a czasami "BRAK()" czy jakoś tak, ale widziałam ten opis tylko raz, najczęściej jest po prostu pusto ... no i szukam na to rady :) pomożecie?

Teresa pisze...

Witam ponownie,
myślałam, myślałam i wymyśliłam. Arkusz miałam zapisany jako *.xls ale w momencie kiedy zapisałam go jako *.ods problem zniknął :D

Anonimowy pisze...

Wielkie dzięki. Bardziej nieintuicyjnie nie mogli tego wymyśleć.

Anonimowy pisze...

Witam Serdecznie
Przy pomocy powyższych rad udało mi się zastosować tą opcję, jednak w moim przypadku mam dużą listę (kontrahenci) około 20 tys. rekordów. W zakresie danych wpisuję zakres $a$1:$a$19207, a arkusz ogranicza wybór nazwisk do około 16 tysięcy. Czy to jest górna granica rekordów, które mogą być ustawione w listę, czy jest jakiś inny sposób aby lista miała prawie 20 tysięcy rekordów? Pozdrawiam Michał

Anonimowy pisze...

co wpisuje się w zakresie danych?
prosze o szybką pomoc

Anonimowy pisze...

bardzo fajnie opisane. Dzięki. A jak zrobić żeby wybierając z listy jedną wartość z komórki np. J20, pobierana była automatycznie wartość z komórki K20 i była wklejna w analogiczną komórkę. Np. w arkusz1.B10 wybieram 'kot' (wartość pobierana jest np. z arkusz2.h3) i automatycznie w B10 pojawia się napis 'kot' a w C10 'Filemon' (ta wartość pobrana jest z komórki arkusz2.I3). Pomocy :)

Anonimowy pisze...

użyj funkcji "wyszukaj"

Anonimowy pisze...

A ja mam zagwozdkę.
Mam dwie kolumny typ rośliny (owoc warzywo) i nazwa (jabłko, bannan, marchewka, ...).
Chciałbym żeby w pierwszej można było wpisać owoc lub warzywo,
a w drugiej żeby pokazywała się lista wyporu warzyw o ile w kolumnie pierwszej tego samego wiersza było warzywo, albo listę owoców jeżeli była wybrana kategoria owoc.
Macie pomysł jak to rozgryźć?

Anonimowy pisze...

potrzebuję lokalizacji auto odzyskiwania w calcu proszę o szybką odp i jeśli można prześlijcie mi na gg 10526172
z góry thx

Anonimowy pisze...

Proszę o pomoc w takim problemie: w jednej komórce wybieram z listy rozwijanej jeden z kolejnych numerów, ale zamiast tego numeru wyświetla się przypisany do tego numery np.: adres.

postpunker pisze...

Witam,

w komorce mam ustawiona opcje poprawnosc danych a w jej zrodle WYSZUKAJ.PIONOWO(A2; E3:F11; 2)
niestety zzwraca mi to tylko jedna wartosc a nie liste wartoszci szpelniajacych kryteria wyszukiwania, jak zrobic zeby byly to wszystkie wyniki wyszukiwania?

Pozdrawiam

Piotrek

tomasz pisze...

Witam,
Powtórzę się jak napiszę, że wszystko jest klarownie. Niemniej mój przypadek jest taki: prowadzę excel statystyczny dla pewnej drużyny piłkarkiej (minuty na boisku, kartki, gole, etc.) Mam też wyniki i pomysłem jest rozwiązanie wpisywanie wyników wybierając dane z menu rozwijanego. Do tego odnoszą się staty. z bilansami spotkań domowych i wyjazdowych. Jeżeli zrobię w liście 1-9, to reszta wyników (bilans) będzie spaczona. Jakiś pomysł?

tg

Anonimowy pisze...

W arkuszu kalkulacyjnym wpisuję nazwiska: Marzec, Kwiecień, Grudzień. Po zatwierdzeniu pokazują się małą literą. Nie mogę tego zmienić. Proszę mi pomóc. Jola

Lookanio pisze...

Wymuś brak rozpoznawania formatu komórki, wpisując ' (apostrof) przed nazwiskiem. Np. 'Marzec.

Anonimowy pisze...

akutalizacja listy ? jak zrobić aby po dokonanych zmianach w liscie wyboru, te zmiany byly widoczne we wczesniejszych wpisach gdzie zostala uzyta lista wyboru? open office calc.. ktoś pomoże?

Ewa pisze...

Sama kiedyś przez nieuwagę zapisywałam w innym formacie, bo nie patrząc po prostu klikałam zapisz, ale widzę, że nie ja jedyna ;)