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

#1 20. 1. 2016 16:36:47

santyzul
Člen
Registrace: 22. 5. 2008
Příspěvků: 14

kombinace FIND a IF ? VYŘEŠENO

Zdravím

Prosím o radu ohledně specifického zadání :
Mám sloupeček v němž jsou "čisloNB" nebo „čísloNS" a pak je další sloupeček s číselnou hodnotou . Chci se dopracovat k těmto výsledkům:

Když je v prvním sloupečku B odečíst od druhého sloupečku 150 a když je v prvním sloupečku S tak odečíst od druhého sloupečku 100.a to vše zapsat do dalšího sloupečku

Děkuji
Jiří Bartalos

Editoval santyzul (21. 1. 2016 15:56:54)

Offline

#2 20. 1. 2016 19:53:42

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 520

Re: kombinace FIND a IF ? VYŘEŠENO

nvím zda to dobře chápu. Vstupem je třeba 1234NB ? Pak z toho asi musíme napřed dostat to číslo, na to mě napadnul takový nic moc vzorec třeba takto: =VALUE(SUBSTITUTE(A1;RIGHT(A1;2);"")) to by mohlo být třeba ve sloupečku B no a potom vyhodnotit zda původní hodnota obsahuje na poslední pozici B nebo S pomocí right: =IF(RIGHT(A1;1)="B";B1-150;IF(RIGHT(A1;1)="S";B1-100;B1)) Případně se ty dva vzorce dají spojit do jednoho.

Editoval ludviktrnka (20. 1. 2016 19:54:45)


LibreOffice 5.2.2.2

Offline

#3 20. 1. 2016 21:18:36

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

Re: kombinace FIND a IF ? VYŘEŠENO

Může to být ještě jednodušší.
     Stačí =IF(Right(A1;1)="B";B1-150;B1-100). Ovšem pokud by tam hrozily také jiné konce řetězců muselo by se to upravit :
=IF(RIGHT(A1;1)="B";B1-150;IF(RIGHT(A1;1)="B";B1-100;A1))
     Popřípadě když by tam hrozila chyba Case Sensitive (malá a velká písmenka) muselo by se to buď upravit - vybrat sloupec a zvolit formát textu - všechna velká písmena, nebo rozšířit podmínky :
=IF(OR(RIGHT(A1;1)="B";RIGHT(A1;1)="b")=1;B1-150;IF(OR(RIGHT(A1;1)="S";RIGHT(A1;1)="s")=1;B1-100;A1))


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É

Offline

#4 21. 1. 2016 13:10:41

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 520

Re: kombinace FIND a IF ? VYŘEŠENO

... pokud bude jen NB a NS tak se to dá zkratit na toto: =VALUE(LEFT(A1;LEN(A1)-2))-IF(RIGHT(A1;1)="B";150;100) (tu funkci substitute bude lepší vyhodit) a takto je to i bez pomocného sloupce. Jinak samozřejmě musí tazatel definovat co se stane pokud na konci není ani B ani S.

V případě různosti velkých malých písmen: VALUE(LEFT(A1;LEN(A1)-2))-IF(UPPER(RIGHT(A1;1))="B";150;100)


a takto tedy případ s číslem beze změny v případě jiného ukončení:

=VALUE(LEFT(A1;LEN(A1)-2))-IF(UPPER(RIGHT(A1;1))="B";150;IF(UPPER(RIGHT(A1;1))="S";100;0))

No a na závěr jsem si pořádně přečet otázku smile Problém je mnohem jednoduší, ve třetím sloupečku bude:
=B1-IF(UPPER(RIGHT(A1;1))="B";150;IF(UPPER(RIGHT(A1;1))="S";100;0)) protože vstupní číselná hodnota je ve druhém slupečku jak tazatel na začátku píše :-)

Editoval ludviktrnka (21. 1. 2016 13:25:10)


LibreOffice 5.2.2.2

Offline

#5 21. 1. 2016 15:55:33

santyzul
Člen
Registrace: 22. 5. 2008
Příspěvků: 14

Re: kombinace FIND a IF ? VYŘEŠENO

Zdravím

ten úplně jednodušší vzorec od páně Neutra funguje, všude jsou totiž velká písmena a celý zápis číslo i text jsou bez mezer. nerozumím tomu ale funguje to :-) ty další alternativy se mi ovšem budou také hodit. V jiné tabulce totiž ty velká a malá jsou a bohužel i mezery.

Opět děkuji za rychlou reakci která mi velmi pomohla.

Offline

Zápatí