< návrat zpět

MS Excel


Téma: Použítí výsledku funkce pro další výpočet rss

Zaslal/a 27.1.2014 23:47

Zdravím, narazil jsem na takový problém. V jedné buňce mám "31-Dec-2012" z toho mi funkce ZPRAVA(B2;HLEDAT("20";B2)-4)vybírá jen rok (2012), to mi funguje. Podobná funkce vybírá měsíc (Dec) no a finální fce rozhoduje KDYŽ(E2="Dec";F2;F2-1) ..je-li to Dec tak platí rok v textu, není-li, vrať rok o jeden menší. To vše by bylo OK, jenomže pak se potřebuju odkazovat na tuto finální buňku v další funkci a zde dochází k problému. Excel obsah této buňky nepovažuje za číslo.
Prosím o radu jak postupovat, nechce se mi pro každý z 22 listů provádět operaci ctrl+c; vložit jinak; hodnoty

Díky moc Lukas

Zaslat odpověď >

Strana:  1 2   další »
citovat#017525
avatar
Zkusit zmenit format bunky na DATUM ?
citovat#017526
avatar
To DJPietros
Ne, žádná změna :(
citovat#017529
avatar
Použij fci HODNOTA pro tu finální buňku.
citovat#017531
avatar
To cmuch
Díky moc, už to běhá :)
citovat#017533
avatar
Ty vzorce opravdu fungují? Třeba pro "20-Dec-2012" nebo "1-Dec-2012"?

Funguje ti to jen proto, že náhodou v uvedeném datumu ti funkce hledat najde 20 na 8. pozici. A po odečtení magické konstanty 4 vyjde běžně používaný vzorec:
ZPRAVA(B2;4)

případně
HODNOTA(ZPRAVA(B2;4)0
Vrátí rok rovnou jako číslo.

ps. Uznávám, že pokud jsou v datech jen poslední dny měsíců, pak to funguje.

V uvedeném vzorci
KDYŽ(E2="Dec";F2;F2-1)
když není splněna podmínka se rok automaticky konvertuje na číslo a i výsledek je číslem. Když podmínka splněna je, vrátí vzorec původní hodnotu - text.
citovat#017543
Opičák
A proč je používán textový formát datumu ? Není to zbytečně komplikující ? Kdyby se použil normální formát, kterýmu excel rozumí, bylo by všechno snažší.
A pokud je to takto nutné, asi bych v textu hledal "-" a ne "20".
icon citovat#017544
eLCHa
Když jsem viděl to zadání, tak mně hned napadlo to převést na číslo.

vzorec=HODNOTA.NA.TEXT(41263;"d-mmmm-rrrr")vrátí 20-prosinec-2012

inverzně =HODNOTA("20-pro-2012")vrátí 41263

vzorec=HODNOTA.NA.TEXT(41263;"[$-409]d-mmm-rrrr")vrátí tvar ze zadání 20-Dec-2012
jenže v lokalizované verzi =HODNOTA("20-Dec-2012")vrátí samozřejmě chybu ;)
Napadá někoho, jak snadno převést anglické datum na číslo v lokalizované verzi excelu?
icon citovat#017545
eLCHa
@Opičák
Vidíte, to mně nenapadlo - zeptat se, zda autor nemá anglický excel - pak by bylo vše "easy" ;)
citovat#017578
avatar
=HODNOTA("20-pro-2012") česká verzia
=VALUE("20-dec-2012") anglická verzia

Text medzi apostrofmi sa nekonvertuje, teda treba to zabezpečiť inak. Makrom, alebo nejako zložito funkciou REPLACE(Nahradit) alebo SUBSTITUTE.
icon citovat#017580
eLCHa
@marjankaj
Ano pomocí VBA je to jasné a asi relativně snadné.
NAHRADIT mně taky napadlo, boužel jak píšete by to bylo složité.

Škoda že není "reverzní funkce" k HODNOTA.NA.TEXT - tedy já o ni nevím a proto se ptám - nic jsem nenašel.

Něco jako HODNOTA, ale s parametrem, v jakém formátu je text, takže nějak
=HODNOTA("20-Dec-2012";"[$-409]d-mmm-rrrr")

Na druhou stranu si nevzpomínám, že bych něco takového někdy dělal ...
;))

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje