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

rekenen met week nummers

Status
Niet open voor verdere reacties.

lucjansen

Gebruiker
Lid geworden
18 mrt 2010
Berichten
9
Ik wil een tabel maken waarbij excel uitrekent in welke week we over bijv 3 weken zitten.
Dus in A1 staat weeknummer 4, dan wil ik in B1 dat excel er 3 weken bij telt. Natuurlijk moet hij dan na week 52 weer verder rekenen met week 1.

Wie kan mij helpen.
 
Als ik het goed lees word daar alleen gesproken over datums omrekenen naar weeknummers en met welke dag de week met beginnen, maar ik kan er niet echt uit halen hoe dat ik excel wijs kan maken tijdens het optellen na 52 weer bij 1 te beginnen.

Gr Luc
 
Weeknummer gaat uit van een bepaalde datum.
Tel bij die datum 21 dagen op en je bent 3 weken verder
 
Als je er (foutief) van uit gaat dat er maar 52 weken zijn in elk jaar dan kun je volgende formule gebruiken:

Code:
=ALS((A1+A2)>52;(A1+A2)-52;A1+A2)

Met in A1 het beginweeknummer en in A2 het aantal weken dat je moet bijtellen.

Cobbe
 
"Normale" berekening isoweeknummer:
Code:
=1+INT(($A1-DATE(YEAR($A1+4-WEEKDAY($A1+6));1;5)+WEEKDAY(DATE(YEAR($A1+4-WEEKDAY($A1+6));1;3)))/7)


3 weken later is dan:
Code:
=1+INT(($A1+[COLOR="Red"]21[/COLOR]-DATE(YEAR($A1+[COLOR="Red"]21[/COLOR]+4-WEEKDAY($A1+[COLOR="Red"]21[/COLOR]+6));1;5)+WEEKDAY(DATE(YEAR($A1+[COLOR="Red"]21[/COLOR]+4-WEEKDAY($A1+[COLOR="Red"]21[/COLOR]+6));1;3)))/7)
 
Normale" berekening isoweeknummer:

=1+INT(($A1-DATE(YEAR($A1+4-WEEKDAY($A1+6));1;5)+WEEKDAY(DATE(YEAR($A1+4-WEEKDAY($A1+6));1;3)))/7)
Liever iets korter:

De 1e dag van een week volgens ISO-norm:
in A1 : het jaar
in A2 : het nummer van de week

= Datum(A1;1;4)-weekdag(datum(A1;1;4);2)+1 +7*(A2-1)
3 weken later:
= Datum(A1;1;4)-weekdag(datum(A1;1;4);2)+1 +7*(3+A2-1)

4 januari valt volgens het ISO-systeem altijd in week 1.
de maandag van die 1e week bereken je door het weekdagnummer van 4 januari volgens het ISOsysteem (de eerste dag van de week is maandag) af te trekken en daarbij 1 op te tellen.
Wil je bijv. in week 10 uitkomen dan moet je bij week 1, 7*(10-1) dagen optellen; vandaar 7*(A2-1)


De werkbladformule voor het isoweeknummer is wat lastiger:

De eerste donderdag van het jaar valt altijd in week 1 van het jaar volgens de ISO-criteria.
Daaruit volgt dat je het weeknummer van een datum altijd kunt bepalen door te berekenen hoeveel weken er verstreken zijn tot de donderdag in de week waarin die datum valt.
Wil je van de datum in cel A1 het isoweeknummer bepalen dan kun je dat als volgt berekenen:

- bereken de donderdag in dezelfde week als d1
A1 -WEEKDAG(A1;2)+4
- bepaal in welk jaar die donderdag valt
JAAR(A1-WEEKDAG(A1;2)+4)
- bepaal 1 januari van het jaar waarin die donderdag valt
DATUM(JAAR(A1-WEEKDAG(A1;2)+4);1;1)
- bereken het verschil tussen de donderdag en 1 januari
A1-WEEKDAG(A1;2)+4-DATUM(JAAR(A1-WEEKDAG(A1;2)+4);1;1)
- bereken het aantal weken door dit verschil te delen door 7 en op een geheel getal af te ronden
=GEHEEL(....)/7)
- tel daar 1 bij op, omdat anders de eerste week het nummer 0 krijgt.
=(....) +1
Resultaat:
=GEHEEL((A1-WEEKDAG(A1;2)+4-DATUM(JAAR(A1-WEEKDAG(A1;2)+4);1;1))/7)+1
De werkbladfunktie en VBA-funktie voor de maandag van een bepaalde ISOweek verschillen niet in complexiteit.
Voor de berekening van het Isoweeknummer geef ik de voorkeur aan de VBA-funktie (in de vorm van een UDF).
 
Laatst bewerkt:
Liever iets korter:

De 1e dag van een week volgens ISO-norm:
in A1 : het jaar
in A2 : het nummer van de week

Je bent nu appels met peren aan het vergelijken.
Mijn formule bepaalt het weeknummer uit een datum
Jou formule bepaalt de datum van de maandag uit een jaar en weeknummer.
Dat is dus eigenlijk net het omgekeerde dus kun je niet zeggen "liever iets korter"

1 jan 2010 valt in week 53
vul ik bij jou formule als jaar 2010 in en als week 53 dan krijg ik 3 jan 2011
Dus helemaal zuiver is dit ook niet.
 
1 jan 2010 valt in week 53
vul ik bij jou formule als jaar 2010 in en als week 53 dan krijg ik 3 jan 2011
Dus helemaal zuiver is dit ook niet.
Ik zou zeggen loepzuiver.
1 januari 2010 valt in week 53 van jaar 2009.
zet in A1: 2009
zet in A2 : 53

Mijn formule berekent de maandag van de week vanaf de eerste week van het jaar in A1.
met in A1 2010 en in A2 53 kom je uit op de 53e week na de eerste week van 2010: dat is de 1e week van 2011, die begint met maandag 3 januari 2011.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan