'Arbeitszeit'-Formel über mehrere Tage gesucht

Liebe Excelianer,

ich suche eine Formel (kein VBA) für Stundenanzahl, die sowohl Stunden am gleichen Tag als auch für mehrere Tage durchgehend abdeckt.

A: Datum1
B: Uhrzeit1 (Beginn)
C: Datum2
D: Uhrzeit2 (Ende)
E: Anzahl Stunden

Im Klartext müßte die Formel lauten:
Wenn Datum2 existiert, dann rechne die Anzahl Tage der Differenz von Datum2 zu Datum1, multipliziere das mit 24, dann addiere dazu die Differenz der Uhrzeit1 bis Mitternacht und die Differenz von Mitternacht bis Uhrzeit2.
Und wenn Datum2 nicht existiert, dann rechne nur die Differenz von Uhrzeit2 zu Uhrzeit1.

Beispiele:
20.08.06 16:00 bis 22.08.06 11:00 ==> Ergebnis 43 Stunden
29.08.06 14:00 bis 23:00 ==> Ergebnis 9 Stunden

Wer bastelt mir diese Formel, bitte?
Notfalls kann die 2. Bedingung (kein Datum2) auch wegbleiben, falls das zu kompliziert wird.

Danke im voraus.

Gruß Gudrun

Hi,
in E: =WENN(C1 „“; ( C1 - A1 ) * 24 + D1 - B1; D1 - B1 )
Gruß.Timo

Funktioniert leider so nicht! :smile:
Hi Timo,

drei Uhr morgens scheint wohl keine geeignete Uhrzeit zu sein für sowas. :wink:

Das hier

in E: =WENN(C1 „“; ( C1 - A1 ) * 24 + D1 - B1; D1 -
B1 )

ist zwar kurz und knackig, funktioniert aber leider nicht.
Zum einen geht D1-B1 nicht, wenn die Ende-Uhrzeit (11:00) kleiner als die Beginn-Uhrzeit (16:00) ist, zum anderen ist das Problem, daß sich Äpfel (Tage*24) und Birnen (Stunden) nicht addieren lassen.

Kannst Du Dir bitte was Anderes ausdenken?
Nicht sofort, es eilt nicht. :wink:

Danke erstmal und

Gruß Gudrun

Liebe Excelianer,

ich suche eine Formel (kein VBA) für Stundenanzahl, die sowohl
Stunden am gleichen Tag als auch für mehrere Tage durchgehend
abdeckt.

A: Datum1
B: Uhrzeit1 (Beginn)
C: Datum2
D: Uhrzeit2 (Ende)
E: Anzahl Stunden

WENN(C1="";0;(C1-A1)*24)+WENN(C1="";(D1-B1)*24;(1-B1)*24+D1*24)

wenn ich das richtig verstanden habe…
Achtung: In der Schreibweise werden die Stunden natürlich dezimal angezeigt d.h. aus 30 minuten werden 0,5 Stunden!

Im Klartext müßte die Formel lauten:
Wenn Datum2 existiert, dann rechne die Anzahl Tage der
Differenz von Datum2 zu Datum1, multipliziere das mit 24,

wenn ich das richtig sehe musst Du von dieser differenz aber noch 1 abziehen. sonst bekomme ich von 1.1.1990 12 Uhr bis 2.1.1990 12 Uhr 48 Stunden raus und das ist denke ich unmöglich *g*

ergo:
=WENN(C1="";0;(C1-A1 -1 )*24)+WENN(C1="";(D1-B1)*24;(1-B1)*24+D1*24)

Gruß
Munich

Moin, Gudrun,

=(
 (DATUM(JAHR(B2);MONAT(B2);TAG(B2))
- DATUM(JAHR(A2);MONAT(A2);TAG(A2)))
+ (ZEIT(STUNDE(B2);MINUTE(B2);0)
- ZEIT(STUNDE(A2);MINUTE(A2);0))
 )\*24

Datum und Uhrzeit stehen hier in jeweils einer Zelle als TT.MM.JJJJ hh:mm; Ergebnis als Dezimalzahl in Stunden.

Gruß Ralf

Das Problem Deiner Formel

Moin, Gudrun,

=(
(DATUM(JAHR(B2);MONAT(B2);TAG(B2))

  • DATUM(JAHR(A2);MONAT(A2);TAG(A2)))

bzw steht das Datum nicht im Format
TT.MM.JJJJ hh:mm sondern aufgeteilt auf 2 Spalten…

Ausserdem kann das Enddatum auch leer sein - wenn eben nur ein Tag „investiert wurde“…

Also doch meine Formel :stuck_out_tongue:

Wo ist das Problem?
Moin,

schreib

 (DATUM(JAHR(C2);MONAT(C2);TAG(C2))
- DATUM(JAHR(A2);MONAT(A2);TAG(A2)))
+ (ZEIT(STUNDE(D2);MINUTE(D2);0)
- ZEIT(STUNDE(B2);MINUTE(B2);0))
 )\*24

Für den Fall, dass zuerst die Datümer und dann die Zeiten kommen, kannst Du mich gerne anschreiben. Nach Abfragen, ob Zellen leer sind, war nicht gefragt.

Gruß Ralf

Liebe Excelianer,

A: Datum1
B: Uhrzeit1 (Beginn)
C: Datum2
D: Uhrzeit2 (Ende)
E: Anzahl Stunden

Beispiele:
20.08.06 16:00 bis 22.08.06 11:00 ==> Ergebnis 43
Stunden
29.08.06 14:00 bis 23:00 ==> Ergebnis 9 Stunden

Ich hab es in eine Einzige Formel gepackt :smile:

So wie du das oben hast

=RUNDEN((GANZZAHL(((GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1))))\*24)+((((ABS(ABS(C1-A1)-ABS(D1-B1)))-(GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1)))))\*24)\*1)))+(((((GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1))))\*24)+((((ABS(ABS(C1-A1)-ABS(D1-B1)))-(GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1)))))\*24)\*1)-(GANZZAHL(((GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1))))\*24)+((((ABS(ABS(C1-A1)-ABS(D1-B1)))-(GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1)))))\*24)\*1))))\*60)/100);2)

probiers aus :wink:

Liebe Excelianer,

=RUNDEN((GANZZAHL(((GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1))))\*24)+((((ABS(ABS(C1-A1)-ABS(D1-B1)))-(GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1)))))\*24)\*1)))+(((((GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1))))\*24)+((((ABS(ABS(C1-A1)-ABS(D1-B1)))-(GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1)))))\*24)\*1)-(GANZZAHL(((GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1))))\*24)+((((ABS(ABS(C1-A1)-ABS(D1-B1)))-(GANZZAHL(ABS(ABS(C1-A1)-ABS(D1-B1)))))\*24)\*1))))\*60)/100);2)

Dabei ist der Ausgabe wert Dezimal aber das ergebnis schon in Stunden,Minuten umgerechnet. Es ist also davon abzuraten die werte einfach zu addieren ohne umrechnung der Komma werte.

Desweiteren gibt es nur positive ergebnise.
Egal ob Ende vor Start liegt.

greetings :smile:
Sascha

Dankeschön
Moin Ralf,

vielen Dank für Deine Formel. Bitte nicht traurig sein, ich nehme für meine Tabelle aber die von Munich. Ich bin es seit Jahren gewöhnt, Datum und Zeit in 2 Feldern zu haben, zumal das aktuelle Datum mit einem Griff (STRG+.) dasteht. Falls ich einen Eintrag mal nachträglich machte, ginge auch das Datum mit der Kurzform (T+.M+Enter) schneller - für mich jedenfalls.

Ich werde mir die Formel aber trotzdem merken - frau kann ja nie wissen.

Gruß Gudrun

=(


> (DATUM(JAHR(B2);MONAT(B2);TAG(B2))  
> - DATUM(JAHR(A2);MONAT(A2);TAG(A2)))  
> + (ZEIT(STUNDE(B2);MINUTE(B2);0)  
> - ZEIT(STUNDE(A2);MINUTE(A2);0))  
> )\*24

Datum und Uhrzeit stehen hier in jeweils einer Zelle als
TT.MM.JJJJ hh:mm; Ergebnis als Dezimalzahl in Stunden.

Dankeschön
Hallo Munich,

dankeschön, so habe ich mir das vorgestellt!

WENN(C1="";0;(C1-A1)*24)+WENN(C1="";(D1-B1)*24;(1-B1)*24+D1*24)

Achtung: In der Schreibweise werden die Stunden natürlich
dezimal angezeigt d.h. aus 30 minuten werden 0,5 Stunden!

Jau, da habe ich kein Problem mit.

wenn ich das richtig sehe musst Du von dieser differenz aber
noch 1 abziehen. sonst bekomme ich von 1.1.1990 12 Uhr bis
2.1.1990 12 Uhr 48 Stunden raus und das ist denke ich
unmöglich *g*

Jau, ich weiß. Die -1 hätte ich notfalls auch noch selbst einbasteln können, aber ich war mir sicher, daß der Formelerfinder das berücksichtigt. :wink:

ergo:
=WENN(C1="";0;(C1-A1 -1 )*24)+WENN(C1="";(D1-B1)*24;(1-B1)*24+D1*24)

(1-B1)*24 —>aha, so geht das also! Wieder was gelernt.

Gruß Gudrun

Danke
Hallo Sascha,

Deine Formel ist mir eindeutig zu lang.
Ich tendiere dazu, Dinge so einfach wie möglich zu handhaben.

Es ist also davon abzuraten die
werte einfach zu addieren ohne umrechnung der Komma werte.

Bis jetzt kann ich nicht feststellen, daß irgendetwas an Munichs Formel ungenau wäre.

Desweiteren gibt es nur positive ergebnise.
Egal ob Ende vor Start liegt.

???

Wenn Ende vor Start läge und trotzdem ein positives Ergebnis herauskäme, dann hätte ich mich mit meinen Einträgen vertan und würde es nicht einmal merken. :frowning:

Danke trotzdem!

Gruß Gudrun

greetings :smile:
Sascha

doch…

Nach
Abfragen, ob Zellen leer sind, war nicht gefragt.

und zwar genau hier:
Wenn Datum2 existiert (…)

das indiziert nämlich ein „wenn es nicht da ist…“

Wenn Ende vor Start läge und trotzdem ein positives Ergebnis
herauskäme, dann hätte ich mich mit meinen Einträgen vertan
und würde es nicht einmal merken. :frowning:

Lol bei mir ist das ein Feature um , so kann ich verschiedene Formulare, mit derselben formel berechnen. Links rechts gelesene und rechts links gelesene Datums. International tauglich.
Kann ja nicht ahnen das du mängel bei der Eingabe hast. Das wird bei mir schon viel früher abgefangen. Ich verarbeite Daten und erhebe sie nicht.

My Feature is your Bug.