Robert K.

Robert K. Project Manager,
Bank BGŻ BNP Paribas
S.A.

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

Witam,
Stanąłem przed wyzwaniem jak w temacie. Mam zbiór wartości na zasadzie Kategorii i Podkategorii w relacji jeden do wielu. Wybranie wartości z listy zdefiniowanej jako zakres Kategorii powinien powodować ograniczenie wartości na drugiej liście do Podkategorii przypisanych do tej Kategorii, którą wybraliśmy na pierwszej liście. Listy te będą prezentowane w komórkach obok siebie. Proszę o pomoc w podjęciu tego wyzwania :)
Tomasz Gryzio

Tomasz Gryzio Dyrektor
zarządzający/Trener/
Konsultant - It
School

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

Witam,

Jedno z kilku rozwiązań - posiada swoje wady (które mogą nigdy nie wyjść) i zalety (które mogą spełniać warunki zadania):

Zakładam, że zakres A1:D4 =
Kategorie PodKatA PodKatB PodKatC
A a d g
B b e h
C c f i

1. Zaznaczam zakres B2:B4 , dla Excela >=2007 Formuły->Definiuj nazwę, w polu nazwa wpisuję A, OK - do zakresu B2:B4 została przypisana nazwa "A", można się nią posługiwać niczym *adresem* zakresu.
2. Zaznaczam zakres C2:C4 , dla Excela >=2007 Formuły->Definiuj nazwę, w polu nazwa wpisuję B, OK - do zakresu C2:C4 została przypisana nazwa "B", można się nią posługiwać niczym *adresem* zakresu.
3. Zaznaczam zakres D2:D4 , dla Excela >=2007 Formuły->Definiuj nazwę, w polu nazwa wpisuję C, OK - do zakresu D2:D4 została przypisana nazwa "C", można się nią posługiwać niczym *adresem* zakresu.

4. Zaznaczam komórkę A6, dla Excela >=2007 Dane->Poprawność danych/Dozwolone: lista,Źródło: =$A$2:$A$4
- do komórki A6 została przypisana lista wyboru oparta na A2:A4.
Rozwijam listę i wybieram "A"

5. Zaznaczam komórkę B6, dla Excela >=2007 Dane->Poprawność danych/Dozwolone: lista,Źródło: =ADR.POŚR($A$6).
- do komórki B6 została przypisana lista wyboru oparta na zakresie, którego nazwą jest wartość z komórki A6, a że w komórce A6 jest tekst należy go zamienić na adres, co robi funkcja ADR.POŚR

6. Po zmianie wartości w A6 zmienia się lista możliwości w B6.

Pliczek: http://www.itschool.pl/goldenline/listy.xlsx
Pozdrawiam!
Robert K.

Robert K. Project Manager,
Bank BGŻ BNP Paribas
S.A.

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

Dzięki za pomoc. Twoje uwagi zdecydowanie się przydały. Co do wad to na pewno jest nią fakt, że nazwa zakresu powinna być taka jak Kategorii, którą wybieram z listy. W przypadku gdy nazwa kategorii jest dwuczłonowa to staje się to niemożliwe. W każdym innym przypadku metoda ta świetnie się sprawdza :)
Jeszcze raz dzięki za pomoc.

konto usunięte

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

Jak masz nazwy dwuczłonowe, to możesz rozwiązanie Tomasza rozwinąć o słownik Kategoria - Nazwa zakresu oraz dodać do rozwiązania funkcję WYSZUKAJ.PIONOWO.
Robert K.

Robert K. Project Manager,
Bank BGŻ BNP Paribas
S.A.

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

Paweł,
Z tego co wiem to WYSZUKAJ.PIONOWO sprawdza się w przypadku gdy dane mają relację jeden do jeden, czyli w moim przypadku, gdyby każda Kategoria miała tylko jedną Podkategorię. Jak mogę wykorzystać tą funkcję w opisanym przez Tomka przykładzie i przypadku, gdy dane mają relacje jeden do wielu?

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

Ktoś kiedyś podrzucił mi taki plik:
https://docs.google.com/file/d/0B9zU4-v_07qyMWFEaTlmV0l...

konto usunięte

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

Robert K.:
Paweł,
Z tego co wiem to WYSZUKAJ.PIONOWO sprawdza się w przypadku gdy dane mają relację jeden do jeden, czyli w moim przypadku, gdyby każda Kategoria miała tylko jedną Podkategorię. Jak mogę wykorzystać tą funkcję w opisanym przez Tomka przykładzie i przypadku, gdy dane mają relacje jeden do wielu?

Nie jako alternatywne rozwiązanie, tylko jako uzupełnienie, do pkt. 5 podanego przez Tomka. Zamiast
=ADR.POŚR($A$6)
to co masz w argumencie funkcji mapujesz ze słownikiem właśnie 'WYSZUKAJEM PIONOWYM'. I wtedy nie będzie problemu z nazwami kilkuwyrazowymi.

--
Paweł Kiraga, piszący blog o praktycznym wykorzystaniu pakietu Microsoft Office

Temat: Jak sprawić by wartość z jednej listy rozwijanej...

http://excelperfect.pl/?p=243

Albo:

http://www.excelforum.pl/topics7/29-lista-na-podstawie...



Wyślij zaproszenie do