Eingabe der Zeitdaten in Excel im Format mm: ss (ohne die führende 0: für die Stunden)

16

Ich möchte Zeitdaten im Format mm: ss in ein Excel-Blatt eingeben. Das Problem ist - dass, obwohl das Zellenformat mm: ss ist, wenn ich die Daten wie folgt eingebe:

12:33 Der aktuell gespeicherte Wert beträgt 12 Stunden und 33 Minuten. Wenn ich 12 Minuten und 33 Sekunden möchte, muss ich 0:12:33 eingeben

Gibt es eine Möglichkeit, die Zelle zu veranlassen, 12:33 als mm: ss zu akzeptieren?

Dani
quelle
2
Um Minuten größer als anzuzeigen59 , formatieren Sie die Zelle als [MM]:SS. Gefällt mir: 02:10:45würde dann 130:45stattdessen als anzeigen . Aber anscheinend funktioniert das bei Eingaben nicht.
Arjan

Antworten:

6

Die Zeit wird allgemein im Format Stunden: Minuten: Sekunden eingegeben, sodass Sie dieses Eingabeformat nicht ändern können. Sie können natürlich das Anzeigeformat ändern, müssen sich aber leider an das Eingabeformat halten.

Steve
quelle
Es sieht so aus, als gäbe es keine Lösung für mein Problem, da selbst das Verwenden von Skripten nicht hilfreich ist, da die Formatierung das maskiert, was der Benutzer tatsächlich eingibt.
Dani
Also ist das Universalformat hh:mm:ssoder h:mm:ss? @Steve
Shayan
Ich würde sagen, es ist h:mm:ss@ Shayan
Steve
14

Wie von Steve beantwortet , interpretiert Excel Benutzereingaben 12:33als 12h33m. Sie können dieses Verhalten nicht dahingehend ändern, wie Excel Benutzereingaben akzeptiert.

Wie Sie im Kommentar erwähnt haben, würden Benutzer 12:3312m33s eingeben, aber dies bedeutet.

Hier finden Sie eine Umgehungslösung , um den richtigen Wert für die Berechnung zu erhalten.

  1. Formatieren Sie die Zelle A1 (z. B. Benutzereingabe 12:33) als[h]:mm
  2. Geben Sie die Formel =A1/60in Zelle B1 ein
  3. Formatieren Sie Zelle B1 als [m]:ss

Der angezeigte Wert sollte in A1 und B1 gleich sein. Allerdings B1 wird der tatsächliche Wert , den Sie wollen .

Wilson
quelle
2
Nett. Oder: Formatieren Sie die Eingabe als Zeichenfolge / Text und konvertieren Sie sie mit etwas ÄhnlichemTIMEVALUE .
Arjan
1
Die angezeigten Werte in A1 und B1 stimmen nicht überein, wenn mm> 23
Alaa M.
1
@AlaaM. danke für deine entdeckung. Die Antwort wird aktualisiert, um das Problem zu beheben. benutze [h]und[m]
Wilson
3

Es gibt eine Lösung! Platzieren Sie diesen VBA-Code in Ihrem Arbeitsblattmodul, dh:

  1. Öffne den Visual Basic Editor ( Alt- F11)
  2. Doppelklicken Sie in der Baumansicht oben links auf das Blatt, für das Sie Ihre Zeiten eingeben möchten
  3. Geben Sie im zentralen Codebereich den folgenden Code ein.
  4. Schließen Sie VBE

Verwenden Sie diesen Code:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

Wenn Sie den Bereich, in den Sie die Daten eingeben, bereits formatiert haben, verwenden Sie stattdessen diese Zeile als erste Zeile:

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

Beachten Sie, dass dies den Wert und das Format ändert - jedes Mal, wenn Sie eine Zeit eingeben - oder einen Wert zwischen 0 und 1! Wenn Sie es auf eine bestimmte Spalte beschränken möchten, fügen Sie diese Zeile hinzu:

If Target.Column <> 3 Then Exit Sub

oder diese Zeile, um sie auf einen bestimmten Bereich zu beschränken

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
Peter Albert
quelle
2

Der einfachste Weg, Stunden zu trainieren

Formatieren Sie die Zelle (A1) hh:mm

Eingabe wie gewohnt ( 07:22)

Formatieren Sie die Zelle (B1) hh:mm

Eingabe wie gewohnt ( 16:00)

Formatiere die Zelle (C1) h:mm

Geben Sie alle Daten in die Zelle (C1) ein: =(A1+B1)/60

Don_T
quelle
1

Markieren Sie die Zelle (n) / Spalte, die Sie als Dauer festlegen möchten, und klicken Sie mit der rechten Maustaste auf "Zellen formatieren". Gehen Sie zu "Benutzerdefiniert" und suchen Sie nach "h: mm", wenn Sie die Dauer im Stunden- und Minutenformat eingeben möchten. Wenn Sie auch Sekunden einfügen möchten, klicken Sie auf "h: mm: ss". Danach können Sie sogar die Gesamtdauer addieren.

Hoffe das hilft.


quelle
1

Ich finde es am besten, die Minuten in Spalte A und dann die Sekunden in Spalte B einzutragen. Dann können Sie die Spalten summieren. Alles als normales Zahlenformat.

Als nächstes konvertieren Sie Sekunden> 60 in Minuten, indem Sie die Summe in Spalte B durch 60 teilen und die INT zur Summe in Spalte A addieren. Lassen Sie den Rest der MOD in Spalte B.

Alternativ können Sie Spalte C als Dezimalzahl verwenden, indem Sie eine Formel verwenden, = (A1+(B1/60))die die Dezimalminuten angibt. Führen Sie am Ende von Spalte C eine Summe aus und wenden Sie dann eine Formel an, um den Dezimalteil wie folgt in Sekunden umzuwandelnC22 Geben Sie die Summe in C23die Formel ein =MOD(C22,1)*60.

Geben Sie nun A23die Formel ein =INT(C22), um die Gesamtminuten einschließlich der aus der Summe in angezeigten Minuten anzuzeigen C22.

MartinCC
quelle
1

Ich hatte das gleiche Problem und hier ist die Lösung, die ich gefunden habe: Geben Sie die Formel mit der TIMEFunktion ein, die eine Zeitmatrix erstellt =TIME(H,M,S)und formatiert, wie Sie möchten. Sie müssen immer noch jedes Mal 0 Stunden eingeben, weil Mathe, aber dies macht die ganze Sache unendlich praktikabler.

Alex Madjarov
quelle
0

Lösung nach oben. Wenn Sie das h:mmFormat verwenden, können Sie mit Excel nicht über 23 hinausgehen. Fügen Sie den Stunden in Ihrem Format eckige Klammern hinzu, [h]:mmund Sie können über 23 hinausgehen.

Um den Wert in Sekunden zu berechnen, setzen Sie die Zelle auf das "allgemeine" Zahlenformat und geben Sie die folgende Formel ein

=HOUR(A1)*60+MINUTE(A1)
Yakshi ein
quelle