Anzeige
Archiv - Navigation
1920to1924
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
Inhaltsverzeichnis

Berechnen der Zeitdifferenz -WE-Worktime

Berechnen der Zeitdifferenz -WE-Worktime
22.02.2023 08:30:22
Ulf88
Hallo,
Ich muss eine Google Tabelle nach Excel übertragen. Jedoch funktioniert beim Öffnen in Excel die folgende Formel nicht mehr.
ich habe mit viel Mühe in Google Tabellen eine Formel erstellt, die die Zeitdifferenz von der Ankunftszeit einer Email zur Bearbeitungszeit der Email berechnet.
Hierbei sind die tägliche Arbeitszeit von 7-15 Uhr und die Wochenenden zu berücksichtigen.
Mit folgender Formel hat es funktioniert:
=map( 
  B6:B147, C6:C147, D6:D147, E6:E147, 
  lambda( 
    startDay, startTime, endDay, endTime, 
    if( 
      startDay * startTime * endDay * endTime * (startDay + startTime = endDay + endTime), 
      let( 
        businessStart, value("7:00"), businessEnd, value("15:00"), 
        pushToNextDay, startDay + (startTime > businessEnd), 
        startDayOfWeek, weekday(pushToNextDay, 2), 
        effectiveStartDay, switch(startDayOfWeek, 6, pushToNextDay + 2, 7, pushToNextDay + 1, pushToNextDay), 
        startOutsideBusinessHours, or(startTime > businessEnd, startTime  businessStart, startDayOfWeek > 5), 
        effectiveStartTime, if(startOutsideBusinessHours, businessStart, startTime), 
        daysBetween, max(0, networkdays(effectiveStartDay, endDay) - 2), 
        hoursBetween, daysBetween * (businessEnd - businessStart), 
        hoursStartDay, businessEnd - effectiveStartTime, 
        hoursEndDay, endTime - businessStart, 
        if( 
          effectiveStartDay = endDay, 
          endTime - effectiveStartTime, 
          hoursStartDay + hoursEndDay + hoursBetween 
        ) 
      ), 
      iferror(1/0) 
    ) 
  ) 
)

Das Ergebniss sah dann wie folgt aus:
Userbild
Kann mir jemand sagen, was ich an dieser Formel ändern muss, damit sie auch in Excel funktioniert?
Danke

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnen der Zeitdifferenz -WE-Worktime
22.02.2023 11:09:37
Sigi.21
Hallo Ulf,
ich kenne mich mit Google-Tabellen leider nicht aus und kann daher nicht sagen, ob sich deine Formel anpassen lässt.
Aber ich könnte dir für xl365 (deutsch) eine Formel besorgen, die das selbe Ergebnis liefert. Interesse?
Gruß Sigi
AW: Berechnen der Zeitdifferenz -WE-Worktime
22.02.2023 12:56:13
Ulf
Ich habe folgende Formel bis jetzt als Ansatz:
=(IF(E6>C6;D6+1-B6-INT((WEEKDAY(B6;2)+D6-B6)/7)-INT((WEEKDAY(B6;1)+D6-B6)/7);D6-B6-INT((WEEKDAY(B6;2) +D6-B6)/7)-INT((WEEKDAY(B6;1)+D6-B6)/7))-1)*8/24+IF(E6>C6;E6-C6;1-(C6-E6)-16/24) 
Jedoch stimmen da die Werte nicht immer. Außerdem ist mir nicht klar, wie ich das Arbeitszeitfenster (7-15 Uhr) einbinden kann.
Außerdem sollen die Emails, die zB nach 15 Uhr eingegangen sind, erst ab dem nächsten Werktag um 7 Uhr gerechnet werden.
Kann mir jemand dabei helfen?
Ich habe hier auch nochmal eine TestExcel File angelegt.
https://www.herber.de/bbs/user/157948.xlsx
Vielen Dank
Anzeige
AW: Berechnen der Zeitdifferenz -WE-Worktime
22.02.2023 14:39:37
Sigi.21
Hallo Ulf,
wenn das Startdatum u. -uhrzeit außerhalb der Arbeitszeit liegen (gar noch im Wochenende oder am Feiertag), dann ist es mit Formeln zu kompliziert. Aber mit VBA-Fkt. ist es machbar. Interesse an VBA-Lösung?
Gruß Sigi
AW: Berechnen der Zeitdifferenz -WE-Worktime
23.02.2023 08:29:31
Ulf
Ich habe mir die Google Sheets Formel noch einmal angesehen.
Natürlich müssen dort die Kommas durch Semikolons ersetzt werden und IFERROR(1/0) durch IFERROR(1/0,"") ersetzt werden.
Jetzt habe ich folgende Formel:
=map( 
  B6:B205; C6:C205; D6:D205; E6:E205; 
  lambda( 
    startDay; startTime; endDay; endTime; 
    if( 
      startDay * startTime * endDay * endTime * (startDay + startTime = endDay + endTime); 
      let( 
        businessStart; value("7:00"); businessEnd; value("15:00"); 
        pushToNextDay; startDay + (startTime > businessEnd); 
        startDayOfWeek; weekday(pushToNextDay; 2); 
        effectiveStartDay; switch(startDayOfWeek; 6; pushToNextDay + 2; 7; pushToNextDay + 1; pushToNextDay); 
        startOutsideBusinessHours; or(startTime > businessEnd; startTime  businessStart; startDayOfWeek > 5); 
        effectiveStartTime; if(startOutsideBusinessHours; businessStart; startTime); 
        daysBetween; max(0; networkdays(effectiveStartDay; endDay) - 2); 
        hoursBetween; daysBetween * (businessEnd - businessStart); 
        hoursStartDay; businessEnd - effectiveStartTime; 
        hoursEndDay; endTime - businessStart; 
        if( 
          effectiveStartDay = endDay; 
          endTime - effectiveStartTime; 
          hoursStartDay + hoursEndDay + hoursBetween 
        ) 
      ); 
      iferror(1/0;"") 
    ) 
  ) 
)
Das Einzige was mir jetzt noch fehlt, ist ein Zusatz in der Formel, sodass Feiertage entfernt werden. Gibt es da eine Möglichkeit?
Danke für die Hilfe
Anzeige

151 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige