• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Foutje in de formule

Status
Niet open voor verdere reacties.

ExcelAmateur

Terugkerende gebruiker
Lid geworden
25 aug 2010
Berichten
3.333
Beste leden,

IK ben al een poosje bezig om de fout in de formule te vinden, wat dus niet lukt.
Verschillende dingen geprobeerd maar helaas zonder suc6.

Als de stoptijd voor middernacht is werkt de formule goed, normale uren 7.5
Als de stoptijd na middernacht is geeft hij voor de normale uren 8 wat eigenlijk 7.5 moet zijn.

Zie bijgevoegd bestandje.

Alvast hartelijk bedankt om er naar te kijken.
 

Bijlagen

Ik vind het voorbeeld nog niet heel duidelijk... sorry.

Wat probeer je eigenlijk te berekenen? Normale werktijd (niet vast per dag?) + overuren?
Wat is de betekenis van celbereik V1:Y3? Pauzetijden bij verschillende werktijden per dag?

M.b.t. je formule, bij eerste aanblik komt het rode deel mij wat vreemd over... er staat zowel een logische test als een berekening die groter moet zijn dan X1.
Code:
=ALS(G9="";"";ALS((([COLOR="#FF0000"]E9>F9)+F9-E9[/COLOR])>$X$1;G9-(F9-$V$1);ALS(F9>$V$1;G9-(F9-$V$1);G9)))
 
Laatst bewerkt:
In dit soort gevallen helpt het enorm als je de logica achter de berekeningen volledig uitschrijft.
Als ik het goed begrijp, is de tijd in K9 het aantal gewerkte uren minus het aantal uren na 16:30 uur: 17:30 - 9:30 = 8:00.
De uitkomst is overigens geen 8:00 uur maar 32:00 uur: 17:30-(2:00-16:30)=17:30+14:30 = 32:00.
Ik heb de indruk dat het probleem niet zozeer ligt in de formule in K9, maar die in G9 (de gewerkte uren).
Zonder de achterliggende logica is het bijzonder lastig te bepalen waar de fout zit.

Maar ik gok dat dit de formule in G9 moet zijn:
Code:
=ALS(OF(E9="";F9="");"";ALS(EN(E9<$V$2;[B]((E9>F9)+F9)[/B]>$V$2);((E9>F9)+F9-E9)-$X$3;((E9>F9)+F9-E9)))

i.p.v.
Code:
=ALS(OF(E9="";F9="");"";ALS(EN(E9<$V$2;F9>$V$2);((E9>F9)+F9-E9)-$X$3;((E9>F9)+F9-E9)))
 
@AlexCel,
De werkdag begint om 8:30 uur
Einde normale werkdag 16:30 uur
Dus per dag werk je maar 7:30 uur
De tijden boven 16:30 uur zijn dan overuren.

((E9>F9)+F9-E9) rekent de gewerkte tijd uit, ook als het na 24:00 uur is.

@MarcelBeug,
Bedankt voor de juiste formule.
PHP:
=ALS(OF(E9="";F9="");"";ALS(EN(E9<$V$2;((E9>F9)+F9)>$V$2);((E9>F9)+F9-E9)-$X$3;((E9>F9)+F9-E9)))
Deze geeft nu wel de juiste uitslag.
 
Stel E9 = 17:00, F9 = 18:00

Dan krijg je dus:
(17:00>18:00)+(18:00-17:00) =
ONWAAR + 1:00 =
1:00

??
 
AlexCel,

Zie het plaatje.
 

Bijlagen

  • Formule.jpg
    Formule.jpg
    43,4 KB · Weergaven: 47
Ik heb de tijdnotatie even omgezet in gewone cijfers. Daarna werd de werking mij duidelijk!

Heb hem genoteerd bij mijn tips&trucks. :thumb:
 
Laatst bewerkt:
De formule heb ik niet verzonnen maar van Danny147 gekregen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan