Převod data
Převod data
Hezké ráno. Už se pár hodin trápím s převodem dat, které jsem importoval z txt souboru. Ve sloupci A mám datumy ve formátu m/dd/rrrr h:mm:ss PM(AM) a potřebuji datum převést do formátu dd:mm:rrrr hh:mm:ss se zohlednením AM a PM, tjst aby se pří PM přičetlo oněch 12hodin. A aby toho nebylo málo, tak bych ještě potřeboval převést číslo ve formátu 9.600000E-2 na 9,600000E-2 eventuelně na 0,096. Zkoušel jsem to přes formát buňky, pokoušel jsem se o makro a o převod pomocí nejrůznějších funkcí. Bohužel bezúspěšně. Máte někdo ideu jak na to?
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: Převod data
A ty chceš z toho času získat 12h formát nebo 24h formát? To jde zcela normálně přes formát buňky.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Převod data
A z desetinné tečky na desetinnou čárku stačí funkce "Najít a nahradit" zkratka je ctrl+f
Naposledy upravil(a) Azuzula dne 25 črc 2012 11:54, celkem upraveno 1 x.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Re: Převod data
d1amond píše:A ty chceš z toho času získat 12h formát nebo 24h formát? To jde zcela normálně přes formát buňky.
Tohle jsem taky zkousel, ale ja mam datum ve formatu: 6/20/2012 7:13:14 PM ty jsi to upravoval pro 25.7.12 11:55:58 PM. Dělaj mi tam bordel ty lomítka

