Supportnet / Forum / Tabellenkalkulation
Differenz zwischen zwei bestimmten Tagen
Frage
Hallo,
Ich habe zwei Daten angegeben als Datum mit Tag, Monat, Jahr Uhrzeit in Stunden und Minuten.
Ich moechte die Differenz ausgegeben haben in Tagen, Sunden, Minuten und zwar am liebsten so, dass in der Zielzelle folgendes auftaucht: „xx days yy hours zz minutes“.
Leider habe ich damit erhebliche Schwierigkeiten: ich weiss nicht, wie ich die Zielzelle zu formatieren habe. Bei meinen Versuchen, hat Excel zwar die gewuenschte Rechnung ausgeführt, aber immer nur
- Tage und dann mit Komma getrennt Stunden und Minuten als Dezimalzahl ausgegeben, oder
- Zwar das Format tage:stunden:minuten:sekunden gewaehlt, dabei aber immer volle Monate „verschluckt“ und nur die darueber hinausgehenden Tage ausgegeben.
Kann jemand aushelfen?
Antwort 1 von hendrikw
Also meiner läuft (nur) an LPT1.
mfg
Hendrik
mfg
Hendrik
Antwort 2 von Manuel
Natürlich - es kommt nur auf die Anschlussform beim Installieren an und ob es im BIOS ev. deaktiviert ist.
Gruß Manuel
Gruß Manuel
Antwort 3 von Aliba
Hi,
Startdatum in A1, Enddatum in B1
Formel:
=GANZZAHL(B1-A1)&" days, "&GANZZAHL(REST((B1-A1);1)*24)&" hours, "&RUNDEN(REST((B1-A1);1)*1440;0)&" minutes"
CU Aliba
Startdatum in A1, Enddatum in B1
Formel:
=GANZZAHL(B1-A1)&" days, "&GANZZAHL(REST((B1-A1);1)*24)&" hours, "&RUNDEN(REST((B1-A1);1)*1440;0)&" minutes"
CU Aliba
Antwort 4 von uwe
versuch mal auf die zielzelle (in der das ergebnis stehen soll) das fpormat der andefren zellen zu übertragen
Antwort 5 von scio me nescire
Hallo,
danke für die schnelle Antwort. Habe hier engl. ExcelXP. REST dürfte dasselbe sein, RUNDEN müßte ROUND sein, aber was könnte GANZZAHL auf englisch sein?
Sollte ich es zuerst finden, melde ich mich. Weiß es einer schneller, hoffe ich, er postet hier.
Einstweilen vielen Dank.
smn
danke für die schnelle Antwort. Habe hier engl. ExcelXP. REST dürfte dasselbe sein, RUNDEN müßte ROUND sein, aber was könnte GANZZAHL auf englisch sein?
Sollte ich es zuerst finden, melde ich mich. Weiß es einer schneller, hoffe ich, er postet hier.
Einstweilen vielen Dank.
smn
Antwort 6 von RedSonja
versuchs mal mit TRUNC bzw such in der Hilfe nach TRUNCATE (heißt soviel wie "abschneiden")
lg
RedSonja
lg
RedSonja
Antwort 7 von scio me nescire
Hallo,
Die Formel ins Englische uebertragen sieht nun wie folgt aus:
=TRUNC(D2-D1)&" days "&TRUNC(MOD((D2-D1);1)*24)&" hours "&ROUND(MOD((D2-D1);1)*60;0)&" minutes"
Sie funktioniert super, d.h. spuckt ein Ergebnis aus. Allerdings ist dieses Ergebnis falsch, denn die Berechnung der Minuten =ROUND(MOD((D2-D1);1)*60;0) nimmt noch den Wert der die Stunden mitenthaelt.
Beispiel:
D1: 31.12.2002 10:30
D2: 02.04.2003 14:00
Ergebnis sollte sein: 92 days 3 hours 30 minutes
Mit obiger Formel kommt aber raus: 92 days 3 hours 9 minutes
Richtig waere es nach dem Teil fuer die Stunden
TRUNC(MOD((D2-D1);1)*24)&" hours ",
im folgenden wieder die ganze Zahl abzuziehen und dann den Rest mit 60 zu multiplizieren.
Meine Versuche endeten mit lauter Fehlermeldungen von Excel.
Kann noch einmal jemand helfen? Geht das ueberhaupt in einer Formel?
Danke schon einmal,
smn
Die Formel ins Englische uebertragen sieht nun wie folgt aus:
=TRUNC(D2-D1)&" days "&TRUNC(MOD((D2-D1);1)*24)&" hours "&ROUND(MOD((D2-D1);1)*60;0)&" minutes"
Sie funktioniert super, d.h. spuckt ein Ergebnis aus. Allerdings ist dieses Ergebnis falsch, denn die Berechnung der Minuten =ROUND(MOD((D2-D1);1)*60;0) nimmt noch den Wert der die Stunden mitenthaelt.
Beispiel:
D1: 31.12.2002 10:30
D2: 02.04.2003 14:00
Ergebnis sollte sein: 92 days 3 hours 30 minutes
Mit obiger Formel kommt aber raus: 92 days 3 hours 9 minutes
Richtig waere es nach dem Teil fuer die Stunden
TRUNC(MOD((D2-D1);1)*24)&" hours ",
im folgenden wieder die ganze Zahl abzuziehen und dann den Rest mit 60 zu multiplizieren.
Meine Versuche endeten mit lauter Fehlermeldungen von Excel.
Kann noch einmal jemand helfen? Geht das ueberhaupt in einer Formel?
Danke schon einmal,
smn
Antwort 8 von scio me nescire
Juchu, habe die Formel selbst gefunden (mit der Hilfe von Aliba und RedSonja natuerlich - Ehre wem Ehre gebuehrt):
=TRUNC(D2-D1)&" days "&TRUNC(MOD((D2-D1);1)*24)&" hours "&TRUNC(MOD(((MOD((D2-D1);1)*24));1)*60)&" minutes"
klappt super! Weiss leider nicht, ob es auch einfacher gegangen waere, aber egal.
Vielen Dank fuer die Hilfe und Anregungen.
smn
=TRUNC(D2-D1)&" days "&TRUNC(MOD((D2-D1);1)*24)&" hours "&TRUNC(MOD(((MOD((D2-D1);1)*24));1)*60)&" minutes"
klappt super! Weiss leider nicht, ob es auch einfacher gegangen waere, aber egal.
Vielen Dank fuer die Hilfe und Anregungen.
smn
Antwort 9 von Aliba
Hi,
sh.it, hab ich nen Fehler gemacht. Das sollte aber funzen:
=GANZZAHL(B1-A1)&" days, "&GANZZAHL(REST(B1-A1;1)*24)&" hours, "&RUNDEN(REST((B1-A1)*24-24*GANZZAHL(B1-A1);1)*60;0)&" minutes."
Mußte Dir halt wieder übersetzen.
CU Aliba
sh.it, hab ich nen Fehler gemacht. Das sollte aber funzen:
=GANZZAHL(B1-A1)&" days, "&GANZZAHL(REST(B1-A1;1)*24)&" hours, "&RUNDEN(REST((B1-A1)*24-24*GANZZAHL(B1-A1);1)*60;0)&" minutes."
Mußte Dir halt wieder übersetzen.
CU Aliba
Antwort 10 von Aliba
Hi man sollte halt doch vorher mal aktualisieren,
Somit hat sich mein voriger Beitrag erledigt.
CU ALiba
Somit hat sich mein voriger Beitrag erledigt.
CU ALiba
Antwort 11 von Friedel
Ich habe keine Ahnung was TRUNC() ist, aber eine Ganzzahl erzeugt man INT(). Mit INT() erzeugt man die nächstkleinere Integerzahl (Gegenteil von Bruch odet Kommazahl) die unter dem Ausdruck in der Klammer liegt. Das ist jedenfalls das was du brauchst und wahrscheinlic auch das was im deutschen Excell als Ganzzahl() erzeugt wird.
Antwort 12 von RedSonja
@friedel
in vielen prgrammiersprachen wird trunc bzw truncate als befehl zum abschneiden der nachkommastellen genutzt, daher habe ich an diesen befehl gedacht.
int bzw integer ist ein bestimmtes zahlenformat (bei TurboPascal war das der bereich der Natürlichen (Ganze Zahlen) vom ca. ±65000
Es freut mich daher, dass mein wissen jemandem geholfen hat, so wie mir schon häufig das wissen anderer geholfen hat, deshalb auch von mir ein ganz dickes
an alle.
Live long and prosper
RedSonja
in vielen prgrammiersprachen wird trunc bzw truncate als befehl zum abschneiden der nachkommastellen genutzt, daher habe ich an diesen befehl gedacht.
int bzw integer ist ein bestimmtes zahlenformat (bei TurboPascal war das der bereich der Natürlichen (Ganze Zahlen) vom ca. ±65000
Es freut mich daher, dass mein wissen jemandem geholfen hat, so wie mir schon häufig das wissen anderer geholfen hat, deshalb auch von mir ein ganz dickes
Zitat:
DANKE
DANKE
an alle.
Live long and prosper
RedSonja