Aufgabe und Lösung für schnelle Uhrzeiteingabe (Update vom 2008.03.07):
(basierend auf einer Lösung von Franz Pölt; der vorige Text vom 2006.11.12 steht ganz unten auf dieser Seite)
Es ist lästig, lange Uhrzeitreihen in der Form 7:45 eingeben zu müssen. Da wäre 745 doch praktischer! Am Ende kann man dann mittels Formel alle Zeiten umändern und als Werte (und Formate!) über die Eingaben kopieren.
=--TEXT(LINKS(WECHSELN(WENN(ABS(CODE(A1)-54)<4;0;)&A1&"00000000";"q";0);9);"00\:00\:00\,000")
Zur Kontrolle bitte als Zeit formatieren, also etwa "h" oder "hh:mm:ss,000". Hinweis: Für 01:... oder 02:... bitte q1... oder q2... eintippen, damit nicht 10:... oder 20:... draus wird. Die Eingabe einer führenden 1 oder 2 ist also doppeldeutig; q erzeugt mittels führender 0 eine Stellenverschiebung nach rechts. Zum Glück liegen diese Fälle in der Nacht, werden also seltener benötigt! Austricksen lässt sich die Formel auch ("25" ergibt "1 Tag, 01:00"; "q27" ergibt "03:10", was man richtig mit "31" eingibt), also bitte einen Rest Sorgfalt bei der Eingabe walten lassen! Ich habe das "q" als Präfix gewählt, weil es international nah zu den betroffenen Tasten "1" und "2" steht.
1 ergibt 10:00 Uhr
(bzw. Stunden)
q1 ergibt 01:00 Uhr
31 ergibt 03:10 Uhr
9 ergibt 09:00 Uhr
24 ergibt 00:00 Uhr des nächsten
Tages (24:00 Uhr), ACHTUNG: Fehlerquelle!
q24 ergibt 02:40 Uhr
123456789 ergibt 12:34:56,789 Uhr
q123456789 ergibt 01:23:45,678 Uhr (die 9 wird abgeschnitten!)
qqqqqq3 ergibt 00:00:00,300 Stunden (jeweils
2 mehr q läuten also Minuten, Sekunden, Sekundenbruchteile ein)
q000003 entspricht dem vorigen Beispiel,
welches aber schneller einzutippen ist.
Varianten:
Man könnte für weiteren Komfort noch "m" [m2=00:20] oder "s" [s3=00:00:30] installieren, indem man abweichend etwa WECHSELN(WECHSELN(WECHSELN(<sieheoben>;"s";"mm");"m";"qq");"q";0) schachtelt.
Um Probleme wie bei 24 bis 29 zu vermeiden, könnte man mit folgender Erweiterung Werte nur unter 24:00 Uhr (Stunden) erzwingen:
=REST(TEXT(LINKS(WECHSELN(WENN(ABS(CODE(A1)-54)<4;0;)&A1&"00000000";"q";0);9);"00\:00\:00\,000");1)
Schnelle Datumserfassung ohne Punkte:
=--TEXT(A1;"00\.00"&WAHL(LOG10(A1)/2;;"\.00";"\.0000")), als TT.MM.JJ formatiert.
112 ergibt den 01.12.2006 (2006 war bei der
Formelerstellung das aktuelle Jahr!)
113 ergibt den 01.01.2013 (da 13 nicht als Monat
interpretiert werden kann)
1212 ergibt den 12.12.2006
1213 ergibt den 01.12.2013 (siehe 113)
1229 ergibt den 01.12.2029 (siehe 113)
1230 ergibt den 01.12.1930 (siehe 113; zweistellige
Jahreseingaben reichen von 1930-2029)
1345 ergibt #WERT!, da weder eine Behandlung als TTMM
noch MMJJ möglich ist
11111 ergibt den 01.11.2011
101111 ergibt den 10.11.2011
1111111 ergibt #WERT!, da das Jahr nicht zwischen 1900 und 9999 liegt,
sondern 111 oder 1111 wäre.
1121900 ergibt den 01.12.1900
31129999 ergibt den 31.12.9999
Mit Add-In (Ron de Bruin) kann man auf die Formel auch verzichten und gleich in der Zelle wandeln lassen.
Alte 3er-Lösung für Uhrzeiteingabe (2006.11.12): für den, der es mag (oben steht die neue universelle Lösung):
Es ist lästig, lange Uhrzeitreihen in der Form 7:45 eingeben zu müssen. Da wäre 745 doch praktischer! Am Ende kann man dann mittels Formel alle Zeiten umändern und als Werte (und Formate!) über die Eingaben kopieren.
=--TEXT(A1;"0\:00") Zelle als [hh]:mm formatieren
Für genauere Zeiteingaben braucht man entsprechend die folgenden Formeln und Formate:
=--TEXT(A1;"0\:00\:00") Zelle als [hh]:mm:ss
formatieren, Eingabe in A1 als 74500
=--TEXT(A1;"0\:00\:00\,000") Zelle als [hh]:mm:ss,000
formatieren, Eingabe in A1 als 74500000
761 wird zu 8:01 korrigiert, 76161 im zweiten Fall ergibt hingegen #WERT!, und eine Rodelzeit (im dritten Fall) gibt man als 104979 ein.
Übrigens: Ohne Formel geht es auch schnell, wenn man nur ganze Stunden in eine unformatierte Zelle eingibt:
9: ergibt 9:00