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

#1 20. 2. 2009 17:06:57

Jan12
Člen
Registrace: 9. 7. 2006
Příspěvků: 29

vzorec

Mam 3 mista (A,B,C)kam vozim material. Cena dopravy zalezi na tom, kam jedu a kolik toho vezu. Na mnozstvi prepravovaneho matrialu jsou dve sazby  7 Kč/km a 10Kč/km.
Jak to udelat, aby v bunce "cena za dopravu" se objevilo spravne cislo? Pr. kdyz jedu do mista A a jedu za taxu 7Kč/km, nebo napr. pokud jedu do mista B a jedu za taxu 10Kč/km atd...prostě aby se cena spravne spocitala na zaklade zvoleneho mista (delky trasy) a sazby... Pokud by nekdo poradil, dekuji.

Offline

#2 20. 2. 2009 19:26:54

Ondra.kl
Člen
Registrace: 30. 9. 2008
Příspěvků: 933

Re: vzorec

sloupec A: zadáte místo "A" nebo "B" nebo "C"
sloupec B: zadáte sazbu ... může být 7 nebo 10 nebo libovolná jiná
sloupce C: =IF(A6="A";10*B6;IF(A6="B";15*B6;IF(A6="C";20*B6;"špatnézadání"))) - vypočte cenu nebo při nekorektním vstupu napíše "špatné zadání"

v prvním IF testuji A6 jestli je rovno textu "A", pokud ano vynásobí vzdálenost do místa A (10) sazbou z B6, pokud není následuje druhý test, ten testuje A6 jestli je rovno textu "B", pokud ano vynásobí vzdálenost do místa B (15) sazbou z B6, pokud není následuje třetí test, ten testuje A6 jestli je rovno textu "C", pokud ano vynásobí vzdálenost do místa C (20) sazbou z B6, pokud není vypíše text "špatné zadání"

Offline

#3 21. 2. 2009 10:23:35

Jan12
Člen
Registrace: 9. 7. 2006
Příspěvků: 29

Re: vzorec

Ondra.kl napsal(a)

sloupec A: zadáte místo "A" nebo "B" nebo "C"
sloupec B: zadáte sazbu ... může být 7 nebo 10 nebo libovolná jiná
sloupce C: =IF(A6="A";10*B6;IF(A6="B";15*B6;IF(A6="C";20*B6;"špatnézadání"))) - vypočte cenu nebo při nekorektním vstupu napíše "špatné zadání"

v prvním IF testuji A6 jestli je rovno textu "A", pokud ano vynásobí vzdálenost do místa A (10) sazbou z B6, pokud není následuje druhý test, ten testuje A6 jestli je rovno textu "B", pokud ano vynásobí vzdálenost do místa B (15) sazbou z B6, pokud není následuje třetí test, ten testuje A6 jestli je rovno textu "C", pokud ano vynásobí vzdálenost do místa C (20) sazbou z B6, pokud není vypíše text "špatné zadání"

To funguje, ale nedari se mi zadat vsechny podminky. Tech mist (pro dopravu) je ve skutecnosti 42 (tri jsem uvedl pro priklad) a pokud zadavam jednotlive podminky, tak pri urcitem poctu to prestane fungovat. Zrejme lze vlozit do sebe jen omezeny pocet podminek.

Offline

#4 21. 2. 2009 15:30:54

Ondra.kl
Člen
Registrace: 30. 9. 2008
Příspěvků: 933

Re: vzorec

v tom případě si udělejte na listu 2 pomocnou tabulku: místo, vzdálenost. Místo IFů pak dejte vzorec: =VLOOKUP(A2;List2.A$1:B$5;2;0)*B2

funkce VLOOKUP vyhledá v pomocné tabulce vzdálenost podle místa. Konkrétně vyhledá výraz z A2 (1 parametr) v prvním sloupci oblasti List2.A$1:B$5 (druhý parametr) a vrací hodnotu z druhého (třetí parametr) sloupce na odpovídajícím řádku, přičemž hledá přesně hodnotu z A2, která nesmí být v prvním sloupci více než jednou ( čtvrtý parametr: 0).
"$" u odkazu jsou pro pevnou adresaci odkazu, ten je potřeba upravit tak ať obsáhne celou tabulku míst a vzdáleností.

násobení *B2 je už jen o vynásobení vzdálenosti sazbou

Offline

#5 22. 2. 2009 15:35:54

Jan12
Člen
Registrace: 9. 7. 2006
Příspěvků: 29

Re: vzorec

Ondra.kl napsal(a)

v tom případě si udělejte na listu 2 pomocnou tabulku: místo, vzdálenost. Místo IFů pak dejte vzorec: =VLOOKUP(A2;List2.A$1:B$5;2;0)*B2

funkce VLOOKUP vyhledá v pomocné tabulce vzdálenost podle místa. Konkrétně vyhledá výraz z A2 (1 parametr) v prvním sloupci oblasti List2.A$1:B$5 (druhý parametr) a vrací hodnotu z druhého (třetí parametr) sloupce na odpovídajícím řádku, přičemž hledá přesně hodnotu z A2, která nesmí být v prvním sloupci více než jednou ( čtvrtý parametr: 0).
"$" u odkazu jsou pro pevnou adresaci odkazu, ten je potřeba upravit tak ať obsáhne celou tabulku míst a vzdáleností.

násobení *B2 je už jen o vynásobení vzdálenosti sazbou

Dekuju, funguje to perfektne.

Offline

Zápatí