Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1236to1240
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Uhrzeit extrahieren
Stefan
Hallo zusammen
in einer Zelle steht folgendes: 28.11.2011 15:30:21
Wie kann ich daraus die Uhrzeit extrahieren?
.Cells(10,10).NumberFormat = "HH:MM:SS"
.Cells(3,3) = Int(.Cells(2,2))
Dieser Quellcode gibt 00:00:00 aus.
Was mache ich falsch?
Danke Euch.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Uhrzeit extrahieren
28.11.2011 15:27:18
Martin
Hallo Stefan,
=TEXT(A1;"h:mm:ss") ...wobei in Zelle A1 die Zeit steht.
Viele Grüße
Martin
ist doch Text
28.11.2011 16:09:14
Erich
Hi Martin,
als Uhrzeit hätt man doch gern eine Zahl - und keinen Text.
Stefan, probier mal
.Cells(3,3) = .Cells(2,2) - Int(.Cells(2,2))
Da kommt eine Zahl größergleich 0 und kleiner als 1 raus.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: ist doch Text
28.11.2011 16:27:11
Martin
Hallo Erich,
okay, dann eine Lösung mit Zahl als Ergebnis:
=ZEIT(TEXT(A1;"h");TEXT(A1;"m");TEXT(A1;"s"))

Viele Grüße
Martin
...und es geht noch einfacher...
28.11.2011 16:28:10
Martin

=ZEIT(STUNDE(A1);MINUTE(A1);SEKUNDE(A1))

