Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Tip: Verdelen Uren/Datum over tijdvak

461 views
Skip to first unread message

keepitcool

unread,
May 30, 2003, 7:44:17 AM5/30/03
to

Ik heb een "simpele" oplossing gevonden voor het rekenen met tijdvakken
die ik graag met jullie wil delen :-)


Hoeveel kwartier heb ik gewerkt op een bepaalde dag
Hoeveel omzet valt in een bepaalde maand


Ik moet voor bepaalde data met een Begin en EindTijd (of Datum) kijken
welk gedeelte resp. VOOR, IN & NA een bepaalde periode valt.

(Dit soort berekeningen komen regelmatig voor in urenstaten of bij
berekeningen met omzettoerekening, afschrijvingen e.d.

A B C D
PerVan 16-05-03 08:00 01-06-03
PerTot 16-05-03 20:00 01-07-03

Interval 00:15(=15/(24*60) 24:00 (=1)

DatVan 16-05-03 07:00 15-05-03
DatTot 16-05-03 20:00 01-07-03

Voor 1 4 17
In 2 48 30
Na 3 0 0


één (niet-matrix) formule die gekopieerd kan worden naar c9:d11

c9=INDEX(
INTERVAL(
C$6+C$4*(RIJ(INDIRECT("1:"&MAX(1;INTEGER((C$7-C$6)/C$4)))));
C$1:C$2)
;$B9)

Van buiten naar binnen:

INDEX(Matrix;Element)
vb: index({5;10;15;3},2) geeft 2e element uit matrix => 10

INTERVAL(Waarden;Intervallen)
Berekend hoe vaak waarden voorkomen in een bereik van intervallen,
en geeft als resultaat aan matrix van getallen. Mag ik HELP aanraden,
dit is een UITERST nuttige functie....


RIJ(INDIRECT("1:" & 12)) is een trucje om een matrix te genereren
{1;2;3;4;5;6;7;8;9;10;11;12}

datStart+Interval*({1;2;3;4...}-1) geeft vervolgens een matrix van
datumserienummers


Gaarne commentaar, vragen en opmerkingen...

keepITcool

< email : keepitcool chello nl (with @ and .) >
< homepage: http://members.chello.nl/keepitcool >

Arie Verhagen

unread,
May 30, 2003, 6:37:39 PM5/30/03
to
Beste Keepitcool,

Je voorbeeld werkt erg goed :-)

Alleen kan er niet berekend worden hoeveel kwartier er na/in zijn indien er
is doorgewerkt over de nachtgrens heen. In dat geval wordt namelijk de
DatTot kleiner dan de DatVan waarde |:-(

Is het misschien mogelijk om e.e.a. voor wat betreft de gewerkte uren uit te
breiden naar een drietal grenzen en dus bereiken? Ik vraag dit omdat het mij
handig lijkt om de gewerkte uren te verdelen naar dag-/avond-/nachturen.

Mocht je er zin in hebben.......[;-)

Vr gr ArieV ;-)

"keepitcool" <xrrcv...@puryyb.ay> schreef in bericht
news:Xns938B8BBEE75...@207.46.248.16...

keepitcool

unread,
May 31, 2003, 5:40:15 AM5/31/03
to
aha...

maar nu... truc!...

=Interval(data,drempels)

test maar eens met bijv 3 datums in het bereik drempels !!!
(je krijgt dan 4 resultaten....


of gebruik 24 drempels voor een hele dag...
of 12 drempels voor een heel jaar...


ik zie toch dat ie mooi was... !!!


keepITcool

< email : keepitcool chello nl (with @ and .) >
< homepage: http://members.chello.nl/keepitcool >

Arie Verhagen

unread,
May 31, 2003, 5:47:08 PM5/31/03
to
Juist ja,

na enig puzzelen heb ik er dit van gemaakt met, zoals je ziet, inderdaad een
drietal grenzen (dag, avond en nacht).

Aangezien ik toch over de nachtgrens heen wilde werken, de invoer op de
weekstaat is namelijk altijd zo dat de dienst die begint op de ene dag en
eindigt op de andere, wordt vastgelegd op de dag dat de dienst begint, moest
ik rekening houden met het feit dat het eindtijdstip kleiner is dan het
begintijdstip.
Zie hiervoor de aanpassing op het integer gedeelte van je code. Ik hou hier
rekening met 24*60 (is aantal minuten) om uit te komen op een positief getal
en ik wil alles in uren en minuten. De interval is in dit geval dan ook
ingesteld op 0:01:00.

De grenzen zijn:
BeginDag 7:00:00
einde dag 18:00:00
Beginavond 0:00:00


Indien ik nu als voorbeeld gewerkte uren opgeef van 6:40:00 tot 01:15:00
krijg ik een viertal uitkomsten:

Nacht 1 0:20:00
Dag 2 11:00:00
Avond 3 6:00:00
Nacht 4 1:15:00


Dit is wat de code is geworden. Het werkt, met een kleine aanpassing, dus
formitastisch!

=INDEX(INTERVAL(C$11+C$9*(RIJ(INDIRECT("1:"&MAX(1;ALS(C$12<C$11;INTEGER((C$1
2-C$11)/C$9)+24*60;INTEGER((C$12-C$11)/C$9))))));C$2:C$4);$B16)*C$9

Nogmaals bedankt voor de hulp!

Vr Gr ArieV ;-)

"keepitcool" <xrrcv...@puryyb.ay> schreef in bericht

news:Xns938C76B638...@207.46.248.16...

casper....@gmail.com

unread,
Jan 22, 2020, 8:01:19 AM1/22/20
to
Beste Arie,

Ik ben op zoek een methode om gewerkte uren op een dag in te delen per grens soortgelijk die jij aangeeft in jouw voorbeeld. Ik zou het graag willen testen maar ik kom er niet goed uit met de code die jij hebt aangepast omdat ik niet weet naar welke cellen (bijvoorbeeld C9 of C11) deze zou moeten verwijzen.

Heb jij een test bestand die je met mij zou willen delen met daarin de ingevulde waarden voor de cellen waar je naartoe verwijst?

Ik zou hier heel erg geholpen mee zijn!

Ik hoor graag van je.

Met vriendelijke groet,

Casper Meilink
0 new messages