Function geomeetrilineKeskmine(arv1, arv2) geomeetrilineKeskmine = Sqr(arv1 * arv2) End Function Function sugu(isikukood) esiarv = Int(Mid(isikukood, 1, 1)) If esiarv Mod 2 = 0 Then sugu = "naine" Else sugu = "mees" End If End Function 'Koosta funktsioon sünniaasta leidmiseks isikukoodist 'Võimalusel arvesta ka sajandit Function synniaasta(isikukood) esiarv = Int(Mid(isikukood, 1, 1)) synniaasta = 1800 + ((esiarv - 1) \ 2) * 100 + _ Mid(isikukood, 2, 2) End Function Function synnikuu(isikukood) kuunimed = Array("", "jaanuar", "veebruar", "märts", _ "aprill", "mai", "juuni", "juuli", "august", _ "september", "oktoober", "november", "detsember") synnikuu = kuunimed(Mid(isikukood, 4, 2)) End Function Function synniaeg(isikukood) synniaeg = Mid(isikukood, 6, 2) & ". " & synnikuu(isikukood) & " " & _ synniaasta(isikukood) End Function Function kontrollsumma(isikukood) summa = 0 For nr = 1 To 9 summa = summa + Mid(isikukood, nr, 1) * nr Next nr summa = summa + Mid(isikukood, 10, 1) * 1 kontrollsumma = summa End Function ' väljasta "korras", kui kontrollsumma jääk (mod) jagamisel ' 11ga on võrdne isikukoodi viimase numbriga 'koosta funktsioon kontrollsumma2, kus kordajad on 3,4,5,6,7, 8, 9, 1, 2, 3 Function kontrollsumma2(isikukood) kordajad = Array(0, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3) summa = 0 For nr = 1 To 10 summa = summa + Mid(isikukood, nr, 1) * kordajad(nr) Next nr kontrollsumma2 = summa End Function Function isikukoodiHinnang(isikukood) If kontrollsumma(isikukood) Mod 11 = Int(Mid(isikukood, 11, 1)) Then isikukoodiHinnang = "korras" Else If kontrollsumma(isikukood) Mod 11 = 10 Then If kontrollsumma2(isikukood) Mod 11 = Int(Mid(isikukood, 11, 1)) Then isikukoodiHinnang = "korras2" Else If (kontrollsumma2(isikukood) Mod 11 = 10) _ And Int(Mid(isikukood, 11, 1)) = 0 Then isikukoodiHinnang = "korras3" Else isikukoodiHinnang = "sobimatu2" End If End If Else isikukoodiHinnang = "sobimatu1" End If End If End Function