Anzeige
und es geht noch einfacher...
28.11.2011 17:17:38
Erich
Hi,
wenn es denn schion eine Formel sein soll (bei unserem Fragesteller Stefan sehe ich VBA-Code):
=REST(A1;1)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: und es geht noch einfacher...
28.11.2011 18:14:54
Martin
Hallo Erich,
ich gebe mich geschlagen, kürzer geht es wohl kaum ;-)
Scheinbar habe ich beim Lesen der Fragestellung geschlafen. Also auf ein Neues:
Range("A1") = Format(Range("A1"), "h:mm:ss")
Gegenvorschlag?
Viele Grüße
Martin
Text oder Zahl?
28.11.2011 18:26:09
Erich
Hi Martin,
what the hell spricht dafür, die Uhrzit als Text, als String auszugeben? Genau das tut Format()!
Meinen VBA-Vorschlag habe ich heute um 16:09:14 abgeliefert...
Guten Morgen!?! ;-))
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Text oder Zahl?
29.11.2011 09:28:36
Martin
Hallo Erich,
sorry, ich war einfach nur blind! Irgendwie habe ich deine VBA-Lösung an Anfang überlesen und war der Meinung, dass bis jetzt nur Formel-Lösungen angeboten wurden.
....aber auch wenn "Format" in VBA die Uhrzeit als String ausliest, so erkennt die Zelle den Inhalt trotzdem als Uhrzeit. Darum finde ich meine Lösung auch nicht unbedingt schlechter als deine.
Viele Grüße
Martin
Datum und Uhrzeit: Zahl, nicht Text
29.11.2011 10:21:58
Erich
Hi Martin,
es ging und geht mir überhaupt nicht darum, ob deine oder meine Lösung "schlechter" (in irgend einem Sinne) sei.
Wichtig ist mir Folgendes:
Ein Datum ist in Excel (und VBA) keine Zeichenkette mit zwei Punkten drin, sondern eine Zahl, derzeit über 40800.
Eine Uhrzeit ist hier kein String mit ein oder zwei Doppelpunkten drin, sondern eine nichtnegative Zahl kleiner als 1.
Sich dieser Tatsachen bewusst zu sein, kann oft dabei helfen, Formeln/Programme zu verstehen, auch zu entwickeln.
Beispielsweise bin ich immer mal wieder erstaunt, wie viele Menschen sich die Mühe machen,
eine Formel mit der Fkt. DATEDIF hinzuschreiben, wenn sie nur die Differenz zwischen zwei Terminen in Tagen berechnen wollen.
Man liest dann =DATEDIF(A1;A2;"D") statt êinfach =A2-A1
(und das sogar hier: http://www.excelformeln.de/formeln.html?welcher=141 )
DATEDIF(A1;A2;"D") vernebelt meiner Ansicht nach, dass in den beiden Zellen zwei Zahlen - etwa 40810 und 40833 - stehen,
deren Differenz 40833-40810=23 die Anzahl Tage sofort und auf einfachste Weise ergibt.
Weniger wichtig, aber auch ein Aspekt, unter dem man das betrachten kann:
Aufgabe war, aus einem einer Zahl, einem Wert (Datum+Uhrzeit) eine andere Zahl (Uhrzeit) zu ermitteln.
Excel ist ein Kalkulationsprogramm, das ganz gut mit Zahlen rechnen kann.
Sicher, man kann damit auch Zeichenketten verarbeiten - aber darin liegen wohl nicht die Stärken des Programms.
Wenn man die eine Zahl aus der anderen mitttels einfacher Berechnung direkt ermitteln kann,
warum sollte man erst einen String erzeugen, den Excel vor dem Schreiben in die Zelle wieder in eine Zahl umwandeln muss?
Ich halte das für einen Umweg, den man Excel ersparen kann. Dass sich das z. B. in der Laufzeit heftig auswirkt, glaube ich nicht.
Aber wie gesagt: Dieser Aspekt ist mir weniger wichtig.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Datum und Uhrzeit: Zahl, nicht Text
29.11.2011 11:43:10
Martin
Hallo Erich,
mein Lösungsweg über eine Zeichenkette ist wirklich ein Umweg. Ich muss zugeben, dass Zeitberechnungen in Excel nicht wirklich zu meinen Stärken gehören. Besonders stört es mich, dass Excel (das als Kalkulationsprogramm auch mit negativen Zahlen rechnen kann und Datumswerte in Zahlen umrechnet) keine negativen Zeitwerte unterstützt.
Danke für die ausführliche Erklärung.
Viele Grüße
Martin
AW: Datum und Uhrzeit: Zahl, nicht Text
29.11.2011 13:33:50
Erich
Hi Martin,
nun komme ich mir fast wie ein Missionar vor...
Deine Antwort zeigt mir, dass meine Erklärung noch untauglich war. :-(
Excel rechnet keine Datumswerte in Zahlen um - die Datumswerte sind Zahlen.
40800 ist ein Datumswert. Du kannst ihn - per Zellformat - mal als Zahl, in % oder als Datum anzeigen lassen.
Nur die Darstellung variiert. Der Wert bleibt unverändert.
Noch ein Scherz: Dass die Zahl 40800 im Datumsformat als 14.9.2011 angezeigt wird, ist keineswegs sicher.
Wenn du die Option "1904-Datumswerte verwenden" aktivierst, wird 40800 als 15.9.2015 angezeigt.
(Zurückstellen nicht vergessen...)
Was genau meinst zu mit "Zeitwerte" in "keine negativen Zeitwerte unterstützt"?
Es gibt die Uhrzeit, ausgedrückt als Anzahl vergangener Stunden, Minuten und Sekunden seit Mitternacht.
Es kann damit keine negative Uhrzeit geben.
Es gibt auch die Zeitspanne/den Zeitraum zwischen zwei Uhrzeiten. Da man diese auch in
Stunden, Minuten und Sekunden ausdrücken kann, wird das oft mit der Uhrzeit in einen Topf geworfen.
Meist ist es geschickter, eine Zeitspanne nicht in drei, sondern nur in einer Maßeinheit auszudrücken.
Beim 100m-Lauf nimmt man Sekunden (8,756 Sek.), bei der Lohnberechnung nimmt man Stunden
(wenn Stundenlohn gefragt ist). Dann hat man nach 17,25 Stunden soundsoviel verdient.
Es geht hier um die (auch gebrochene) Anzahl von Sekunden oder Stunden, nicht um eine Uhrzeit.
Wenn man so denkt und in Stunden darstellt und rechnet, gibt es auch kein Problem bei mehr als 24 Stunden -
Excel kann mit Zahlen größer als 24 rechnen, der Kunstgriff "eckigen Klammern" im Format ist dann unnötig.
Wenn man so verfährt, hat man auch keinerlei Problem mit Negativ-Zeitspannen,
z. B. einem Gleitzeit-Saldo von -4,75 Stunden. Das Vorzeichen ist dann überhaupt kein Problem.
Wer statt mit -4,75 mit -04:45 rechnet, bereitet sich selbst unnötig Probleme.
In diesem Sinne unterstützt Excel negative "Zeitwerte" natürlich und gut.
nun komme ich mir _ wie ein Missionar vor...
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
das geht doch auch mit Formeln ...
28.11.2011 16:23:08
Matthias
Hallo
ich würde es so machen ...
Tabelle1

 AB
128.11.2011 15:30:21 15:30:21
2TT.MM.JJJJ hh:mm:ss hh:mm:ss

Formeln der Tabelle
ZelleFormel
B1=A1


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
... oder so:
Tabelle1

 AB
128.11.2011 15:30:2115:30:21
2 hh:mm:ss

Formeln der Tabelle
ZelleFormel
B1=ZEIT(STUNDE(A1);MINUTE(A1);SEKUNDE(A1))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Anzeige

185 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige