今回の h1r0-style.net は『Excel に入力された 生年月日 のデータから干支(えと)を表示する』方法について解説したいと思います。
日付 や 生年月日 に関連した記事は過去に;
EXCELで年齢計算!生年月日から満年齢を計算する
EXCELで日付から年度を表示させる方法
EXCELの書式記号を理解して「ユーザー定義」を使いこなそう!
など、何度もピックアップしてきました。
「干支」の表示は単純に書式で対応できるものではないので、関数を使った干支の表示方法について今回書き記しておきます。
Excel上での干支の考え方
干支について
干支(えと)とは本来、十干(じっかん)と十二支を合わせた60年周期の暦を表すものです。
丙午(ひのえうま)とか甲子(きのえね)などがソレです。
ですが、日本では一般的に「干支」と言えば十二支を指すことが多いです。
この記事の中で述べる「干支」は十二支であることを最初にご理解ください。
Excel上での干支の判別
干支は西暦を12で割ったときの余りによって判別することができます。
「申酉戌亥子丑寅卯辰巳午未」のように申(さる)から12個の干支(十二支)を並べます。
西暦を12で割った時の余りに +1 すれば、その年の干支になります。
※申はじまりなので、その点だけ注意してください
ちなみに今年は2017年。12で割った時の余りは1なので +1 すると2です。
「申酉戌亥子丑寅卯辰巳午未」2番目の酉年で正解となります。
よくわからん!という人も理屈はさておき、以下のルールを認識しておけばいいのです。
▲くどいですが サルはじまりです!
MOD関数・MID関数・YEAR関数
では実際に Excel を使ってサンプルを作成します。
ここで使用する関数は3つ。MOD関数と MID関数、YEAR関数 です。
MOD関数とは
MOD関数とは、数値を除算した剰余(余り)を返します。数式としては;
のように表されます。
「西暦を12で割った余り」を算出するのに使用します。
MID関数とは
MID関数とは、文字列の指定した位置から指定した数の文字を返します。
この場合、半角と全角の区別はなく単純に1文字としてカウントします。
のように表されます。
「申酉戌亥子丑寅卯辰巳午未」の何番目の文字(から1文字)をピックアップするのに使用します。
YEAR関数とは
最後に YEAR関数ですが、年(西暦)を 1900~9999 の範囲の整数で返します。
で表されます。
これは、生年月日の「西暦」部分をピックアップするのに使用します。
名簿を使った使用例
サンプル名簿を作る
まず下のような Excelの表を用意しました。サンプル顧客名簿です。
C列には顧客の生年月日が入力されています。
この表の生年月日をもとに、E列にその年の干支を表示させてみましょう。
生年月日の年の干支を求める
セルE3に入れる数式は以下のとおりです;
数式の内容を説明すると、まず YEAR関数で生年月日(セルC3)の西暦を求めます。
つぎに、MOD関数で西暦を12で割った余りを算出して、その余りに1をプラスします。(3 + 1=4)
最後に、MID関数で「申酉戌亥子丑寅卯辰巳午未」の4文字目(から1文字分)を抽出します。
すると、セルE3には セルC3の西暦「1995年」の干支である「亥」が表示されます。
この数式をセルE9までコピーして完成です。
▲できたっ!
※余談ですが、D列には生年月日から算出した「満年齢」が表示されています。
この方法を知りたい方はこちらの記事がお役に立つと思います。
皆さんもぜひ試してみてください。
関連記事・広告
併せて読んでおくとさらに便利
エクセルで令和元年と表示されない時の対応方法
日付時刻・条件付き書式
エクセルで「令和元年」と表示されない時の対応方法を解説。令和元年になってMS Officeの令和対応はされたものの、「令和1年」と表示される。え?「令和元年」じゃない。。。さあどうする?
EXCELで年齢計算!生年月日から満年齢を計算する|DATEDIF関数
年齢計算・DATEDIF関数
エクセルで年齢計算。生年月日から年齢 (満年齢) を計算する方法について解説します。Excelで年齢計算をする場合、「DATEDIF関数」を使って生年月日から年齢 (満年齢) を表示することができます。
EXCELでベスト5の順位表を作る方法 Part 1
LARGE関数・RANK関数
学校の成績ベスト5、〇〇の都道府県別ベスト10。。。 日々データ分析に携わっていると、仕事でも何かと「順位」「ベスト〇位」を求められることがしばしばです。
※その他関連記事は、このページの下の方にもあります。