Microsoft 製品に組み込まれている Visual Basic の実装。
> VBAのDateserial関数> 引数の「年」に2桁の数字を入れた場合、> 「0 ~ 49は2000 ~ 2049 年、50 ~ 99は1950 ~ 1999 年」と認識されます。
Windows 10 のコントロールパネルの地域設定の日付形式オプションにおいて、
[2 桁の数字で年を入力すると、次の範囲内での暦年として解釈する]オプションの
設定(の既定値)がそのようになっているため、その設定通りの結果を返しているだけです。
> 「引数「年」が 2 桁の時に、0 ~ 29は2000 ~ 2029 年、> 30 ~ 99は1930 ~ 1999 年と認識される」というような説明が> 多く見受けられますが、
過去のバージョンの Windows においては、上記に相当するオプションの
既定値が 1930 から 2029 までという範囲だったためでしょう。
( Excel のバージョンの違いによるものではない)