Excel: Beregning af forfaldsdato

Når en leverandør udsteder en faktura til en kunde, er det god service ikke blot at skrive betalingsbetingelserne men også at skrive fakturaens forfaldsdato. Derved undgår kunden at regne forkert.

Men for leverandøren har det også den fordel, at de (forhåbentligt) får deres betaling rettidigt. Og leverandøren kan måske nogle gange få sin betaling lidt før, hvis der i beregningen tages højde for lørdage/søndage.

Eksempel

Leverandøren udsteder fakturaen den 8. maj 2012, og giver kunden 60 dage til at betale fakturaen. Dermed er forfaldsdatoen den 7. juli 2012 (hvilket er en lørdag). For at kunden ikke skal trække betalingen til den efterfølgende mandag, burde leverandøren selvfølgelig have beregnet forfaldsdatoen til fredag den 6. juli 2012.

Beregning ved brug af formler

Beregningen af forfaldsdatoen skal ske ud fra disse kriterier:

  • Forfaldsdatoen er lig med Fakturadato + Kreditdage
  • Hvis Forfaldsdatoen er en lørdag, trækkes der 1 dag fra, således at Forfaldsdatoen er en fredag.
  • Hvis Forfaldsdatoen er en søndag, trækkes der 2 dage fra, således at Forfaldsdatoen er en fredag.

Det giver følgende formel i Excel:

=HVIS(UGEDAG(B5+C5)=7;B5+C5-1;HVIS(UGEDAG(B5+C5)=1;C5+B5-2;B5+C5))

Formlen er ikke den nemmeste at læse, men den undersøger først om det en lørdag. Hvis det er en lørdag, trækkes der 1 dag fra den beregnede dato. Hvis det ikke er lørdag, undersøges der om det er en søndag, og hvis det er tilfældet, trækkes der 2 dage fra den beregnede dato. Ellers returneres blot Forfaldsdatoen.

Det ville selvfølgeligt være meget nemmere, hvis Excel havde en indbygget formel, så der blot kunne indtastes dette:

=Forfaldsdato(Fakturadato, Kreditdage)

Beregning ved brug af Visual Basic

Da ovenstående formel ikke eksisterer i Excel, så må du selv lave den. Og det er ganske nemt, hvis du bruger lidt VBA (Visual Basic for Applications, også kaldet makroer).

Start VBA-udviklingsværktøjet ved at trykke på Alt+F11.

I det øverste, venstre vindue (Project), skal du indsætte et modul. Højreklik på mappen Microsoft Excel Objects og i menuen vælger du Insert > Module. Så vises der i vinduet Project en ny mappe med navnet Module1.

Hvis du ikke kan se et tomt, åbent vindue med navnet Mappe1 – Module1 (Code) (som vist herover), så dobbeltklik på Module1 i vinduet Project.

I vinduet skriver du denne kode:

Function Forfaldsdato(Fakturadato As Date, Kreditdage As Integer) As Date
  Dim datResultat As Date

  datResultat = Fakturadato + Kreditdage

  ' Undersøger om forfaldsdato er en lørdag
  If Weekday(datResultat) = vbSaturday Then
    datResultat = datResultat - 1
  End If

  ' Undersøger om forfaldsdato er en søndag
  If Weekday(datResultat) = vbSunday Then
    datResultat = datResultat - 2
  End If

  Forfaldsdato = datResultat
End Function

Afslut VBA-udviklingsværktøjet og returnér til Excel.

Når du skal brugen din formel, skal du blot indtaste den i Excel som enhver anden formel:

PS: Din VBA-kode gemmes sammen med dine Excel-data i samme fil, og dermed kan andre brugere af din fil også få glæde af formlen.