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

#1 16. 1. 2013 23:24:35

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Pomoc se vzorcem VYŘEŠENO

Zdravim. Řeším úlohu najít podle kódu řádek v seznamu položek a do řádky k tomu kódu vypsat ze seznamu příslušný název položky. Tento vzorec =IF(OR(ISNUMBER(FIND($A$50:$A$150;A41;1)));B50;"") uložený Ctrl-Shift-Enter jako maticový,prohledá sloupec A zda se kód v buňce A41 shoduje s některým ze seznamu a do buňky B41 vypíše obsah B50 nebo nic když se neshoduje. Dál už si nevím rady,neb potřebuji v případě shody místo B50 vložit obsah buńky B v nalezeném řádku seznamu. Asi jsem se zatim ptal špatně,tak to snad je nyní srozumitelné a někdo poradí. Dík moc.

Editoval rejze (18. 1. 2013 07:48:10)

Offline

#2 17. 1. 2013 00:35:51

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

Re: Pomoc se vzorcem VYŘEŠENO

Co třeba

=IF(ISNA(VLOOKUP(A41;$A$50:$B$150;2;0));"";VLOOKUP(A41;$A$50:$B$150;2;0))

Offline

#3 17. 1. 2013 02:00:59

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: Pomoc se vzorcem VYŘEŠENO

Díky za reakci. Přiložím Tabulku,protože to nefunguje http://wiki.openoffice.cz/wiki/Soubor:Dod%C3%A1k.xls

Offline

#4 17. 1. 2013 08:29:17

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

Re: Pomoc se vzorcem VYŘEŠENO

A) Je to obyčejný vzorec

B) Ve vzorci jste prohodil argumenty

C) Záleží na tom co hledáte. V tabulce máte text, ale hledáte číslo. Pokud v tabulce budou vždy texty, lze se pojistit a konvertovat hledanou hodnotu na text ve vzorci. Třeba

""&A2

Offline

#5 17. 1. 2013 08:33:40

LIT
Člen
Místo Liberec
Registrace: 8. 12. 2012
Příspěvků: 41

Re: Pomoc se vzorcem VYŘEŠENO

Zkuste něco takového

=IF(INDIRECT(ADDRESS(MATCH(A3;List4.A3:A32);1;4; ;"List4"))<>0;VLOOKUP(A3;$List4.$A$1:$C$30;2;0);"")

Musíte si upravit odkaz na listy a buňky.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ
Linux Mageia 6,Libre Office 5.3.4.2, Acer Aspire E15

Offline

#6 17. 1. 2013 09:45:01

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: Pomoc se vzorcem VYŘEŠENO

lp. napsal(a)

A) Je to obyčejný vzorec

B) Ve vzorci jste prohodil argumenty

C) Záleží na tom co hledáte. V tabulce máte text, ale hledáte číslo. Pokud v tabulce budou vždy texty, lze se pojistit a konvertovat hledanou hodnotu na text ve vzorci. Třeba

""&A2

Fungovat by t melo tak,ze do bunek A2 az A20 se skenerem carovych kodu nactou pres VNC cisla tech kodu (testuji na cajich ve spizi) . V radkach A50 az A150 je seznam ktery caj ke kteremu kodu patri a kolik stoji. Kdyz tedy nactu do A2 kod boruvkoveho caje potrebuji,aby vzorec prohledal seznam a do B2 zkopiroval nazev boruvkovy caj ze seznamu. Stejnym zpusobem pak vyresim kopirovani ceny a na dalsim listu mi to predvyplni dodaci list kam uz jen rucne napisu kolik kusu ktereho caje vydavam a muzu tisknout. Cteni kodu funguje na mobilu s androidem a vzhledem k jejich rozsirenosti ma tahle vec slusny potencial. Jen jsem bohuzel v calcu zacatecnik a tak zkousim pouzit a upravit vzorce ktere najdu v podobnych pripadech. Az mi tohle pojede,zkusim to navazat na list skladu,aby se to rovnou odecitalo. Pobavim  se poucim a snad z toho bude uzitecnej nastroj pro ostatni.

Offline

#7 17. 1. 2013 11:52:12

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

Re: Pomoc se vzorcem VYŘEŠENO

Jak by to mělo fungovat bylo jasné a důvody, proč to nefunguje, jsem vypsal (body B a C).

Požadavek řeší funkce VLOOKUP a dělá přesně to, co popisujete. Podmínka IF je tam jen proto, že v případě nenalezení požadované hodnoty vyhledávací funkce vrací (správně) chybu. Ovšem požadavek byl, aby se nezobrazovalo nic. V těchto případech to považuji za problematický přístup - minimálně to mate uživatele a současně to obvykle nenutí k opravě chyby.

Je ovšem nutno vědět, že u vyhledávacích funkcí záleží na typu hledaných hodnot číslo 1 není řetězec "1". Sjednocení typů je tedy nutno nějak zajistit. Užitečné je vyplnit správně jedním typem klíč v tabulce - v té ukázce to jsou texty - a pro vyhledávání použít místo prostého odkazu na hledanou hodnotu výraz, který klíč převede na správný typ klíče - pokud je tedy v tabulce klíčem text, hledaný výraz může být třeba uvedený ""&A2.

Offline

#8 17. 1. 2013 18:25:52

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: Pomoc se vzorcem VYŘEŠENO

Jen k bodům B a C. Argumenty jsem zkusil zaměnit,protože to nefungovalo a nejspíš jsem to nevrátil do původního stavu. Co hledám. Porovnávám číslo načtené čtečkou čárového kódu s čísly kódů v seznamu. Číslo to být musí,neboť vstup je čárový kód.Seznam obsahuje ke každému kódu lidsky čitelné informace a vzorec má v tomto případě na základě kódu zobrazit tyto informace  vedle kódu v buňkách,odkud se kopírují na dodák.  Požadavek aby tam nebylo nic je proto,že chybové hlášky by se na výsledném daňovém dokladu špatně vyjímaly. Jelikož si seznam skladu uživatel vytvoří podle toho co v tom skladu má,nepřichází v úvahu,že by načetl kód něčeho co tam nemá,tudíž jsou chybové hlášky zbytečné a nežádoucí. Skutečně to nefungovalo,protože se v buňce B2 vedle kódu načteného do A2 nápis borůvkový čaj i přes zjevnou shodu kódů neobjevil. I tak děkuju za laskavost.

Offline

#9 17. 1. 2013 19:22:11

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

Re: Pomoc se vzorcem VYŘEŠENO

Tak mám pocit že píši snad čínsky. Zjevná shoda neznamená, že v buňkách je stejný obsah. V tomto případě je v jedné buňce číslo ve druhé je text. V tokovém případě hledání opravdu nefunguje. Je proto nezbytné upravit vzorec tak, aby se hledal stejný typ. Např.:

=IF(ISNA(VLOOKUP(""&A2,$A$50:$B$150,2,0)),"",VLOOKUP(""&A2,$A$50:$B$150,2,0))

Psal jste, že se chcete něco naučit. Popis funkce VLOOKUP je k nalezení snadno, mj. i na tomto serveru. Učení se nahodilým přehazování pořadí argumentů je jistě efektivní metoda učení, ale přesto doporučuji číst i nápovědu k jednotlivým funkcím.

Co se týká chybových hlášek - na daňovém dokladu se opravdu špatně vyjímají. V takovém případě máte v podstatě tři možnosti 1) nevšímat si jich, 2) smazat je, 3) opravit chybu (např. doplnit tabulku pro dosud neznámý kód, nebo zkontrolovat, jestli se kód načetl správně).

Editoval lp. (17. 1. 2013 19:22:32)

Offline

#10 17. 1. 2013 21:54:47

LIT
Člen
Místo Liberec
Registrace: 8. 12. 2012
Příspěvků: 41

Re: Pomoc se vzorcem VYŘEŠENO

Možná to nefunguje protože asi v rychlosti psaní se vloudila chyba ve vzorci od lp. z 19:22.Oddělovač argumentů je čárka,ale patří tam středník ( ; ).Pak ten vzorec funguje(vyzkoušeno).


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ
Linux Mageia 6,Libre Office 5.3.4.2, Acer Aspire E15

Offline

#11 18. 1. 2013 07:46:13

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: Pomoc se vzorcem VYŘEŠENO

Pan ip mel pravdu a puvodni vzorec funguje.
@ ip Cinsky jste nepsal,ale byl jsem presvedcen,ze porovnavam cisla,protoze jsem si tam cisla nakopiroval. Kde se tam vzala ta carka pred kody v seznamu netusim a zamerne jsem ji tam nedal.Mozna to nastalo tim,ze na tech vecech pracuji na dropboxu z ruznych pocitacu a taky z mobilu. Funkci VLOOKUP jsem si prostudoval. a funkcne upravil pro sloupec s cenou. Takze jediny co jsem puvodne nepochopil,proc tvrdite ze tam mam text a vase durazne upozorneni na ZJEVNE skutecne pomohlo. Takze dekuji. Znacim jako vyreseno.

Offline

#12 18. 1. 2013 11:35:23

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

Re: Pomoc se vzorcem VYŘEŠENO

LIT napsal(a)

Možná to nefunguje protože asi v rychlosti psaní se vloudila chyba ve vzorci od lp. z 19:22.Oddělovač argumentů je čárka,ale patří tam středník ( ; ).Pak ten vzorec funguje(vyzkoušeno).

Díky za upozornění.

Zkoušel jsem anglické nastavení. Do toho jsem zkopíroval původní vzorec, LO to normálně vzalo a bez upozornění zaměnilo středníky za čárky. Zajímavý způsob konverze vzorců? Opačně to bohužel nefunguje.

Offline

#13 18. 1. 2013 11:41:27

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

Re: Pomoc se vzorcem VYŘEŠENO

rejze napsal(a)

... byl jsem presvedcen,ze porovnavam cisla,protoze jsem si tam cisla nakopiroval. Kde se tam vzala ta carka pred kody v seznamu netusim a zamerne jsem ji tam nedal...

Nejste první ani poslední. I to je důvod, proč nemám rád schovávání chybových hlášek  wink.

Offline

#14 25. 1. 2013 11:00:58

rejze
Člen
Registrace: 9. 1. 2013
Příspěvků: 51

Re: Pomoc se vzorcem VYŘEŠENO

Zdravím. Ještě se vrátím ke skrývání chybových hlášek. Problém s daňovým dokladem byl ten,že ve všech nevyplněných řádkách se skvělo #N/A a to opravdu nešlo. Nicméně v případě v případě,že kód není v databázi,je vhodné na to obsluhu upozornit i když to nezpůsobí nic horšího,než jeden prázdný řádek. Vyřešil jsem to tedy ku spokojenosti tímto

=IF(ISNA(VLOOKUP(A3;$A$118:$B$318;2;0));IF(AND(ISNA(VLOOKUP(A3;$A$118:$B$318;2;0));A3>0);"Kód není v databázi";"");VLOOKUP(A3;$A$118:$B$318;2;0))

Mám tedy chybovou hlášku srozumitelně a jen v případě neznámého kódu.
Ještě jednou díky. Začátky jsou těžký,ale je to dobrá zábava na zimní dny.

Offline

Zápatí