Function noteIfElseIF(maximalpunkte As Integer, _
                      benoetigteProzente As Double, _
                      erreichtePunkte As IntegerAs String
    Dim benoetigtePunkte As Integer
    Dim spanne As Integer
    Dim punkteProNote As Integer
    Dim punkteZweiZwischenNoten As Integer
    Dim punkteDreiZwischenNoten As Integer
    Dim grenze4_0 As Integer
    Dim grenze3_7 As Integer
    Dim grenze3_3 As Integer
    Dim grenze3_0 As Integer
    Dim grenze2_7 As Integer
    Dim grenze2_3 As Integer
    Dim grenze2_0 As Integer
    Dim grenze1_7 As Integer
    Dim grenze1_3 As Integer
    Dim grenze1_0 As Integer
    benoetigtePunkte = Int((maximalpunkte * benoetigteProzente) / 100)
    spanne = maximalpunkte - benoetigtePunkte
    punkteProNote = Int(spanne / 4)
    punkteZweiZwischenNoten = Int(punkteProNote / 2)
    punkteDreiZwischenNoten = Int(punkteProNote / 3)
    grenze4_0 = benoetigtePunkte
    grenze3_7 = benoetigtePunkte + punkteZweiZwischenNoten
    grenze3_3 = benoetigtePunkte + punkteProNote
    grenze3_0 = grenze3_3 + punkteDreiZwischenNoten
    grenze2_7 = grenze3_0 + punkteDreiZwischenNoten
    grenze2_3 = benoetigtePunkte + 2 * punkteProNote
    grenze2_0 = grenze2_3 + punkteDreiZwischenNoten
    grenze1_7 = grenze2_0 + punkteDreiZwischenNoten
    grenze1_3 = benoetigtePunkte + 3 * punkteProNote
    grenze1_0 = grenze1_3 + punkteZweiZwischenNoten
    If erreichtePunkte >= grenze1_0 Then
        noteIfElseIF = "1"
    ElseIf erreichtePunkte >= grenze1_3 Then
        noteIfElseIF = "1,3"
    ElseIf erreichtePunkte >= grenze1_7 Then
        noteIfElseIF = "1,7"
    ElseIf erreichtePunkte >= grenze2_3 Then
        noteIfElseIF = "2,3"
    ElseIf erreichtePunkte >= grenze2_0 Then
        noteIfElseIF = "2"
    ElseIf erreichtePunkte >= grenze2_3 Then
        noteIfElseIF = "2,3"
    ElseIf erreichtePunkte >= grenze2_7 Then
        noteIfElseIF = "2,7"
    ElseIf erreichtePunkte >= grenze3_0 Then
        noteIfElseIF = "3"
    ElseIf erreichtePunkte >= grenze3_3 Then
        noteIfElseIF = "3,3"
    ElseIf erreichtePunkte >= grenze3_7 Then
        noteIfElseIF = "3,7"
    ElseIf erreichtePunkte >= grenze4_0 Then
        noteIfElseIF = "4"
    Else
        noteIfElseIF = "5"
    End If
End Function