Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 27. 6. 2013 08:24:18

Rufus
Člen
Registrace: 27. 6. 2013
Příspěvků: 3

Podmíněné výběry

Dobrý den, nedávno tu byl dotaz, jak dělat podmíněné výběry, kdy každý další výběr, je omezen tím předchozím.
Mám podobný problém, na který jsem to zkoušel aplikovat, ale bohužel se mi to uplně nedaří. Mám tabulku, ve které je v každém řádku popsáno např. jedno auto. V sloupci A je značka auta, v B model, v C barva, atd. Zkoušel jsem vytvořit zmiňované výběry, kdy je každý další omezen tím předchozím, ale narazil jsem v bodě, kdy se například barva opakuje u více výrobců nebo modelů.

Zde je můj pokus:

pomocí  kontroly vstupních dat jsem do oblasti zadal tenhle vzorec:
OFFSET(A$2;MATCH(A$36;A$2:A$22;0)-1;1;COUNTIF(A2:A22;A36);1)

(v řádku 36 je výstup, data jsou v řádcích 2-22), vše funguje pouze v případě, že jsou data srovnány a neopakují se.

Doufám, že je to srozumitelné. Předem děkuji za jakoukoliv radu!

Pavel

Offline

#2 27. 6. 2013 11:42:21

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,465

Re: Podmíněné výběry

Pavle, asi jste to špatně pochopil. Matně si na to vzpomínám, ale Vy řešíte asi jiný problém. Zejména vzhledem ke vzorcům jde o to, zda zdroj dat mate na jiném listě, nežli definovaný dotaz. Vlastní kontrolu zdroje lze ve Vašem případě nejlépe zjistit pomocí IF a And. Ale nevidím co chcete zjistit. Zda máte, nebo ne - požadovaný druh zboží (vozidla). To je asi pochopitelné, ale potřebujete také například počet - kolik aut s pozitivním vyhledáváním se našlo? Nebo potřebujete vrátit obsah buňky která obsahuje dejme tomu nějaký odkaz (číslo parkovací plochy, majitele auta, dílny - cechu, nebo třeba ceny, rozsah objednané opravy atd..)?
    Když by byly údaje jen v jediném listu stejně s vyhledáváním, pak by byla lepší tabulka (také kontingenční). Lze to sečíst vše do jediné buňky pomocí "AND", "OR" a podobně. Vzorec může sčítat samostatně a například při shodě všech parametrů vyplivně třeba číslo 4, když jeden parametr schází, tak 3...atd.
    Ale pokud by třeba vznikl požadavek postupného seřazení podle relevance (vyhodnocení každého parametru samostatně nebo i dohromady) na jiném listu - bylo by to trošku obtížnější. Mám představu, že přijde zákazník a řekne co chce. Vy zadáte do formuláře parametry a chcete vrátit jen relevantní výsledky, seřazené pod sebou v kolonkách formuláře například podle ceny, ujetých kilometrů a tak dál.


     Domnívám se, že by jste sem měl postnout příklad a důkladně popsat co vše to má dělat, nebo nedělat.

Editoval neutr (27. 6. 2013 11:46:35)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 27. 6. 2013 12:23:43

Rufus
Člen
Registrace: 27. 6. 2013
Příspěvků: 3

Re: Podmíněné výběry

Ano je to jiný problém, ale doufal jsem, že by to aplikovatelné..
Výsledkem by mělo být aby si pak uživatel zvolil konkrétní typ výrobku z nabídky, tím že bude v jednotlivých seznamech konkretizovat, svůj výběr. Jde o to, aby se v každém dalším výběru nabízela pouze data, která přískluší k předchozímu výberu. Data by byla ideálně uložena v jiném listě.
Pro názornost jsem nahrál svůj konkrétní případ na ulozto:
http://uloz.to/xkRVtX2b/seznamy-ods

Offline

#4 27. 6. 2013 14:22:21

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,465

Re: Podmíněné výběry

Já mám dojem, že na tohle stačí autofiltr.
- Vložíte autofiltr, ale předem dáte skrýt řádky kde jsou data.
- Autofiltr zvolíte nad jakýmkoliv sloupcem. Další volby mohou být také napřeskáčku.
- Vše se řadí jak asi právě popisujete.
    Posílám malinko upravený soubor. Mrkněte, jestli je to takhle správně. K tomu jen snad tolik, že skrývání řádků se provede výběrem všech mimo těch s autofiltrem - postavíte se do lišty s čísly řádků klepnete na pravé tlačítko myši - vyberete skrýt. Jsou vidět jen nabídky a ty se volbou zobrazí.
    Udělal jsem jen maličkost - přidal jsem kolonku objednávka, která zase vybere v listu 2 jen takové položky, které (ač třeba skryté) mají zápis. Takže je možné z toho vytvořit dodák, fakturu ap. seznamy


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#5 27. 6. 2013 14:36:51

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: Podmíněné výběry

Řešit toto vzorci je už dost nepraktické. Předpokládám, že vstupem prodata je nějaký (asi) měnící se katalog.

Pro vyplňování potřebujete (pokud to má nějak vypadat) seznam unikátních položek k vyplnění. To sice vzorci udělat jde, ale kdo to bude udržovat. Je tedy třeba tyto seznamy vytvořit.

Vhodné by tedy mohlo být makro/funkce, která např. na vstupu bere 2 pole (celá tabulka v příkladu a2:e22, ve volitelném druhém poli by mohly být už vyplněné řádky a funkce by vrátila pole unikátních hodnot k vyplnění. (2 pole jsou asi jednodušší pro realizaci).

Lze použít i uživatelské zjednodušení - např. místo celé tabulky 1. parametru by se zadalo jen první buňku pole - funkce by si našla celou příslušnou tabulku - při změně rozsahu tabulky by se nemusely přepisovat vzorce. (I když to se dá snadno obejít použitím pojmenovaných oblastí.)

Offline

#6 27. 6. 2013 14:54:50

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,465

Re: Podmíněné výběry

Ještě mne napadlo, že hodně muziky za málo peněz by bylo při skrývání sloupců jednoduchým makrem, které si snadno nahrajete. Pak už jen přiřadit "hezky" tlačítka a může to vypadat jako profesionální program . smile


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#7 1. 7. 2013 15:11:48

Rufus
Člen
Registrace: 27. 6. 2013
Příspěvků: 3

Re: Podmíněné výběry

Díky za rady. Pomocí autofiltru se ale nevyřeší to, že by v dalším výběru měly být jen reálné možnosti (ne všechny). Jen jsem si to chtěl ověřit, jestli neexistuje nějaká funkce, která by to omožňovala..
Pokusim se to obejít nějakým tím rozčleněním.

Offline

#8 1. 7. 2013 17:34:33

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,465

Re: Podmíněné výběry

Skutečně to jde udělat vzorci, ale taková metoda je vhodná jen pro relativně malý počet položek. Nyní hovořím o obecných vzorcích s IF, AND a podobně.     
    Další možností vzorců jsou vyhledávací funkce jako lookup, vlookup vlookup, match apodobné zejména ve spřežení s ovládacími prvky (form) - například vybírací seznam ap. Osobně jsem dělal dost podobných věcí.
    Dalším typem vzorců jsou vzorce maticové. Vynikající vlastnosti, ale trošku nepochopitelné obyčejným selským rozumem. Ve spojení s autofiltrem (nebo i bez) vynikající. Avšak právě pro určitou uživatelskou nepřehlednost (nelogičnost syntaxe) to není vhodné pro průměrného uživatele.


    Jinou možností je správná úprava například pojmenovaných úseků (rychlá navigace vlevo těsně nad políčkem A1 - tz. "pole jména"). Určitou podobnou funkci například zajistíme pomocí kontingenčních tabulek (ty by však ve Vašem případě potřebovaly pomocné sloupce s čísly).
    Další možností je například zapínání a vypínání podmíněných formátů, nebo nápad, se kterým přišel přispivatel "lp." - automatické dokončování. A ještě by se našly další jako například práce v Base a nevím co ještě...........


    Je zde možnost naprogramovat funkce. Jde o určitý druh progamu, který má oproti ostatním tu výhodu, že ho spustíte kdekoliv se Vám zachce. Například zadáte =matice(M8;Šestihran;JemnýZávit;Pojistné), nebo jen =matice(M8;Šestihran). Funkce vygeneruje buď ovládací prvek (tlačítko, dialog ap), nebo přímo výběr.
    Další možností jsou makra. Ta jsou vhodná zejména pro velké počty položek. Mohou být koncipována různě (není velký rozdíl mezi makrem jako SUB-routine a funkcí jako FUNCTION). Ale v takovém případě bych doporučil hyperlinky s podobami buď klasicky - klikačky, nebo podoby tlačítek. Funkce prakticky podobná autofiltru, ale s tím, že každé kliknutí pod libovolnou položky vygeneruje sloupec dalších hyperlinků (tlačítek). Makro pak ořeže slepé nabídky a je možné vybírat další položky. při výběru posledního (libovolně první až poslední) vypíše položku bez tlačítek a hyperlinků. Při tom se řádky neskrývají tak jako u autofiltru a mohou se automaticky vkládat do tiskové sestavy dodáku, faktury ap.


     Jde tedy jen o to, do jaké míry si ceníte dojem, který na Vašeho zákazníka Vaše nabídka udělá. Nebo zda jde jen o "laciný dojem" ale funkčnost, kterou zvládne i nepříliš sběhlý uživatel. Nebo naopak efekt "vymakanosti" za cenu možné chyby, kterou sám nezvládnete opravit. (Bohu žel to je vlastnost vzorců. Stačí jen omylem něco přepsat, smazat, nebo připsat a malér je na střeše
Makra mohou být zpracována pomocí dialogů, které budou vypadat jak z komerčních programů.
     Musíte se spíš rozhodnout jakou formu chcete. Přispivatel "lp." správně varuje před řešením vzorci. Uvádím to spíš jen kvůli tomuto :

Jen jsem si to chtěl ověřit, jestli neexistuje nějaká funkce, která by to omožňovala.. 

     Přímo specializovaná funkce neexistuje, ale existuje doslova přehršel různých možností řešení které lze na to Vaše zadání aplikovat. Když se zeptáte IT specialisty, doporučí bez váhání databázi (v OpenOffice "BASE") zejména pro velký počet položek. Calc je flexibilnější.
     Takže kolik položek tak průměrně evidujete? - Tedy včetně sloupců, tedy rozpadu na podsložky. Jak často to budete používat, jak často s tím pracujete, jak často se data obměňují a další věci důležité pro určení toho, co je nejvhodnější.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí