< návrat zpět

MS Excel


Téma: Kopie vyhovujích záznamů do jednoho listu rss

Zaslal/a 26.5.2015 10:27

Dobrý den,
mám tabulku s více listy a stejným formátem dat. Záznamy, které vyhovují určitým podmínkám by jsem chtěl zobrazit zvlášť v novém listu kde by byly vidět všechny data pohromadě ze všech listů (podobně jako filtrování dat v rámci jednoho listu). Jak na to?

Díky za tipy

Zaslat odpověď >

Strana:  1 2   další »
#025167
avatar
Daj(skopíruj) to všetko na jeden list a vyfiltruj.
Pôvodné ti zostane.citovat
#025169
avatar
Ty data se neustále mění a musí zůstat na těch listech zvlášť tak jak jsou. Na tom novém listu by se zobrazovali aktuálně vyhovující data ze zdrojových listů...citovat
#025170
elninoslov
Tu máte spojenie tabuliek makrom, a buď si dorobíte filtrovanie podľa tých tajných podmienok, alebo nám ich prezradíte spolu s druhmi, typmi, počtom údajov, a mi Vám pomôžeme to urobiť.
Počet tých tabuliek je nemenný? Počet riadkov v tabuľkách je nemenný ? Dajte prílohu.
Příloha: rar25170_tabulkyspolu.rar (18kB, staženo 24x)
citovat
#025172
avatar
Počet řádek v jednotlivých listech je různý tak jak se data dopisují, počet listů taktéž. Podmínka je např. datum="", vek>30. Ten věk bych chtěl zadávat uživatelsky z buňky aby se dal měnit a makro si ho přebralo z té buňky.
Lze to udělat aniž by se muselo mačkat tlačítko a data se měnily interaktivně ihned po změně v listech?
Příloha: zip25172_tabulky-spolu.zip (19kB, staženo 23x)
citovat
#025182
elninoslov
No to som aj čakal, že nenapíšete žiadne podrobnosti, ani nedáte prílohu s reálnymi dátami, počtom stĺpcov, typom dát rozložením v listoch a pod.
No nič, 3 x som preleštil moju ošúchanú krištáľovú guľu, vypil 2 čarovné nápoje so žabacieho slizu, prehltol netopiera , o ostatných rituáloch ani nehovorím radšej, ... a navrhol som Vám riešenie. Žiaľ bez udania podrobností Vám to nedokončím, musí to byť na mieru.
Ešte treba zinteligentniť zadávanie filtra, pretože tento predpokladám ovládať vedieť nebudete. Funguje tak, že pre každý stĺpec dát nadefinujete podmienku (>30, <50, lenže napr. prázdny dátum musíte nadefinovať ="="&""), vedľa seba je AND, pod sebou je OR.

Čo sa týka toho obnovovania, v reálnom čase to nieje príliš reálne. Hlavne ak máte množstvo listov s množstvom riadkov. Takže som to nastavil tak, že sa filter vypočíta keď sa prepnete na list Filter, alebo ak zmeníte filter.
Příloha: rar25182_tabulkyspolu.rar (26kB, staženo 23x)
citovat
#025204
avatar
Tohle vaše řešení vypadá dobře a docela jsem to pochopil včetne VBA kódu i když v něm nedělám, takže si to i eventuelně přizpůsobím. Volání "call filter" na kliknutí listu nebo změně filtru plně vyhovuje.
Ještě mi není jasné co napsat do filtru když budu chtít vybrat řádky kde je např. "datum > 1.1.2016". A ještě jedna věc mě napadla když bude více zdrojových souborů aby se výsledky načítali do jednoho listu (do buněk by se napsaly cesty k souborům a z těch by se načetly data)?citovat
#025209
elninoslov
Takto by som si predstavoval zjednodušenie zadávania filtra pre užívateľa (ten červený filter bude schovaný)). Problém je, že to funguje iba čiastočne.

Preto prosím o radu kolegov, prečo mi to neberie korektne v úvahu dátum, ak vo filtri nieje iná podmienka ? Akonáhle je tam okrem dátumu napr. aj nejaká podmienka veku, hneď to funguje. Ale samotný dátum nie.

@A ještě jedna věc mě napadla když bude více zdrojových souborů aby se výsledky načítali do jednoho listu (do buněk by se napsaly cesty k souborům a z těch by se načetly data)?
Toto bude zložitejšie ako si myslíte, neviem či sa mi s tým bude chcieť paprať. Vy viete koľko vzorcov na získanie dát máte vložiť ? Viete ako sa budú volať súbory ? Viete aké názvy budú mať listy? Viete koľko listov bude ? To sú nesmierne komplikácie na získanie neznámeho počtu dát z neznámeho počtu listov, neznámych názvov listov, neznámeho počtu súborov a ich názvov.

PS: zmenil som makro tak, že sa data zoskupia len keď sa aktivuje list Filter, a ten sa prepočíta, ak je zmenená bunka vo filtri.

EDIT: Takže problém je pravdepodobne v tom, že vzorec nedokáže vrátiť hodnotu Empty, ale iba "" a to robí vo filtri galibu. Pracujem snáď na riešení.
A v tomto poslednom súbore som zabudol ešte po otvorení aktualizovať, a po otvorení to píše chybu, ale to neva, opravím v ďalšej verzii - ignorovať...
Příloha: rar25209_tabulkyspolu.rar (27kB, staženo 23x)
citovat
#025219
elninoslov
No takže mám to upravené, funkčné. Okrem toho, že vzorec nedokáže vrátiť EMPTY (BLANK), tak tam bol ešte jeden zákerný problém v IIF. Vyriešené.
Chcete aj popis makra ? (Príliš sa mi nechce, ale keby ste naliehal ...)

A a teraz, po mojom trápení, sa potrápte Vy, a dajte čo najpodrobnejší popis o tých súboroch, z ktorých by ste tam ešte chceli čerpať ďalšie data. Ešte raz opakujem, čo najpodrobnejší. Teda napr. (okrem iného):
-kde budú uložené tie iné zošity?
-bude ich premenlivý počet?
-budú mať nemenné názvy?
-ak budú názvy menné, podľa akého vzorca sa budú meniť?
-budú obsahovať meniaci sa počet riadkov?
-budú mať rovnakú štruktúru ako tento zošit?
-budú mať rovnaký typ dát?
-budú mať rovnaký počet a usporiadanie stĺpcov?

Uvidíme podľa toho čo popíšete, či to vôbec bude riešiteľné, a či sa na to dám, pretože popravde, zatiaľ netuším ako by sa to dalo (podľa tipovaných odpovedí na dané otázky).
Příloha: rar25219_tabulkyspolu2.rar (32kB, staženo 24x)
citovat
#025228
avatar
Tak jsem na to makro zběžně koukal. Celkem jsem to pochopil jak to funguje až na tohle:

If x = 4 Then dat = CStr(CDbl(UF(y, (x - 1) * 2 + 2))) Else dat = UF(y, (x - 1) * 2 + 2)
FF(y, x) = IIf(IsEmpty(UF(y, (x - 1) * 2 + 1)), IIf(IsEmpty(UF(y, (x - 1) * 2 + 2)), Empty, "=" & dat), UF(y, (x - 1) * 2 + 1) & IIf(IsEmpty(UF(y, (x - 1) * 2 + 2)), Empty, dat))


... tím se setaví vyhledávací řetězec z tabulky zadaných hodnot, ale ty funkce opravdu neznám...

UF = hodnoty proměnných pro vyhledání ?
FF = ?

..stačí stručně :-))

To načítání z jiných souborů pusťte z hlavy akorát by to bylo dost složitý, zase jich není tolik (řádově do pěti).citovat
#025230
elninoslov
Áno, bol som si takmer istý, že presne tomuto nebudete rozumieť 5
Pole UF je pole zadaných dát od užívateľa. Tieto dáta sa potom zložia do reťazcov pre filter. Pretože asi bude jednoduchšie, ak budete mať na výber zvlášť znamienka, a hodnoty zadáte aké potrebujete. Keďže sa teda každý jednotlivý filter skladá z 2 stĺpcov (znamienko, data), ale jednotlivý filter je len 1 stĺpec, potrebujeme si vypočítať ktorá časť poľa UF (8 stĺpcov) patrí k práve spracovávanej časti filtra (4 stĺpce)

UF(y, (x - 1) * 2 + 1) vráti znamienko
UF(y, (x - 1) * 2 + 2) vráti dáta filtra

x - je vodorovná súradnica (dosaďte si čísla 1 až 4 a zistíte ako to funguje)
y - je zvislá súradnica

If x = 4 Then dat = CStr(CDbl(UF(y, (x - 1) * 2 + 2))) Else dat = UF(y, (x - 1) * 2 + 2)
Ak spracovávame dátum (X = 4) tak CDbl prevedie dátum na číslo, a CStr to číslo prevedie na string. Ak je X <> 4 tak dostaneme hodnotu rovno z UF.

FF(y, x) = IIf(IsEmpty(UF(y, (x - 1) * 2 + 1)), IIf(IsEmpty(UF(y, (x - 1) * 2 + 2)), Empty, "=" & dat), UF(y, (x - 1) * 2 + 1) & IIf(IsEmpty(UF(y, (x - 1) * 2 + 2)), Empty, dat))
FF je pole hotových reťazcov pre filter, a tie reťazce vypočítame cca takto:
JePrázdneZnamienko = IsEmpty(UF(y, (x - 1) * 2 + 1))
JePrázdneFilterData = IsEmpty(UF(y, (x - 1) * 2 + 2))
Empty = prázdna bunka/reťazec

Ak JePrázdneZnamienko=True tak
------ ak JePrázdneFilterData=True tak vráť Empty
------ ak JePrázdneFilterData=False tak vráť "=" & dat
ak JePrázdneZnamienko=False tak
------ vráť znamienko &
----------------------- ak JePrázdneFilterData=True tak Empty
----------------------- ak JePrázdneFilterData=False tak dat

To som samozrejme nedal zbrucha, ale najskôr som si pri návrhu vytvoril pomocné premenné, ktoré som po zfunkčnení, odstránil a nahradil rovno tým, čo reprezentujú. Urobil som to len kvôli o niečo kratšiemu kódu.

No a zabezpečuje to to, že aj keď nezadáte do znamienka nič ale dáta áno, vloží sa namiesto ničoho "=" + dáta. Ak zadáte znamienko, ale nezadáte dáta, vloží sa len znamienko (pre prípad testu nevyplneného údaju), ak nieje ani znamienko ani data, nevloží sa nič (Empty), ak sú oboje, vložia sa oboje spolu.

PS: Ak to bude pre Vás ľahšie pochopiteľné, tak Vám to vrátim do stavu s pomocnými premennými.citovat

Strana:  1 2   další »

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje