KDYÄ se °ekne Excelu

Podmφn∞nΘ formßtovßnφ a souΦty, ov∞°enφ dat

autor: Ing. Petr PechßΦek

http://officir.web3.cz

Ulo₧it na disk SeÜit Excelu s uveden²mi p°φklady (komprese ZIP)

Na ·vod

Funkce KDYÄ, logickΘ funkce

Abychom mohli ov∞°ovat vstupy a p°φpadn∞ je zahrnovat do souΦtu, je t°eba znßt zßkladnφ principy vklßdßnφ podmφnek. Pro tyto ·Φely slou₧φ p°edevÜφm funkce KDYÄ. Jejφ syntaxe, jak asi vφte, je:

KDYÄ(podmφnka; hodnota Φi vzorec v p°φpad∞ spln∞nφ podmφnky; hodnota Φi vzorec v p°φpad∞ nespln∞nφ podmφnky)

Do mφsta v∞tvenφ lze takΘ dosadit dalÜφ "rozcestnφk" KDYÄ. Takto m∙₧e b²t vno°eno a₧ sedm "k°i₧ovatek Y". Pokud luÜtφte n∞kolik vno°en²ch funkcφ v seÜitu od druhΘ osoby, doporuΦuji nakreslit si v²vojov² diagram.
Diagram Funkce KDYÄ

Abychom ulehΦili funkci KDYÄ a pomohli ji rozÜφ°it, upneme pozornost k logick²m funkcφm A, NE a NEBO. Funkce A(podmφnka 1; podmφnka 2; ...) vracφ hodnotu PRAVDA, jestli₧e jsou souΦasn∞ spln∞ny vÜechny nßmi zadanΘ podmφnky. Funkce NE(logickß hodnota) obracφ v²sledek, kter² je jφ p°edßn v podob∞ PRAVDA Φi NEPRAVDA. Funkce NEBO(podmφnka 1; podmφnka 2; ...) vracφ PRAVDA, pokud je spln∞na alespo≥ jedna zadanß podmφnka. Podφvejte se na p°φklady.

LogickΘ funkce

P°φklad z °ßdku 12 je trochu specifick², nebo¥ vynechßvß p°φmΘ u₧itφ funkce KDYÄ (viz °ßdek nφ₧e). S tφmto zßpisem se Φast∞ji setkßte u podmφn∞nΘho formßtovßnφ. Vzorec z °ßdku 14 doporuΦuji nepou₧φvat. S funkcφ STEJN╔ jste se ji₧ mohl setkat d°φve p°i prßci s textem. Funkce ZVOLIT pak naznaΦuje mo₧nΘ u₧itφ v p°φpad∞, kdy tvo°φme podmφnky na zßklad∞ kladn²ch cel²ch Φφsel a vlastn∞ je takovou jednoduchou ukßzkou, kterou znajφ programßto°i VBA jako SELECT..CASE, co₧ si m∙₧ete p°edstavit jako k°i₧ovatku s libovoln²m mno₧stvφm ze st°edu jdoucφch ulic narozdφl od KDYÄ, p°edstavujφcφ pouze tvar "Y".

Pozn. 1: Je-li v p°φkladu zmφn∞no, ₧e se jednß o maticov² vzorec, pak pro tuto chvφli postaΦφ v∞d∞t, ₧e takovΘ vzorce se potvrzujφ stiskem Ctrl+Shift+Enter mφsto klasickΘho ENTER.

Pozn. 2: Nejste sami, komu funkce NE "ne a ne" jφt na rozum. Ale! N∞kdy je jednoduÜÜφ stanovit podmφnku pro opak toho, co chceme, resp. dopln∞k mno₧iny a pak p°ed podmφnku postavit NE. Vzpome≥te si na to, a₧ budete sed∞t nad algoritmy pro VBA! N∞co ze ₧ivota? Kdy₧ budete chtφt najφt jeden velk² korßlek mezi tisφci mal²mi, pou₧ijete sφto. No a to je p°eci °eÜenφ vychßzejφcφ z podstaty mal²ch korßlk∙, tj. pracujeme s mal²mi korßlky, abychom zφskali to, co hledßme - korßlek velk².

