Vraag:
Hoe vertaal ik een "Jaar", "Weeknummer" en "Dagnummer" naar een datum ?
scheidingslijn
Antwoord:

Excel, vertaling jaartal, weeknummer, dagnummer naar datum

Situatie:
Je heb de beschikking over een jaartal, weeknummer en dagnummer en wil deze gegevens in Excel graag vertalen naar een datum.

Oplossing:
De vertaling kan op een aantal manieren. Twee hiervan worden hier beschreven. Het betreft een oplossing in VBA en een oplossing "puur" met Excel-formules.

  1. VBA, vertaling jaartal, weeknummer en dagnummer naar datum.
    Hiervoor dien je als gebruiker in VBA een functie te definiëren. Deze functie kan op de werkmap worden gebruikt. Het aanmaken van een dergelijke functie gaat als volgt.
    1. Kies voor Extra -> Macro -> Visual Basic Editor.
    2. Kies in de Visual Basic Editor voor Invoegen -> Module
    3. Kopieer en plak de volgende code in de Module:

      Public Function DagVandeWeek(Weeknummer As Integer, Jaar As Integer, dag As Integer) As Date
      Dim basis As Date
      Dim x As Integer
      Dim i As Integer
      basis = DateSerial(Jaar, 1, 1)
      x = Weekday(basis, vbMonday)
      i = dag - x
      basis = DateAdd("d", i, basis)
      DagVandeWeek = DateAdd("d", (Weeknummer - 1) * 7, basis)
      End Function


    4. Ga vervolgens terug naar Excel (werkblad)
      De functie wordt vanuit het werkblad als volgt aangeroepen:

      =DagVanDeWeek(VBAWeeknummer;VBAJaarNummer;VBADagnummer)

      Waarbij VBAWeeknummer het celadres of de verwijzing naar het celadres is waarin het weeknummer staat, VBAJaarnummer het celadres of de verwijzing naar het celadres waarin het jaartal staat en VBADagnummer het celadres of de verwijzing naar het celadres met het dagnummer (in de week).

  2. Excel, vertaling jaartal, weeknummer en dagnummer naar datum.
    Het is ook mogelijk om zonder gebruikmaking van een door de gebruiker gedefinieerde functie in VBA de vertaling te maken. Er wordt alleen gebruik gemaakt van de reeds in Excel aanwezig standaardfuncties. De formule voor de vertaling ziet er dan als volgt uit:

    =DATUM(ExcelJaarnummer;1;1)+ _
    (ExcelDagnummer - WEEKDAG(DATUM(ExcelJaarnummer;1;1);2)) + _
    (ExcelWeeknummer-1)*7


    Waarbij ExcelWeeknummer het celadres of de verwijzing naar het celadres is waarin het weeknummer staat, ExcelJaarnummer het celadres of de verwijzing naar het celadres waarin het jaartal staat en ExcelDagnummer het celadres of de verwijzing naar het celadres met het dagnummer (in de week).

Probeer het eens uit, en leer, steeds meer !



Naar boven . . .