マイナポータル
どっとこ

マイナンバー
書式確認

マイナンバーを送信せずにExcelファイル内で確認

checkMyNumber.xlsをダウンロードしてください

A列にマイナンバーを書くと、B列に正しければ○が、正しくなければ×が表示されます

上記のExcelには、isMyNumberという関数を追加してあります
isMyNumberという関数に、正しいマイナンバー文字列を渡したときだけTrueを返しますので
B列の計算式を参考に適宜修正してお使いください


[マイナポータル.co]
総務省令第85号「検査用数字を算出する算式」に基づいて計算しました
ここで使用しているプログラムは以下のとおりです
GPLのフリーソフトウェアとして配布するので、ご自由にお使いください

'
' Copyright (C) 2015,2016 by Yoshihiro Satoh(http://yosihiro.com/)
'
' This program is free software: you can redistribute it and/or modify
' it under the terms of the GNU General Public License as published by
' the Free Software Foundation; either version 3 of the License, or
' any later version.
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
' GNU General Public License for more details.
'
' You should have received a copy of the GNU General Public License
' along with this program.  If not, see <http://www.gnu.org/licenses/>
'
' The latest version of this program can be retrieved at
'   http://MyNumPortal.yosihiro.com/checkMyNumber/
'
Function isMyNumber(mynumber As String) As Boolean
    Dim sum As Integer
    Dim iii As Integer
    Dim r As Integer
    Dim lastDigit As Integer
    Dim validDigit As Integer

    isMyNumber = False
    If IsNumeric(mynumber) = False Then Exit Function
    If Len(mynumber) <> 12 Then Exit Function
    If Left(mynumber,1) = "0" Then Exit Function

    lastDigit = Right(mynumber, 1)
    sum = 0
    For iii = 1 To 11
        sum = sum + (Left(Right(mynumber, iii + 1), 1) * IIf(iii <= 6, iii + 1, iii - 5))
    Next
    r = sum Mod 11
    validDigit = IIf(r <= 1, 0, 11 - r)
    
    isMyNumber = (lastDigit = validDigit)
End Function

[マイナポータル.co]は2016年5月5日まで有効です
それ以後のアクセスは安全ではありません
安全にアクセスし続けるには、yosihiro.com/MyNumPortal/