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

#1 15. 12. 2015 02:36:04

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Vzorec podmíněného formátování - VYŘEŠENO

Zdravím všechny, doufám, že nezakládám nové téma. Lámu si hlavu s funkcí podmíněného formátování, kdy ve sloupečku E je jméno výrobce a ve sloupečku Q je cena. Cenu potřebuji zvýraznit u některých výrobců (např: Adam, Michal, Karel, Tonda, Luďek) a jednoho výrobce nechat bez formátování buňky. Pokud by byli výrobci jen 3, není problém s použitím funkce v podmíněném formátování SEARCH("adam";e2) a dalších 2 podmínek na buňku a použít štěteček formátu a formát mít i jinde. Jde to napsat nějak lépe v podmíněném formátování? Program Calc OO 4.1.1. Děkuji.

Editoval adyhas (17. 12. 2015 11:56:31)

Offline

#2 15. 12. 2015 08:07:04

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Jestli tomu dobře rozumím tak všechny ceny chcete zvýraznit, kromě jedné resp. jednoho výrobce? V tom případě bych uvažoval obráceně než vy. Zvýraznil bych vše a do podmíněného formátování dal toho jednoho jiného.


LibreOffice 5.2.2.2

Offline

#3 15. 12. 2015 08:07:06

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Dost dobře nerozumím zadání :
1. - Narazil jste na problém počtu podmínek. To je ve smyslu AOO Calc limita. Jsou pouze 3, ale ..
       + Calc LibreOffice má podmínek "nekonečně mnoho" - co změnit instalaci na LO ?
       + I když má Calc AOO podmínky jen 3 může být odlišen nejen barvou ale také například typem
         písma, barvou písma, nebo rámečkem....
2. - Podmínky nezahrnují typ výrobku - odlišují jen výrobce (distributory)?
3. Ceny nejsou porovnávány?
--------------------------------------------------------------


     Ačkoliv přímo formátovat na více jak 3 podmínky v Calcu AOO nelze, lze použít vzorec "STYLE" - viz opis nápovědy" :

STYLE
Použije definovaný styl na buňku se vzorcem. Po určité době může být použit jiný styl. Tato funkce vždy vrací hodnotu 0, což vám umožní přičíst její výsledek k jiné funkci aniž by se změnila výsledná hodnota. Společně s funkcí CURRENT můžete na buňku použít barvu beze změny samotné hodnoty. Například: =...+STYLE(IF(CURRENT()>3;"červený";"zelený")) aplikuje na buňku styl "červený" je-li hodnota větší než 3, jinak je použit styl "zelený" . Oba styly buněk musí být definovány předem.
Syntaxe
STYLE("Styl"; Čas; "Styl2")

     Dále je možné použít makra, to ale uvádím jen pro dokreslení možností. Já bych na barvě podmíněného formátu příliš nestavěl - hodí se jen k "manuálnímu" vyhodnocení "několika" možností. Spíš bych určil nějakou návratovou číselnou hodnotu.
     Například by se mi jevil jako výhodnější vzorec obsahující "COUNTIF", "VLOOKUP", "RANK" a možná mnoho jiných zejména vnořených do podmínky IF.

Editoval neutr (15. 12. 2015 08:08:43)


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 15. 12. 2015 08:19:34

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Když nad tím přemýšlím a zabývám se otázkou proč jen výrobci, docházím k tomu, že jde o logistiku nákupú. Prostě se vyplatí nakupovat tam kde toho seženu nejvíc (a nezajímá mne co ani za kolik???).
     Já bych zvolil vyhodnocení pomocí RANK kde bych získal pořadí dodavatelů jmenovitě a jednotlivě + například počet sortimentu + druh a cenu. Takto jak to interpretujete mi to připadá neúplné (nedostatečné).

Editoval neutr (15. 12. 2015 08:21:50)


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

#5 15. 12. 2015 08:30:37

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

... jinak bych na to šel asi pomocí pomocného sloupce kde by bylo něco takového =IF(OR(ISNUMBER(SEARCH($G$2;A2));ISNUMBER(SEARCH($G$3;A2));ISNUMBER(SEARCH($G$4;A2)));1;0) kde ve sloupci G mám ty jména co mají být zvýrazněny a v A výrobce. Potom už do formátovací podmínky dáte jen rozlišení 0 nebo 1 v pomocném sloupci.



