Страницы: 1
RSS
Office 365 не работает функция "проверка снилс"
 
Добрый день, при проверке списка СНИЛСов формулой =CheckSNILS всегда получается результат ЛОЖЬ, хотя я уверен что снилс верен, как добиться правильной работы данной формулы ?
 
=ТЕКСТ(ОСТАТ(ОСТАТ(СУММ(ПСТР(A1;{1;2;3;5;6;7;9;10;11};1)*{9;8;7;6;5;4;3;2;1});101);100);"00")

Код
Public Function VerSnils(snilstxt As String, v As Boolean)
    Dim i%, j%, ms$
    Dim kt$, s$
    Dim t
    t = Trim(snilstxt): kt = Right(t, 2)
    Do While InStr(1, t, "-") > 0
        t = Replace(t, "-", "")
    Loop
    t = (Mid(t, 1, 9))
    Do While InStr(1, t, " ") > 0
        t = Replace(t, " ", "")
    Loop
    t = Val(t)
    For i = 1 To 9
        j = j + (10 - i) * (t \ (10 ^ (9 - i)) Mod 10)
    Next i
    Select Case j
        Case 100, 101: s = "00"
        Case Is > 101: s = CStr(j Mod 101)
        Case Else: s = CStr(j)
    End Select
    If v Then
        VerSnils = CBool(IIf(kt = s, 1, 0))
    Else
        VerSnils = s
    End If
End Function
 
А какие именно номера СНИЛС вы проверяете?
Пришлите пару примеров - я посмотрю, что не так.
Страницы: 1
Наверх