< návrat zpět

MS Excel


Téma: Závislé seznamy rss

Zaslal/a 10.3.2015 13:50

Zdravím
vyběr ze seznamu2 závislý na volbě seznam1 se tady řešil.
Potřeboval bych ale poradit s trochu specifickým problémem.
V přiloženém souboru - v listu "seznam" je tabulka s prvky seznamu.
"Oblast" může obsahovat více řádků (předpoklad max.100), taktež prvky druhého seznamu jsou v rozmezí 1-100.
V list2 může být umístěný seznam kdekoliv, budou ale vedle sebe a rozkopirované i na více než 100 řádků.
Stručně řečeno potřeboval bych něco univerzalnějšího, aby se to dalo přizpůsobit.
Pokud možno s využitím "ověření dat" a funkcí, bez makra.
Díky

Příloha: zip24046_dvojte-seznamy.zip (9kB, staženo 41x)
Zaslat odpověď >

Strana:  « předchozí  1 2 3   další »
#024069
avatar
Mně se nejvíc ověřilo pomocí definování názvů.. K tomu jsem použil makra, pokud se názvy nějak výrazně měnily, stačí jedním tlačítkem na celou oblast (sloupec).

a do ověření pak dáš jen název oblasti (jednotlivých sloupců)

a do závislého seznamu funcki: neprimy.odkaz(dosadit(...))

to pak funguje naprosto bez problémů, jen při každé aktualizaci oblastí, je třeba aktualizovat názvy..citovat
#024071
avatar
Pouze jsem odstranil absolutni reference.
Příloha: zip24071_dvojte-seznamy3.zip (9kB, staženo 56x)
citovat
#024077
avatar
to pepe74287
Funguje, díky :-)
1. Požádal bych o vysvětlení "odstranil absolutni reference."
2. šlo by nějakým způsobem popsat (rozkouskovat) použitý vzorec?
3. po přenosu sešitu na jiný (pracovní) PC to nefunguje. Při vytváření ověření dat hlásí "Hodnota v poli Zdroj je v současnosti hodnocena jako chyba. Chcete pokračovat?"
po Ano je rozevirací seznam prázdnýcitovat
#024078
avatar
to Devil:
Můžeš to prosím konkretizovat na mém souboru? Díky.citovat
#024079
avatar
1) - absolutni reference se pozna podle znaku $ pred sloupcem nebo radkem a laicky receno znamena to, ze pri kopirovani vzorce do jinych bunek se vzorec porad odkazuje na tu samou bunku. Tzn pokud je ve vzorci napr odkaz $A$1, tak at se bunka rozkopiruje kamkoliv, tak se porad bude odkazovat na A1. Pokud je odkaz A1, tak se bude menit - napr po zkopirovani bunky o radek dolu se z A1 stane A2, po zkopirovani o sloupec doprava B1. Odkaz se da i kombinovat - napr $A1 - to znamena, ze se vzorec po zkopirovani porad bude odkazovat na sloupec A a menit se bude pouze cislo radku.citovat
#024080
avatar
2) Pokusim se strucne:

Cilem vzorce je najit oblast bunek z listu seznam, z kterych se bude tvorit rozbalovaci seznam (tzn napriklad pro "Dlouhý název oblasti 03" potrebujeme, aby vzorec nasel oblast D2:D4, pro "Dlouhý název oblasti 06" G2:G6 atd. Vzhledem k tomu, ze ten seznam nema predem dany pocet radku ani sloupcu, tak je nutno pouzit tzv "dynamicky range" - a to zajisti funkce offset. Te musime rict, jak ten range najit.

Nejdrive musime definovat, s kterym sloupcem ma pocitat - k tomu slouzi funkce match - ta vezme hodnotu zadanou v prvnim rozbalovacim menu a hleda ji v prvnim radku listu seznam (napr "Dlouhý název oblasti 04" je v patem sloupci, proto match vrati 5). Nasledne je nutno cislo sloupce prevest na pismeno (tzn 5 na E, 7 na G apodob) - to je zrejme nejnarocnejsi cast celeho vzorce. Toto je zajisteno touto casti vzorce - MID(ADDRESS(1,MATCH(List2!H8,OFFSET(seznam!$A$1,0,0,1,COUNTA(seznam!$1:$1)),0)),2,1)&":"&
MID(ADDRESS(1,MATCH(List2!H8,OFFSET(seznam!$A$1,0,0,1,COUNTA(seznam!$1:$1)),0)),2,1).

Jakmile mame jmeno sloupce, tak musime zjistit, jaka je "vyska" toho daneho sloupce (jinymi slovy, kolik ma dany sloupec obsazenych radku) - to zajisti funkce counta. Offset to cele pak nasledne vyhodnoti - tzn u "Dlouhý název oblasti 04" offset uz "vi", ze ma zacit v bunce E2 a skoncit v E6. V rozbalovacim seznamu jsou proto nabidnuty prave hodnoty z teto oblasti.citovat
#024081
avatar
3) Nevim, jak presne vypada struktura toho dalsiho souboru, ale predpokladam, ze problem bude s nazvy listu v tom novem souboru. "Prvky01" se totiz odkazuje jak na list seznam, tak na List2. Pokud jsou listy v novem souboru pojmenovany jinak, musi se nahradit nazvy starych listu novymi.citovat
#024082
avatar
to pepe74287
ad 3)
soubor *.xlsx, který je na tomto PC funkční jsem pouze překopíroval do pracovního PC (bez žádných změn).
..a nefunguje :-(citovat
#024083
avatar
ad 2) Díky moc za |"objasnění" :-)citovat
#024084
avatar
Zkuste ho prilozit, z hlavy urcite nevymyslim, proc to nejde..citovat

Strana:  « předchozí  1 2 3   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32