PR

 よくある手帳には西暦や年号と年齢の早見表が付いています。もっと大きくしてExcelで作ってみました。

 西暦と年号の関係は変わりませんが、年齢は毎年1歳ずつ増やさなければなりません。また2007年なら2007年までの表ですが、翌年は2008年までの表にしなければなりません。そこでExcelの機能で自動的にその年の版に更新されるようにしてみました。ついでに干支(えと)も表示しました。

拡大表示
図1 別シートに十二支と十干の一覧を作成して、それぞれの範囲に名前を付けてある(右)。早見表ではVLOOKUP関数とMOD関数を使って、西暦の数値から十二支・十干を求めている

 自動的にその年の版にするために「本日の日付」から「年」を抜き出しています。表の上の方、M1~O1セルを連結して、早見表が何年版かを示す部分にはTODAY関数を使って本日の日付を得ています。数式を=TODAY( )+100とすれば年末の100日間は翌年版が表示されるようになる、などの変更も可能です。

 「2005(平成17)年版」と表示させているのはセルの表示形式の設定です。ファイルを開いた年が自動的に表示されます。2007年にこのファイルを開くと「2007(平成19)年版」と表示されます。

 早見表の中身を見ていきましょう。A3セルに入っているYEAR関数はTODAY関数で求めた今日の日付から西暦の「年」を求めています。年号の列はその年の1月1日の年号をセルの表示形式を設定して表示しています。このため1989年は平成元年ではなく昭和64年になります。

 年齢の列は単純です。関数も数式も使っていません。単に一番上が0、続いて1、2、3と連続した数字を入れてあるだけです。表の一番上は常に「今年」ですから今年生まれの人は0歳、去年生まれなら1歳という具合です。この年齢、あくまでその年の年齢が加算されてからのものです。誕生日を迎えるまでは1歳引いてください。

干支はVLOOKUP

 さて干支の計算です。十二支は12年、十干は10年周期で決まるのでExcelにとっては簡単な作業です。以前、本誌2004年2月16日号の森本家のワークシートでは自作関数を使って求める方法を紹介しました。いろんな表を作りたい場合は自作関数が便利ですが、今回は固定的な表を作るのが目的なので、VLOOKUP関数とMOD関数を使いました。

 別シートに十二支と十干の一覧表を作ってあります。一覧表の左の数字が4から始まっているのは、西暦の数字と干支の関係がたまたま「こうなっている」ということです。

 VLOOKUP関数を使って表引きする場合のコツは、一覧表部分にはそれぞれ名前を付けることです。名前を付けないと干支を求める数式が長くて分かりにくくなります。

 十二支は西暦の年を12で割った余りの数、十干は同様に10で割った余りの数で表引きします。12で割り切れる年の十二支は「申」、10で割り切れる年の十干は「庚」です。割り算の余りを求めるのはMOD関数です。

図2 A4サイズの用紙に106年分の早見表を印刷できる。来年またワークシートを開くと来年版に自動更新されている

■解説で使用したExcelファイルを以下からダウンロードできます。

 自己解凍形式(50KB)
 Excelファイル形式(64KB)

 うまくダウンロードできない場合は日経パソコン講座ファイルのダウンロード方法をご覧ください。