web-dev-qa-db-ger.com

Formatieren Sie eine Zeitspanne als Anzahl von Tagen, Stunden und Minuten

Dies ist eine reine Excel-Frage.

Ich habe eine Zeitspanne, die im Wesentlichen einen Unterschied zwischen zwei Zellen darstellt, die jeweils ein Datum enthalten:

Ich habe es geschafft, den Zeitunterschied in Stunden und Minuten zu ermitteln, indem ich das Zahlenformat in [h]:mm ändere. Nun möchte ich die Differenz in Anzahl von Tagen, Stunden und Minuten erfahren. Ich habe versucht, das Zahlenformat auf [d]:[h]:[mm] zu setzen, aber es wird von Excel nicht akzeptiert.

Folgendes habe ich jetzt:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    79:50
2|  14/10/2011 00:00    17/10/2011 11:00    83:00

Folgendes möchte ich gerne bekommen:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    3:7:50
2|  14/10/2011 00:00    17/10/2011 11:00    3:11:00

Wie kann ich das machen? Gibt es dafür ein Zahlenformat?

17
Otiel

Sie können TEXT verwenden.
= TEXT(B1-A1,"d:h:mm")

Beachten Sie, dass der gleiche Effekt mit einem einfachen Zahlenformat direkt auf den Zellen erzielt werden kann

  • wähle deinen Bereich (Zellen C1, C2 etc)
  • rechtsklick und Zellen formatieren
  • Benutzerdefiniert
  • Typ d:hh:mm

Wenn Ihre Datumsunterschiede im Gegensatz zu Ihren Beispieldaten 31 Tage überschreiten, kann ein Ansatz wie =INT(B1-A1)&":"&TEXT(B1-A1,"h:mm") verwendet werden.
wird funktionieren

25
brettdj

Achtung: Das oben genannte funktioniert nur für Bereiche mit weniger als 31 Tagen 

=CONCATENATE(TEXT(FLOOR(B1-A1,1),"@")," Days",TEXT(B1-A1," h:mm:ss"))

stattdessen für Bereiche über 31 Tage. Dies wird nicht gut sortiert, daher ist es besser, die Berechnung in einer Spalte durchzuführen und diese Spalte anschließend für das Endergebnis festzulegen.

7
Bill Barry

Leider scheint es, dass Zahlen- und Datumszeitformate nicht kombiniert werden können, ansonsten ein benutzerdefiniertes Format von:

0:h:m

wäre das Ticket. Wenn Sie jedoch für Zeiträume von 32 Tagen oder mehr zufrieden sind, nur die Anzahl der (gebrochenen) Tage anzuzeigen, können Sie ein benutzerdefiniertes Format wie

[>=32] 0.00 "days"; d:h:m

Der Zellenwert bleibt numerisch. 

2
Gary

Folgendes ist sicherlich nicht die kürzeste Formel und keine direkte Antwort auf die Frage, sondern zeigt das korrekte Ergebnis (auch in LibreOffice) im folgenden Format:

# Tage ## Stunden ## Minuten ## Sekunden

=CONCATENATE(TEXT(FLOOR(B2-A2,1),"@")," days ", IF(HOUR(A12)-HOUR(A11)<0,HOUR(A12)-HOUR(A11)+24,HOUR(A12)-HOUR(A11))," hours ",IF(MINUTE(A12)-MINUTE(A11)<0,MINUTE(A12)-MINUTE(A11)+60,MINUTE(A12)-MINUTE(A11)), " minutes ", TEXT(B2-A2,"s"), " seconds")
1
inetpro

Der folgende Ansatz funktioniert ebenfalls, vorausgesetzt, Ihr Startdatum befindet sich in Zelle C2 und Ihr Enddatum in Zelle D2:

 =TEXT((D2-C2)-MOD(D2-C2,1),"0") & " days " & TEXT(MOD(D2-C2,1),"hh:mm")
0
TimZ

=IFERROR(INT(Date1-Date2)&" Days "&INT(MOD((Date1-Date2);INT(Datw1-Date2))*24)&" Hours "&MINUTE(Fate1-Date)&" Min";IFERROR((Date1-Date2);"NA"))enter code here

Ich denke, das sollte den Trick machen, egal mit welchem ​​Datum Sie sich verabreden.