Du hast irgendwie nicht verstanden, was eine Uhrzeit in Excel ist und daher kommt bei Deiner Rechnerei Unsinn raus, wenn Du Uhrzeiten mit 42/5 verrechnest (übrigens auch dort, wo Du meinst, das positive Ergebnis "Überstunden" sei noch korrekt).
Eine Uhrzeit in Excel ist ein Bruchteil von 1 - also eine Zahl zwischen 0 und 1, wobei 0 der Uhrzeit 00:00 Uhr entspricht, 0,25 wäre dann 06:00 Uhr und 0,5 ist 12:00 Uhr mittags. Die Zahl 0,75 ist dann 18:00 Uhr am Abend und 1 entspricht 24:00 Uhr
Wenn Du nun von der Zahl 07:39 Uhr (= 0,31875) die Zahl 42/5 = 8,4 abziehst, bekommst Du die Zahl -8,08125 raus. Wenn dann die Zelle als Uhrzeit bzw. Datum formatiert ist, ergibt das wenig Sinn, weil die Zahl vor der Excel-Zeitrechnung liegt, die mit dem 1.1.1900 beginnt (Datum liegt dann irgendwann am 23.12.1899)
Anders: Um aus einer Uhrzeiten-Differenz oder Uhrzeiten-Summe eine echte Stundenzahl zu machen, musst Du die Uhrzeiten-Differenz/Summe mit 24 multiplizieren. In Deiner Formel also:
=WENN(B1="";"";B5*24-$A$8/5)
Dann käme hier -0,75 Stunden als Fehlzeit heraus (42/4 Stunden = 8,4 Stunden sind 8 Stunden und 24 Minuten tägliche Arbeitszeit und dann fehlen bei 7 Stunden 39 Minuten gearbeiteter Zeit noch 45 Minuten = 0,75 Stunden auf die Sollarbeitszeit)
Am Ende ist eine Arbeitszeiterfassung mit Excel & Co formelmäßig extrem aufwändig, wenn man mit Uhrzeiten oder Differenzen von Uhrzeiten arbeiten will/muss - insbesondere dann, wenn auch noch Tageswechsel (z.B bei Schichtbetrieb) in Spiel kommen.