Samozřejmě ten vzorec if(or... můžete vložit přímo do podmíněného formátu ale je to nepřehledné.



Aha tak jde to ještě mnohem jednodušeji. Do formátovací podmínky dáte vzorec =IF(ISNA(VLOOKUP(A2;$G$2:$G$4;1;0));0;1) kde v A jsou výrobce, v G je výčet těch výrobců co se mají zvýraznit. Přičemž výčet G2:G4 může být i na jiném listě aby nepřekážel.

Editoval ludviktrnka (15. 12. 2015 09:04:29)


LibreOffice 5.2.2.2

Offline

#6 15. 12. 2015 11:01:45

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Pokud chcete zvýraznit vše, kromě jednoho, tak jednoduše

=$E1<>"vyloučený výrobce"

Offline

#7 15. 12. 2015 11:03:08

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Re: Vzorec podmíněného formátování - VYŘEŠENO

Děkuji za návody, v průběhu dne vyzkouším a dám vědět. Ve skutečnosti jde o subdodavatele. Někdo prodá na fakturu, někdo dodá za hotové. Abych měl přehled a mohl si označit jen ty zvýrazněné (líp se mi hledá co je výrazné, než naopak :-) ) Jde o to, že dodavatelů je samozřejmě více, než že zůstane neoznačený jen jeden. Takže nejvhodnější je mít tabulku s dodavateli (dejme tomu na jiném listu nebo kdekoliv jinde a z ní vycházet).

Offline

#8 15. 12. 2015 12:16:18

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

V tom případě si ale tabulku pojmenujte a v podmínce použijte jméno. V případě změn v tabulce nebude nutné měnit podmínky ve formátech.

Podmínka má vrátit logickou hodnotu. Obalování zůznými IF je zbytečné:

Pokud zvýraznění jsou v seznamu:
=ISNUMBER(MATCH($E1;Tabulka;0))

a pokud nejsou
=ISNA(MATCH(A2;Tabulka;0))

Lze také použít
=OR($E1<>Tabulka)
ale to je ve větším seznamu trochu pomalejší a možná méně srozumitelné.

Offline

#9 15. 12. 2015 13:43:32

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Re: Vzorec podmíněného formátování - VYŘEŠENO

Zafungovalo od ludviktrnka  =IF(ISNA(VLOOKUP(A2;$G$2:$G$4;1;0));0;1)
V tabulce dodavatelů nebude více než 10 položek.

Ještě by se hodila jedna pomoc, Pokud mám ve sloupci H datum odeslání zboží a ve sloupci I datum přijetí platby, aby se mi použil vytvořený formát (například přes podmíněné formátování, ale možná lze i nějak elegantněji) pokud je buňka ve sloupci I prázdná déle než 8 dní od odeslání. Pokud je buňka H prázdná, nebo obsahuje jiný text než datum, například "schváleno", aby zůstala bez formátu.
Nastavil jsem to kdysi přes podmíněné formátování a výpočet rozdílu data v buňce, ale vždy musím buňky potáhnout a zkopírovat výpočet.... Není to dost praktické, jelikž pokud nezadám datum odeslání, ale buňka ve sloupci H obsahuje text "schváleno", buňka ve sloupci I vykazuje chybu.
Jestli to píšu nepochopitelně, tak se omlouvám, nějak to upravím.

Offline

#10 17. 12. 2015 01:32:37

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Kdy to bude srozumitelné?

Zkuste:
K otestování hodnoty v buňce lze použít funkci ISNUMBER
Na prázdnou buňku žádný (ani podmíněný) formát nefunguje.

Offline

#11 17. 12. 2015 08:01:11

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Nyní je zřejmé, že to nebude vůbec jednoduché. Podle toho posledního příspěvku jde o vyhodnocení odběratelů zatímco první se zabýval dodavateli. Jde s největší pravděpodobností o řízení eshopu.


     Podle všeho má autor určitou představu, ale nejspíš začal měnit koncepci, nebo něco podstatně mění. Například sortiment, nebo přechází z Aukra na vlastní eshop ap. Je sice správné, že potřeby odděluje do jednotlivých dílčích dotazů, ale stejně dříve či později narazí na potřebu zpětné provázanosti. To je naprosto logické a je to v pořádku. Je to vývoj za pochodu a dotazů bude jistě mnohem více. Potřeby se budou měnit, ale právě proto bych autorovi doporučil toto :


     Nějdříve cituji - doufám, že nezakládám nové téma - doufáte nesprávně. Je to nové táma, a to je správný postup kterého byste se měl držet. Například přílepek ze 16.12 už by měl být součéstí nového tématu viz Ještě by se hodila jedna pomoc, ....
     Oč jde? Jde o to, aby signatury tématu byly jednoznačné. Když bude někdo hledat v historii například Vzorec podmíněného formátování tak hledá také zda byl tento dotaz (téma) vyřešen a naopak nenajde přílepek s jiným obsahem, který je zde vnořen.
     Naopak se stane, že takové příspěvky obsahují několik témat a autor to pak ani neoznačí jako vyřešené. Při vyhledávání to pak nejspíš uživatel obejde zejména když to obsahuje několik desítek vstupů které ani s názvem nekorespondují.


      Takže pokud pokládáte za řešení vzorec od pana Ludvíka Trnky připište do názvu VYŽEŠENO a otevřete nové téma ať v tom není bordel.


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

#12 17. 12. 2015 11:56:09

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Re: Vzorec podmíněného formátování - VYŘEŠENO

Děkuji všem za pomoc, již vše vyřešeno.

Offline

#13 17. 12. 2015 12:59:42

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

... ještě jsem se zamýšlel nad tím časovým problémem - pro LP. - není pravda že nelze podmíněně formátovat prázdnou buňku např. funkce isblank bude formátovat prádnou a naopak vyplněnou nechá bez formátu. Mě na ten výše uvedený problém vychází tento vzorec do podmínky formátování (jinak děkuji LP za osvětlení problému návratové hodnoty podmíněného formátování, nikdy jsem si pořádně neuvědomil jak to vlastně funguje). Takto: AND(ISBLANK(I2);TODAY()-8<H2;ISNONTEXT(H2))  - nevím zda jsem pochopil správně co má být menší a co větší z těch datumů.


LibreOffice 5.2.2.2

Offline

#14 17. 12. 2015 13:44:25

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Re: Vzorec podmíněného formátování - VYŘEŠENO

Pro formátování byly použity tyto vzorce(formátování je v celém sloupci I):

-dýl než 7 dní od odeslání zákazníkovi, ale nedorazila platba(jakmile dorazí, do sloupce I napíšu, kdy to bylo a formátování zmizí:
IF(ISBLANK(I1);IF(ISBLANK(H1);"";(TODAY()-H1)>=8))

-po přijetí objednávky je u zákazníka poznámka "čekám", dokud objednávku neschválí, pokud je to víc než 6 dnů, pak:
IF(H1="čekám";IF(OR(J1="upomínáno";K1="upomínáno";L1="upomínáno";M1="upomínáno";N1="upomínáno";O1="upomínáno");"";(TODAY()-G1)>=6);"")
Jakmile jej upomeneme na neschválenou objednávku, zadáme do některého ze sloupců v jeho řádku "upomínáno"(záleží na tom, zda tam máme ještě nějaké poznámky). Je to hodně otrocky vypsané, nevím jakou funkci na to použít, abych jen zadal rozsah buněk a aby mohlo být například uznáno i "upomínáno telefonem", případně všechny poznámky v jednom řádku "změna adresy, úprava kusů, upomínáno", aby to vzalo jen to slovo. Tohle se mi podařilo vypotit za více než celý večer, není to nic extra, ale funguje.
Takže ještě jednou děkuji všem za pomoc.

Editoval adyhas (17. 12. 2015 13:46:55)

Offline

#15 17. 12. 2015 14:02:06

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

... pokud hodnotíte všeobecně jakékoliv vyplnění textem v oblasti buněk můžete využít např toto: IF(CONCATENATE(J1:O1)<>"";"vyplněno";"nevyplněno") bude platit na jakýkoli text v některé z buněk od J1 do O1


ne kecám je potřeba to vypsat =IF(CONCATENATE(J1;K1;L1;M1;N1;O1)<>"";"vyplněno";"nevyplněno")

Editoval ludviktrnka (17. 12. 2015 14:09:42)


LibreOffice 5.2.2.2

Offline

#16 17. 12. 2015 15:14:03

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Re: Vzorec podmíněného formátování - VYŘEŠENO

Ale to bude fungovat na jakýkoliv výraz v buňce, pokud se nepletu. Měl by to být výraz pouze "upomínáno" i když třeba ve slovním spojení nebo ve větě.

Offline

#17 17. 12. 2015 16:05:33

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

takto?: =IF(ISNUMBER(SEARCH("upomínáno";CONCATENATE(J1;K1;L1;M1;N1;O1)));"jeupomínáno";"neníupomínáno")

Editoval ludviktrnka (17. 12. 2015 16:06:26)


LibreOffice 5.2.2.2

Offline

#18 17. 12. 2015 16:05:59

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

A když by se tam použila funkce COUNTIF třeba takhle?
=IF(H1="čekám";IF(COUNTIF(J1:O1;"upomínáno")>0;"";(TODAY()-G1)>=6);"")
     Tedy nevím jestli jsem správně pochopil, že v H1 musí být "čekám" a někde mezi J1:G1 zase "upomínáno". Jinak jestli ty sloupce znamenají způsob upomínání tak stačí dotaz na column který například vrátí obsah prvního řádku kde by byly nadpisy - například telefonem, emailem, sekerou,...

Editoval neutr (17. 12. 2015 16:06:37)


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

#19 17. 12. 2015 16:35:50

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Re: Vzorec podmíněného formátování - VYŘEŠENO

V G1 je datum objednávky, v H1 je stav(čekám,schváleno) a od J1 a dál se píšou různé poznámky k zakázce. Pokud tedy obsahuje čekám, má být formátování aktivní. Pokud je v buňce H1 cokoliv mino čekám, tak podmínka neplatí.
@neutr
=IF(H1="čekám";IF(COUNTIF(J1:O1;"upomínáno")>0;"";(TODAY()-G1)>=6);"")   podmínka funguje, ale ne na více textu "upomínáno telefonem" ale jen na buňku s obsahem "upomínáno".

@ludviktrnka
=IF(ISNUMBER(SEARCH("upomínáno";CONCATENATE(J1;K1;L1;M1;N1;O1)));"jeupomínáno";"neníupomínáno"), takhle pomínka funguje, ale funguje jen částečně dobře, musím si s ní pohrát.

=IF(ISNUMBER(SEARCH("upomínáno";CONCATENATE(J1;K1;L1;M1;N1;O1)));"";(TODAY()-G1)>=6) při použití Vaší funkce mi svítí i buňky, které nemají. Je třeba funkci podmínit obsahem buňky H1="čekám" Večer si s tím pohraju.
Děkuji za reakce.

Offline

#20 17. 12. 2015 16:44:36

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Asi jste nepochopil co jsem Vám psal. Když uděláte nadpisy pro různé sloupce, tak je můžete zavolat vzorcem a ve výsledku tam bude sloučeno upomínáno & telefonem. Může tam být přidáno i datum. Konstrukce není složitá.

Editoval neutr (17. 12. 2015 16:44:58)


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

#21 17. 12. 2015 16:55:47

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Když vytvoříte nové táma například s nadpisem "vyhodnocení podmínek textem" nebo něco podobného, pak sem napíšete odkaz pokračování na tématu XYZ (http odkaz na nové téme), tak Vám udělám vzor. Už je tady zase přes 20 příspěvků. Vím že to vlastně inicioval pan Trnka, ale vy to máte v "ruce". Možná to jednou budete sám hledat a budete vzpomínat jak se to jmenovalo.


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

#22 17. 12. 2015 17:08:14

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

Re: Vzorec podmíněného formátování - VYŘEŠENO

Kontrola více buněk:

=OR(ISNUMBER(SEARCH("upomínáno";J1:O1)))

V buňce je to maticový výraz, vkládá se ctrl-shift-enter, v podmíněném formátu stačí zadat jak je.

Výraz lze přepsat:
IF(H1="čekám";IF(OR(J1="upomínáno";K1="upomínáno";L1="upomínáno";M1="upomínáno";N1="upomínáno";O1="upomínáno");"";(TODAY()-G1)>=6);"")

IF(H1="čekám";IF(AND(J1:O1<>"upomínáno");(TODAY()-G1)>=6;"");"")

nebo
IF(H1="čekám";IF(AND(J1:O1<>"upomínáno");(TODAY()-G1)>=6))

(pokud ve funkci IF chybí 3. parametr, vrátí NEPRAVDA) nebo
IF(H1="čekám";AND(AND(J1:O1<>"upomínáno");(TODAY()-G1)>=6))

nebo
AND(H1="čekám";AND(AND(J1:O1<>"upomínáno");(TODAY()-G1)>=6))
v listu je to zase maticový výraz


Pokud se má hledat výskyt "někde":
AND(H1="čekám";AND(AND(ISERROR(SEARCH("upomínáno";J1:O1)));(TODAY()-G1)>=6))

Tj. Vzorce v podmínce podmíněného formátu se vyhodnocují "maticově", není nutné nic dalšího zadávat.


@ludviktrnka
Díky za upozornění, měl jsem v hlavě obsah. Pozadí a okraje podmíněným formátem nastavit samozřejmě jdou.


Další možnost ja zjistit výskyty je např. funkce COUNTIF

=COUNTIF(J1:O1;".*upomínáno.*")

Editoval lp. (17. 12. 2015 17:17:52)

Offline

#23 17. 12. 2015 18:18:03

adyhas
Člen
Registrace: 10. 12. 2015
Příspěvků: 19

Re: Vzorec podmíněného formátování - VYŘEŠENO

Děkuji, vyzkouším.
Pokračování tohoto tématu tedy směrujte prosím sem http://forum.openoffice.cz/viewtopic.php?id=4111
Děkuji a omlouvám se jiných věcí, které sem nějak již nepatří. :-)

Offline

Zápatí