【Excel】1900年以前の日付の計算・年齢計算をする方法

Excel


こんにちは。
@OfficeTAKUです。

Excelで日にちの計算ができるのは1900年1月1日以降。

家族の歴史を遡っていると、1900年以前、明治初期や江戸時代まででてきて、「Excelで計算できない!」ってことになります。

調べてみたら、マイクロソフトのサイトにマクロのコードが公開されていたので利用してみました。

Excel で 1900 年 1 月 1 日より前の年齢を計算するマクロ

docs.microsoft.com の 下記のページに公開されています。

Excel で 1900 年 1 月 1 日より前の年齢を計算する方法 | Microsoft Docs

利用方法も上記の記事に詳しいのですが、念の為、簡単に使い方を記しておきます。

Mac版Excelでも、Windows版Excelでも、動きます。

なお、執筆時点の筆者のExcelの環境は次の通りです。

Excel環境
  • Mac: Microsoft Excel for Mac 16.51(21060200)
  • Windows: Microsoft Excel for Microsoft 365 MSO(16.0.14026.20252)

使い方:1900年1月1日より前の年齢計算をするマクロ

使い方は至って簡単。

  1. docs.microsoft.comに掲載されているマクロコードをコピーし貼り付けてブックを保存する
  2. 指定された形式で日付を入力し、定義された関数で結果を求める。

1. マクロコードの貼り付けとファイルの保存

  1. 利用する Excel ブックを開いておきます。
  2. Visual Basicを起動します。
    [Alt](Mac:[otion])+([Fn])+[F11]
  3. メニューの[挿入]−[標準モジュール]をクリックします。
    Excel
  4. ブラウザに切り替え、こちらのサイトのマクロコードをコピーします。
  5. Excel(Visual Basic)に戻り、先程コピーしたマクロコードを、用意してある標準モジュールに貼り付けます。
  6. Excelのワークシート画面に戻り、マクロ有効ブックとして保存します。

2. 計算の方法と注意点

上記の手順でマクロは使えるようになりました。
実際にデータを入力して試してみましょう。

ここでは、与謝野晶子を例に試してみます。

日にちの入力

セルに日にちを入力する時は、下記の形式で入力します。
ここは注意してください。日本にくらしていると馴染みのない形式ですから。

また、こうして入力しても日付形式になるわけではなく文字列です。

月/日/西暦

下図の例では、

セルB1: 12/7/1878(誕生日 明治11年12月7日)
セルB2: 5/29/1942(命 日 昭和17年5月29日)

を入れました。

ユーザー定義関数:AgeFunc

計算に使用するのはマクロで定義されたユーザー定義関数になります。

書式: =AgeFunc(開始日,終了日)

下図の例ではセルB3に下記の数式が入力されています。

=AgeFunc(B1,B2)


となります。

まとめ

Excelで1900年より前の年齢計算など日付の計算をする方法は、

上記、マクロの利用上の注意点は、

マクロの利用上の注意点
  • 日付の入力は「月/日/西暦」という形式で入力する
  • 上記のマクロで定義されたユーザー定義関数 AgeFunc を利用する

これで、戸籍謄本をさかのぼっても年齢計算ができ便利です。
作業用の列(セル)を使い、工夫して使いましょう。

ちなみに、与謝野晶子を例にとったのは特段意味がありません。
1900年より前に生まれて、1900年以降になくなった方、で、思いついたのがたまたま与謝野晶子だっただけです。

情報航海術 - Office TAKU -をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました