EXCELで生年月日から干支を表示する方法

2018/08/07






今回の h1r0-style.net は『Excel に入力された 生年月日 のデータから干支(えと)を表示する』方法について解説したいと思います。

日付 や 生年月日 に関連した記事は過去に;

など、何度もピックアップしてきました。

干支」の表示は単純に書式で対応できるものではないので、関数を使った干支の表示方法について今回書き記しておきます。

Excel上での干支の考え方

干支について

干支(えと)とは本来、(じっかん)と十二を合わせた60年周期の暦を表すものです。
丙午(ひのえうま)とか甲子(きのえね)などがソレです。

ですが、日本では一般的に「干支」と言えば十二支を指すことが多いです。
この記事の中で述べる「干支」は十二支であることを最初にご理解ください。


Excel上での干支の判別

干支は西暦を12で割ったときの余りによって判別することができます。

「申酉戌亥子丑寅卯辰巳午未」のように申(さる)から12個の干支(十二支)を並べます。
西暦を12で割った時の余りに +1 すれば、その年の干支になります。
※申はじまりなので、その点だけ注意してください

ちなみに今年は2017年。12で割った時の余りは1なので +1 すると2です。
「申戌亥子丑寅卯辰巳午未」2番目の酉年で正解となります。

よくわからん!という人も理屈はさておき、以下のルールを認識しておけばいいのです。
▲くどいですが サルはじまりです!

MOD関数・MID関数・YEAR関数

では実際に Excel を使ってサンプルを作成します。
ここで使用する関数は3つ。MOD関数MID関数YEAR関数 です。

MOD関数とは

MOD関数とは、数値を除算した剰余(余り)を返します。数式としては;

=MOD ( 数値, 序数 )

のように表されます。

西暦を12で割った余り」を算出するのに使用します。

MID関数とは

MID関数とは、文字列の指定した位置から指定した数の文字を返します。
この場合、半角と全角の区別はなく単純に1文字としてカウントします。

=MID ( 文字列, 開始位置, 文字数 )

のように表されます。

「申酉戌亥子丑寅卯辰巳午未」の何番目の文字(から1文字)をピックアップするのに使用します。

YEAR関数とは

最後に YEAR関数ですが、年(西暦)を 1900~9999 の範囲の整数で返します。

=YEAR ( 日付のシリアル値 )

で表されます。

これは、生年月日の「西暦」部分をピックアップするのに使用します。



名簿を使った使用例

サンプル名簿を作る

まず下のような Excelの表を用意しました。サンプル顧客名簿です。
C列には顧客の生年月日が入力されています。

この表の生年月日をもとに、E列にその年の干支を表示させてみましょう。

生年月日の年の干支を求める

セルE3に入れる数式は以下のとおりです;

=MID ( "申酉戌亥子丑寅卯辰巳午未", MOD ( YEAR ( C3 ), 12 ) +1, 1 )

数式の内容を説明すると、まず YEAR関数で生年月日(セルC3)の西暦を求めます。
つぎに、MOD関数で西暦を12で割った余りを算出して、その余りに1をプラスします。(3 + 1=4
最後に、MID関数で「申酉戌亥子丑寅卯辰巳午未」の4文字目(から1文字分)を抽出します。

すると、セルE3には セルC3の西暦「1995年」の干支である「亥」が表示されます。


この数式をセルE9までコピーして完成です。

▲できたっ!

※余談ですが、D列には生年月日から算出した「満年齢」が表示されています。
この方法を知りたい方はこちらの記事がお役に立つと思います。

>>EXCELで年齢計算!生年月日から満年齢を計算する

皆さんもぜひ試してみてください。

関連記事



併せて読んでおくとさらに便利

EXCELで年齢計算!生年月日から満年齢を計算する|DATEDIF関数
年齢計算・DATEDIF関数
エクセルで年齢計算。生年月日から年齢 (満年齢) を計算する方法について解説します。Excelで年齢計算をする場合、「DATEDIF関数」を使って生年月日から年齢 (満年齢) を表示することができます。

EXCELでベスト5の順位表を作る方法 Part 1
LARGE関数・RANK関数
学校の成績ベスト5、〇〇の都道府県別ベスト10。。。 日々データ分析に携わっていると、仕事でも何かと「順位」「ベスト〇位」を求められることがしばしばです。

※その他関連記事は、このページの下の方にもあります。

-EXCEL&VBA
-, ,

シェアしていただけると助かります。