• 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.

Urenblok per maand opsplitsen

Status
Niet open voor verdere reacties.

coolhand

Gebruiker
Lid geworden
18 mrt 2010
Berichten
33
Goedendag,

Ik ben op zoek naar een opzet waarbij een urenblok welke de maandgrens overschrijdt automatisch wordt afgekapt op het einde van de startmaand en wordt afgerond in de eindmaand.

Bijvb:

31 Januari 22:00 begint een blok welke eindigt op 01 feb 06:00. Totale duur is dus 8 uur. Echter ik moet hem kunnen opsplitsen in 2 uur in Januari en 6 uur in Feb.

Zie ook bijlage.Bekijk bijlage Urenblok per maand.xlsx
 
even uitschrijven ;)

Hoi Elsendoorn2134,

Wauw, ziet er erg indrukwekkend uit. Ik moet je oplossing even uitschrijven om te zien wat het precies doet.

Waar ik wel achter ben, en dat had ik misschien moeten vermelden, is dat in mijn originele sheet de oplossing (nog) niet goed werkt aangezien dit een sheet betreft met doorlopende data van 2012 t/m nu.

Als ik je formule uitschrijf kom ik op het volgende uit:

In de maand december: =IF($K$1>($A2+$B2);IF($K$1>($C2+$D2);($C2+$D2)-($A2+$B2);$K$1-($A2+$B2));"")
waarbij in K1 de datum 01-01-2013 00:00 staat
A2, startdatum
B2, starttijd
C2, einddatum
D2, eindtijd

Als de waarde K1 groter is als de waarde in A2 + B2 moet de formule gaan kijken naar: Als K1 groter is als C2 + D2 dan de uren in de gehele periode , zo niet dan de waarde in K1 minus de startdatum en starttijd. Als de waarde in K1 kleiner is als A2 + B2 moet hij een leeg vakje weergeven.

Nu voor Januari:
=IF($K$1>($C2+$D2);"";IF($K$1>($A2+$B2);($C2+$D2)-$K$1;E2))

E2, totale periode

K1 wordt nu vergeleken met de einddatum + eindtijd; Indien groter dan een leeg vak, zo niet dan wordt K1 wederom vergeleken met de startdatum en starttijd. Indien K1 nu groter is als de startdatum en starttijd dan de einddatum en eindtijd minus K1 doen. Zo niet dan de waarde van de totale periode (E2) weergeven.


Als ik hem echter doorvoer in mijn originele sheet (dus met aanvullende maanden en jaren) werkt het niet. Idealiter wil ik 1x een 12-tal kolommen toevoegen voor de maanden en dan met het verspringen van het jaar weer in Januari laten beginnen. Via een Pivot table is dan het filter wel te maken per jaar.
 
Wellicht ter verduidelijking, ik gebruik de engelse variant van excel 2010.
 
Coolhand,

Je maakt het nu weer wat gecompliceerder, wat is nu je vraag?
Wil je ook formules voor de maanden? Zo ja dan stel ik voor dat je een nieuw overzicht maakt van wat je nu precies wil hebben.
Je hebt ook niet aangegeven waarom het doorvoeren in de originele sheet een probleem oplevert.
Dat er ook data van 2012 in het bestand staat zou ik niet gebruiken. Maak een nieuw bestand voor 2013 en ga hierin verder rekenen
anders heb je over een jaar weer een probleem.
Mocht de formule nog ingewikkelder worden stel ik voor dat je een zelfgeschreven functie gaat gebruiken.

Elsendoorn2134
 
Hoi elsendoorn2134,

Ik begrijp niet helemaal waar je punten vandaan komen.

in mijn voorbeeld had ik al aangegeven dat het over de jaar en maandgrens heen gaat. Het opsplitsen per jaar is helaas geen optie omdat dit als referentie wordt weergegeven.

Over je laatste zin, met alle respect maar als ik het zelf zou kunnen had ik de vraag niet gepost.

maar nogmaals bedankt voor het meedenken.
 
Coolhand,

Ik vind het jammer dat mijn vraag blijkbaar verkeerd gevallen was.
In de laatste alinea van van #3 stel je dat de formule niet werkt maar je zegt er niet bij wat de foutmelding is.
Verder heb je het over een twaalftal kolommen voor de maanden, ik ging er dan ook vanuit dat
dit dus een uitbreiding was van de vraag die je in eerste instantie gesteld hebt (die ging over twee maanden).
Ik wees je er op dat een uitbreiding van de vraag ook een andere oplossing kan inhouden bijvoorbeeld door het
gebruik van een zelfgeschreven functie.

Als olijftak hierbij een oplossing met gebruik van twaalf maanden, en een zelfgeschreven functie.

Met vriendelijke groeten,

Elsendoorn2134

Bekijk bijlage HelpMijUrenblokPerMaand.xlsm
 
Hoi Elsendoorn2134,

Laten we het houden op de beperkingen van geschreven tekst :)

Hartelijk dank in ieder geval voor de geschreven VBA (inclusief de uitleg in de VBA) Dit biedt zeker houvast!

Dank voor de hulp so far.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan