< návrat zpět

MS Excel


Téma: Dynamický seznam pro ověření dat rss

Zaslal/a 27.5.2019 14:35

Dobrý den,
mohl by mi, prosím někdo pomoct s řešením, jak aplikovat ověření zadávaných dat do buňky pomocí proměnného seznamu hodnot? Seznam je tvořen vždy kombinací textových hodnot vybíraných z neměnného souboru. Ten se skládá řekněme z celkem 5 hodnot, vč. prázdné hodnoty "" (např.: "", A, B, C, D). Samotný seznam je pak sestavený z těchto hodnot (všech, nebo některých z nich), v závislosti na výsledku vzorců pro každou hodnotu zvlášť, jestli v seznamu v daném případě bude figurovat či nikoli ("ano", nebo "ne"). Jednou to může být všech 5 hodnot až po variantu, kdy bude seznam obsahovat pouze prázdnou hodnotu "". Hodnoty v seznamu ale nemusí být sestaveny v souvislé řadě, např. kombinace: "", B, D.
Seznam se aplikuje v ověření dat v buňce pro 30 řádků na listu a listů v sešitě je 12, v každém řádku může být sestaven jinak.
Doposud jsem to měl vyřešeno definovanými názvy konkrétních variant seznamů. Těchto seznamů bylo 8. Ale položek seznamu přibylo a variabila taky narostla. Rád bych tedy našel efektivnější řešení.
Předem díky za nápady.

Zaslat odpověď >

Strana:  1 2   další »
#043435
avatar
Z toho popisu moc moudrý nejsem, tak alespoň posílám odkaz: https://exceltown.com/navody/postupy-a-spinave-triky/zajimave-kombinace-funkci/dynamicka-definice-oblasti-bunek-pro-overeni-dat-nebo-pro-kontingencni-tabulku/

Co třeba nějaká příloha?citovat
#043436
avatar

Jiri-497 napsal/a:

Z toho popisu moc moudrý nejsem, ...
Co třeba nějaká příloha?

Děkuji za reakci. Myslím, že jsem to popsal srozumitelně. Ale to těžko můžu posoudit. Přikládám tedy modelovou tabulku, ze které by problém měl být jasnější.
Příloha: zip43436_dynamicky-seznam-v-overeni-test_00.zip (9kB, staženo 40x)
citovat
#043437
avatar
Zkus kouknout na tohle, asi neco podobneho
Příloha: xlsx43437_porovnani.xlsx (13kB, staženo 39x)
citovat
#043439
avatar
Napadl mě tento způsob s pomocnými sloupci.
Ještě by to chtělo zrušit ty prázdné buňky.

Je to od řádku 12.
Příloha: xlsx43439_dynamicky-seznam-v-overeni-test_00.xlsx (13kB, staženo 27x)
citovat
#043441
elninoslov
Každý riadok každého listu má samostatne počítaný zoznam s podmieneným formátom na upozornenie na chybu.
Příloha: xlsx43441_dynamicky-seznam-v-overeni-test_00.xlsx (42kB, staženo 37x)
citovat
#043446
avatar
Všem zapojichvších se do řešení problému děkuji za reakce a snahu pomoci.
To OndraEx: Předložený návrh neřeší můj problém...
To Jiří497: Naznačené kroky mají ještě hodně daleko k cíli. Mezery v jednořádkových polích, které by mohly být zdrojem dat pro rozbalovací seznam v ověření, jsou nežádoucí.
To elninoslov: Konstrukce řešení je natolik složitá a sofistikovaná (navíc myslím, že tam něco nefunguje tak, jak jsi zamýšlel), takže bez doprovodného komentáře je to celé pro mne s mými "znalostmi" nesrozumitelné. Vidím, že jsi vytvořil pomocný list, který je skrytý. Na jednotlivých ostrých listech jsou již vyplněné hodnoty, rozbalovací seznam ověření ale z nějakého důvodu nikde nejde otevřít!? V pomocném listu ve sloupci "B" jsou maticové vzorce obsahující neznámý název "NazvyListu", takže vzorce nevracejí hodnoty. to jsou zatím mé první postřehy.
Zkusil jsem se pustit do řešení vlastními silami. Viz přiložená ukázka. Takhle by to snad mohlo fungovat, Je to sice také poněkud rozvláčné, ale zdá se, že by to mohlo splňovat výchozí požadavky. Znamená to, vytvořit na každém listu (je jich v základu 12, ale může být důvod je v sešitu i duplikovat) celkem 10 pomocných skrytých sloupců.
Kdyby měl někdo návrh na úspornější řešení, sem s ním.
Příloha: xlsx43446_dynamicky-seznam-v-overeni-test_01.xlsx (14kB, staženo 25x)
citovat
#043447
elninoslov
Som teraz len na mobile. Ten "neznámy názov" je GET.WORKBOOK, slúži na získanie zoznamu listov. Bohužiaľ funguje len v xlsm. Zapíšte do tabuľky zoznamu listov manuálne názvy listov. Malo by to fungovať. Preverím to prípadne až doma. Neviem, čo je v tej poslednej prílohe, ale ak tam nieje presne spôsob vypočtu položiek vzhľadom ku každému listu, tak je to bezpredmetné. Treba uviesť, či ma každý list svoje výpočty, a počet listov nieje pevny (spomínaná duplikácia listov), tak to bude problém.citovat
#043448
avatar
Každý list má svoje výpočty a je i přímo žádoucí, aby se vše odehrávalo jenom v rámci každého listu, i s ohledem na možné kopírování listů.citovat
#043454
avatar
Ještě takový nápad. Je reálné vytvořit vzorec, který by byl v každém řádku ve skrytém sloupci, jehož výstupem by byl textový řetězec obsahující seznam platných kódů, oddělenými např. čárkami, pro příslušný řádek. To se jeví jako efektivní. Zbývá vyřešit, jak z tohoto textového řetězce dostat seznam použitelný v ověření.citovat
#043455
elninoslov
Overenie dát príjme reťazec zadaných hodnôt, iba ak ho tam Vy napíšete. Nie keď ten reťazec je počítaný vzorcom. Nedá sa použiť ani nejaké virtuálne maticové pole počítané vzorcom. Vzorcom sa dá odkazovať iba na bunky.

Univerzálny vzorec pre nepreddefinovaný počet listov s neznámymi názvami je problematický. Niektoré vzorce nemôžete použiť v Overení, preto treba použiť Definované názvy, ale tam zase musí byť odkaz na konkrétny list. Na odstránenie tohoto som použil INDIRECT ...

Teraz je to teda urobené tak, že každý list bude mať (napr. skryté) svoje vlastné výpočty. Tu to máte aj s vyfarbovaním nevalidných hodnôt (ktoré ľahko nastanú pri zmene podmienok ovplyvňujúcich výberový zoznam) cez Podmienené formátovanie. Je jedno koľko si nasekáte listov, len musia vzniknúť buď kopírovaním zo šablóny (čistého listu bez dát, s plnou funkcionalitou), alebo duplikovaním vyplnených listov.

Je to už takto pochopiteľné a akceptovateľné?citovat

Strana:  1 2   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

Sumar nakupov

Pavlus • 22.1. 13:05

VBA - načtení dat ze souboru s proměnným názvem

Fantasyk • 22.1. 9:12

Sumar nakupov

Robo11 • 21.1. 21:23

VBA - načtení dat ze souboru s proměnným názvem

€Ł мσşqμΐτσ • 21.1. 12:21

Tělo emailu ve VBA - formát

Fantasyk • 20.1. 20:47

odstranenie opakujucich sa udajov v riadkoch

frantilopa • 20.1. 18:12

odstranenie opakujucich sa udajov v riadkoch

marjankaj • 20.1. 18:01