Funkce pro ov∞°enφ obsahu

N∞kdy m∙₧eme pot°ebovat pracovat jen s daty urΦitΘho typu (textovΘ bu≥ky, ΦφselnΘ bu≥ky, bu≥ky prßzdnΘ, ...). Pro tyto ·Φely slou₧φ informaΦnφ funkce typu "JE". Abyste v∞d∞li, co m∙₧ete oΦekßvat, prohlΘdn∞te si nßsledujφcφ p°φklady. ╪ßdek 13 si obzvlßÜt∞ vryjte do pam∞ti, nebo¥ prßzdn² °et∞zec (dvojφ uvozovky vedle sebe) se vyskytuje v bu≥kßch Φasto (nap°φklad jako v²sledek v∞tvenφ funkce KDYÄ). V nßsledujφcφ ukßzce je oblast A2:A17 pojmenovßna "data".

Funkce JE... Pou₧itφ funkce JE...

Podmφn∞nΘ formßtovßnφ

Podmφn∞nΘ formßtovßnφ je postaveno na otßzce "KDYÄ", p°esto₧e vlastnφ funkce KDYÄ se t°eba ani v zßpisu neobjevφ. TakovΘ formßtovßnφ definuje pouze vizußlnφ podobu pφsma, pozadφ a ohraniΦenφ v p°φpad∞ spln∞nφ kritΘriφ. Volba se skr²vß pod menu Formßt / Podmφn∞nΘ formßtovßnφ....
Podmφn∞nΘ formßtovßnφ
Lze porovnßvat obsah bu≥ky s hodnotou (hodnotami v p°φpad∞ rozmezφ) nebo vlo₧it vlastnφ vzorec. Maximßln∞ lze vyu₧φt t°φ nezßvisl²ch podmφnek. Nenφ-li podmφnka spln∞na, formßt bu≥ky se automaticky p°enastavφ do podoby, jakou jste bu≥ce dali v tabulce listu. Kopφrujete-li formßt bu≥ky, pak s nφm kopφrujete i podmφn∞nΘ formßtovßnφ. Je-li v podmφnce obsa₧en relativnφ odkaz, pak je tento odkaz takΘ relativn∞ pou₧it v ostatnφch bu≥kßch. Jak tedy nadefinovat stejnou podmφnku pro sousedφcφ bu≥ky?
  1. 1. Definujte podmφn∞n² formßt s pou₧itφm relativnφch odkaz∙ pro prvnφ bu≥ku.
  2. 2. Tßhn∞te prav²m tlaΦφtkem myÜi ·chytn² bod tΘto bu≥ky p°es bu≥ky sousedφcφ.
  3. 3. Zvolte Vyplnit formßty...
Je Φas na n∞kterΘ u₧iteΦnΘ p°φklady.
Podmφn∞n² formßt - p°φklad 1 Podmφn∞n² formßt - p°φklad 2 Podmφn∞n² formßt - p°φklad 3

Podmφn∞nΘ souΦty

K podmφn∞nΘmu sΦφtßnφ, tedy sΦφtßnφ polo₧ek, kterΘ spl≥ujφ urΦitou podmφnku, slou₧φ p°edevÜφm funkce SUMIF (p°φpadn∞ jen samotnß SUMA) a funkce COUNTIF. ┌plnou syntaxi zßpisu doporuΦuji nastudovat v nßpov∞d∞. My se vrhneme p°φmo na praktickΘ p°φklady.
Podmφn∞nΘ souΦty

P°φklad sb∞ru ukazuje, jak pracovat s tabulkou, kterou jste obdr₧eli od druhΘ osoby. Takovß forma tabulky nenφ p°φliÜ vhodnß a jejφ lepÜφ zpracovßnφ najdete v p°ilo₧enΘm seÜitu. Tu sprßvnou "Ütßbnφ kulturu" pak podobn²m tabulkßm dßvajφ souhrny a kontingenΦnφ tabulky, ale to jsme ji₧ mimo rßmec dneÜnφho tΘmatu.

Ov∞°ovßnφ dat

Ov∞°ovßnφ dat slou₧φ k minimalizaci p°eklep∙ a usnad≥uje v²b∞r platn²ch hodnot zadßvan²ch do bu≥ky. Volbu najdete pod menu Data / Ov∞°enφ.
Ov∞°enφ

Pro data m∙₧ete urΦovat dolnφ a hornφ mez, nastavit dΘlku °et∞zce, nechat vybφrat polo₧ky ze seznamu a v neposlednφ °ad∞ omezit vstupy podle vlastnφho vzorce. Asi nejΦast∞jÜφ volbou je Povolit: seznam. Zdrojem je pak seznam polo₧ek odd∞len²ch navzßjem st°ednφkem, odkaz na oblast listu danou adresou nebo jejφm jmΘnem a v p°ilo₧enΘm seÜitu naleznete i "Üvindl" - seznam vzorc∙. Dialog na zßklad∞ vstupnφch hodnot je dßn Φasto opomφjen²mi nastavenφm na kart∞ ChybovΘ hlßÜenφ. Prostudujte i kartu Zprßva p°i zadßvßnφ.

Ov∞°enφ

Styl "stop" je pro zadavatele dat koneΦnou instancφ, kdy mu nenφ dovoleno zadat jinß data ne₧ povolenß. Ostatnφ dv∞ Φinφ z ov∞°enφ dat jakousi databanku dat, ze kterΘ u₧ivatel Φerpat m∙₧e, ale nemusφ.

Mal² trik: Zvolte Nastavenφ / Povolit: jakoukoliv hodnotu, dßle zruÜte zaÜkrnutφ pro zobrazenφ chybov²ch hlßÜenφ na kart∞ Chybovß hlßÜenφ a vypl≥te obsah zprßvy na kart∞ Zprßva p°i zadßvßnφ. Trik slou₧φ k zobrazenφ jakΘsi nßpov∞dy p°i klepnutφ na bu≥ku. V²hodu oproti komentß°i poznßte ve chvφli, kdy se bu≥ka vyskytuje na kraji okna. Komentß° se beze studu rozbaluje mimo viditelnou Φßst obrazovky, tato nßpov∞da je stßle viditelnß (MS Excel 2000).

Ov∞°ovßnφ dat mß charakter akce "akce-reakce", proto popis psanou formou je komplikovan² a nebude zde detailn∞ probφrßn. U₧iteΦnΘ p°φklady najdete v p°ilo₧enΘm seÜitu. Pouze jejich testovßnφm si je osvojφte. Jen si dovolφm pßr zßsad:

  • KrßtkΘ a nem∞nnΘ seznamy zapisujte p°φmo do dialogu, polo₧ky odd∞lujte st°ednφkem.
  • DelÜφ seznamy vytvß°ejte na zvlßÜtnφch listech a dr₧te se pravidla "co seznam, to jeden sloupec".
  • P°i odkazovßnφ se na seznam bun∞k pojmenovanΘ oblasti je velmi efektivnφ pou₧φt oblast definovanou dynamicky (viz 3. dφl).
  • Nic vßm nebrßnφ pou₧φvat spolu s ov∞°enφm podmφn∞nΘ formßtovßnφ.
  • ZbyteΦnou prßci si uÜet°φte p°i vzpomφnce na existenci volby Pou₧φt tyto zm∞ny u vÜech ostatnφch bun∞k se stejn²m nastavenφm na kart∞ Nastavenφ.
P°φklady ov∞°enφ

Bohu₧el...

Styl "stop" nikterak nezabrßnφ vstupu kopφrovßnφm hodnot. A nejen₧e nezabrßnφ, kopφrovanß data sma₧ou(!) veÜkerß ov∞°enφ vstupu danΘ bu≥ky. (Nßprava tohoto nedostatku je mo₧nß, ovÜem podle vÜeho jen s pomocφ VBA.) S problΘmy jsem se takΘ setkal, kdy₧ jsem soubor vytvo°en² p∙vodn∞ v Excelu 2000 otev°el ve verzi 97. Ov∞°enφ prost∞ zmizelo...

Ulo₧it na disk SeÜit Excelu s uveden²mi p°φklady (komprese ZIP)

pro Φasopis