
Excel 2007 - Ověření dat - časové údaje
Prosím o radu. Potřebuji v Excelu povolit zadání dat do buňky současně na základě 3 omezujících kriterií:
1. musí to být časový údaj ve formátu h:mm,
2. hodnota času musí být celým násobkem 30 min.,
3. zadaný čas musí být větší než hodnota v jiné buňce.
Pomocí funkce ověření dat se mi podařilo docílit omezení podle bodu 2. a 3., které funguje spolehlivě, a to vložením následujícího vzorce po výběru nastavení ověřovacího kriteria "vlastní":
=A(C11>B11;C11=MROUND(C11;"0:30"))
Buňka C11 je ta, pro kterou se ověření nastavuje, B11 je buňka s referenčním časovým údajem (vkládaný údaj do buňky C11 musí být vyšší než údaj v této buňce).
Problém nastává, když se do buňky s tímto ověřovacím nastavením nevloží údaj ve formátu h:mm, ale celé číslo. To nastavené ověření dat vyhodnotí jako korektní a v buňce se zobrazí "0:00" (buňka je formátovaná jako čas h:mm).
Prakticky stejný problém mám i u situace, kdy potřebuji v buňce B11 povolit zadání časového údaje opět ve formátu "h:mm" rovněž v násobcích 30 min., bez jakéhokoli dalšího omezení. V tomto případě mám nastavené ověřovací kriterium "čas" a vzorec v podobě:
=MROUND(B11;"0:30")
Funguje to bezvadně do chvíle, kdy se do buňky zadá celé číslo, pak se zobrazí zase "0:00".
Pokud by mi s tím někdo pomohl, budu za to rád.
Pavel
Stačí si uvědomit, že datum a čas je v Excelu (a nejen v něm) uloženo jeko reálné číslo, kdy celá část představuje dny a desetinná část hodiny a minuty (tak např. 6:00 = 0.25, 12:30 = 0,520833333...). To, že se v buňce zobrazují hodiny a minuty je dáno pouze formátováním. A když mám nastaveno formátování "h:mm", uvidím "6:00" nejen když bude v buňce 0.25, ale taky 120.25, 45869.25, atd.
Takže bych do ověření dat přidal podmínku "C11<1". A to samé i v druhém případě.