-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Převod data
i na tohle jde použít funkce Najít a nahradit jak už jsem psala předtím
lomítko nahradíte za tečku

Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Re: Převod data
tím se sice zbavím lomítka, ale datum stale zustane v neprevoditelnem formatu. stále mám prohozené dny a měsíce.
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Převod data
V tom případě bych použila třeba vzorce na rozložení jednotlivých částí data, ale na to jsou potřeba 4 různé vzorce a nebo můžu napsat funkci na převod.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Převod data
Tady by byl jeden vzorec. Ex2003.
Předpoklad je ten, že v buňce musí být datum i s časem (v jakémkoli formátu).
Platí pro datum v A2
Předpoklad je ten, že v buňce musí být datum i s časem (v jakémkoli formátu).
Kód: Vybrat vše
=CONCATENATE((ČÁST(A2;(HLEDAT(".";A2;1))+1;((HLEDAT(".";A2;(HLEDAT(".";A2;1))+1))-(HLEDAT(".";A2;1)))-1));".";(ČÁST(A2;1;(HLEDAT(".";A2;1))-1));".";(ZPRAVA(A2;(DÉLKA(A2))-(HLEDAT(".";A2;(HLEDAT(".";A2;1))+1)))))
Platí pro datum v A2
Naposledy upravil(a) cmuch dne 01 srp 2012 19:20, celkem upraveno 2 x.
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Převod data
Zakomponovat funkci hledat mě nenapadlo, ale nevím kde se vzala ta funkce ZPRAVA, mě to píše "Tato funkce není platná."
--- Doplnění předchozího příspěvku (01 Srp 2012 09:28) ---
Napsala jsem funkci na převod toho data s prohozením dnů a měsíce. Funguje snad na všechny formáty. Počítá i s časem ve všech formátech jak 12 hodinový tak i 24 hodinový.
Opravená funkce, bere jakýkoliv formát data od mm.dd.rrrr po m.d.rr vč. času v jakémkoliv formátu.
Vzorec pak bude vypadat např.:
pro datum v buňce A1 s oddělovačem "/"
--- Doplnění předchozího příspěvku (01 Srp 2012 09:28) ---
Napsala jsem funkci na převod toho data s prohozením dnů a měsíce. Funguje snad na všechny formáty. Počítá i s časem ve všech formátech jak 12 hodinový tak i 24 hodinový.
Kód: Vybrat vše
Function PREVED_DATUM(vstup As String, oddelovac As String) As Date
'otočí v datumu den s měsícem z data "mm/dd/rrrr" i "mm/dd/rrrr hh:mm:ss" vč. neúplného zápisu času nebo v 12h formátu
If Mid(vstup, 2, 1) = oddelovac And Mid(vstup, 5, 1) = oddelovac Then
If Mid(vstup, 8, 1) = " " Then
PREVED_DATUM = Mid(vstup, 3, 2) & "." & Mid(vstup, 1, 1) & "." & Mid(vstup, 6, 2) & " " & Mid(vstup, 9, 8)
Else
PREVED_DATUM = Mid(vstup, 3, 2) & "." & Mid(vstup, 1, 1) & "." & Mid(vstup, 6, 4) & " " & Mid(vstup, 11, 8)
End If
ElseIf Mid(vstup, 3, 1) = oddelovac And Mid(vstup, 5, 1) = oddelovac Then
If Mid(vstup, 8, 1) = " " Then
PREVED_DATUM = Mid(vstup, 4, 1) & "." & Mid(vstup, 1, 2) & "." & Mid(vstup, 6, 2) & " " & Mid(vstup, 9, 8)
Else
PREVED_DATUM = Mid(vstup, 4, 1) & "." & Mid(vstup, 1, 2) & "." & Mid(vstup, 6, 4) & " " & Mid(vstup, 11, 8)
End If
ElseIf Mid(vstup, 3, 1) = oddelovac And Mid(vstup, 6, 1) = oddelovac Then
If Mid(vstup, 9, 1) = " " Then
PREVED_DATUM = Mid(vstup, 4, 2) & "." & Mid(vstup, 1, 2) & "." & Mid(vstup, 7, 2) & " " & Mid(vstup, 10, 8)
Else
PREVED_DATUM = Mid(vstup, 4, 2) & "." & Mid(vstup, 1, 2) & "." & Mid(vstup, 7, 4) & " " & Mid(vstup, 12, 8)
End If
ElseIf Mid(vstup, 2, 1) = oddelovac And Mid(vstup, 4, 1) = oddelovac Then
If Mid(vstup, 7, 1) = " " Then
PREVED_DATUM = Mid(vstup, 3, 1) & "." & Mid(vstup, 1, 1) & "." & Mid(vstup, 5, 2) & " " & Mid(vstup, 8, 8)
Else
PREVED_DATUM = Mid(vstup, 3, 1) & "." & Mid(vstup, 1, 1) & "." & Mid(vstup, 5, 4) & " " & Mid(vstup, 10, 8)
End If
End If
End Function
Opravená funkce, bere jakýkoliv formát data od mm.dd.rrrr po m.d.rr vč. času v jakémkoliv formátu.
Vzorec pak bude vypadat např.:
Kód: Vybrat vše
=PREVED_DATUM(A1;"/")
pro datum v buňce A1 s oddělovačem "/"
Naposledy upravil(a) Azuzula dne 01 srp 2012 11:35, celkem upraveno 2 x.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Převod data
Zakomponovat funkci hledat mě nenapadlo, ale nevím kde se vzala ta funkce ZPRAVA, mě to píše "Tato funkce není platná."
Bylo to vytvořeno v Ex2003. Třeba v Ex2007 a 2010 je to jinak.
A u té fce musí být zaručeno dd.mm.rrrr hh:mm , pokud nekdo bude zapisovat datum jen d.m.rrrr tak to nebude fungovat.
Ta má fce to brala vše. Zkusím se na to podívat doma na Ex2010.
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Převod data
Právě že jsem tam ošetřila všechny 4 možnosti kombinace dnů a měsíců. Ale když bude rok v dvoučíselném formátu tak to nebude fungovat, ještě to doladím.
--- Doplnění předchozího příspěvku (01 Srp 2012 11:33) ---
Opravila jsem tu původní funkci v předchozím příspěvku
--- Doplnění předchozího příspěvku (01 Srp 2012 11:33) ---
Opravila jsem tu původní funkci v předchozím příspěvku
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Převod data
Tak jsem to zkoušel v Ex2007 a jde to tam taky.
--- Doplnění předchozího příspěvku (01 Srp 2012 19:14) ---
Tak ex2010 nezná ZPRAVA ale zná VPRAVO
Kód: Vybrat vše
=CONCATENATE((ČÁST(A2;(HLEDAT(".";A2;1))+1;((HLEDAT(".";A2;(HLEDAT(".";A2;1))+1))-(HLEDAT(".";A2;1)))-1));".";(ČÁST(A2;1;(HLEDAT(".";A2;1))-1));".";(ZPRAVA(A2;(DÉLKA(A2))-(HLEDAT(".";A2;(HLEDAT(".";A2;1))+1)))))
--- Doplnění předchozího příspěvku (01 Srp 2012 19:14) ---
Tak ex2010 nezná ZPRAVA ale zná VPRAVO

Kód: Vybrat vše
=CONCATENATE((ČÁST(A2;(HLEDAT(".";A2;1))+1;((HLEDAT(".";A2;(HLEDAT(".";A2;1))+1))-(HLEDAT(".";A2;1)))-1));".";(ČÁST(A2;1;(HLEDAT(".";A2;1))-1));".";(VPRAVO(A2;(DÉLKA(A2))-(HLEDAT(".";A2;(HLEDAT(".";A2;1))+1)))))
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 3
- 2699
-
od petr22
Zobrazit poslední příspěvek
12 lis 2024 22:05
-
- 16
- 4820
-
od Minapark
Zobrazit poslední příspěvek
17 pro 2024 20:54
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů