På radnivå går det att fixa relativ enkelt, även om det blir långt. För rad 2 ger ger den här formeln antalet timmar som infaller mellan 08-10 (samma dygn):
=MAX(MIN(TIDVÄRDE("10:00");D2)-MAX(TIDVÄRDE("08:00");C2);0)
Om du vill fatta hur den funkar så rekomenderar jag att du tar en linjal som får represenera dygnets timmar. Sen flyttar du ett suddigum (arbetstiden) upp och ner. Då borde min/max bli någorlunda begripligt (i 10 minuter ungefär sen måste man klura ut det igen ...).
Rad-formeln kan du kopiera till en hjälkolumn och sedan summera hjälpkolumnen för att få reda på summa timmar.
Men att summera i en enda formel är ju inte så enkelt eftersom Min och max är svåra att använda i en matris-formel (de kommer att försöka hitta minsta värdet i kolumnen. Inte det minsta värdet av paren du vil jämföra).
Då får vi göra om det på något sätt.
=MIN(TIDVÄRDE("10:00");D2) kan t.ex skrivas som:
=OM(TIDVÄRDE("10:00")>D2;D2;TIDVÄRDE("10:00"))
=((TIDVÄRDE("10:00")>D2:D5)*D2:D5+(TIDVÄRDE("10:00")<=D2:D5)*TIDVÄRDE("10:00"))
och
=MAX(TIDVÄRDE("08:00");C2);0)
=OM(TIDVÄRDE("08:00")>C2;TIDVÄRDE("08:00");C2)
=(TIDVÄRDE("08:00")>C2:C5)*TIDVÄRDE("08:00")+(TIDVÄRDE("08:00")<=C2:C5)*C2:C5
Sen måste vi undvika negaiva värden på något sätt (den "yttre" maxformeln i formel 1).
Det här är ett vilkor som skulle kunna funka.
=OCH(TIDVÄRDE("08:00")C2)
=(TIDVÄRDE("08:00")C2:C5)
sammanlag blir det något i stil med:
=PRODUKTSUMMA((TIDVÄRDE("08:00")C2:C5);((TIDVÄRDE("10:00")>D2:D5)*D2:D5+(TIDVÄRDE("10:00")<=D2:D5)*TIDVÄRDE("10:00"))-(TIDVÄRDE("08:00")>C2:C5)*TIDVÄRDE("08:00")-(TIDVÄRDE("08:00")<=C2:C5)*C2:C5)
Jippi. Den felsöker man ju enkelt......
Jag förselår att du fixar hjälpkolumner och kör den första formeln för varje tidsintervall (du kan alltid dölja kolumnen). Det andra blir för knöligt.