干支(十干十二支)

Excelで、生年月日や西暦から干支(十干十二支)を表示させる方法について解説しています。

様々な方法があると考えられますが、ここではLOOKUP関数・MOD関数・YEAR関数などを使用しています。

まず、一般的に使われることの多い十二支から解説します。

B列に生年月日などの日付データ、G列・H列に数字と十二支の表があります。

西暦の数字は、12で除算した余りによって十二支との対応付けを行うことができます。例えば、2020年であれば 2020を12で割り 余りは4、十二支では子となります。これは西暦がどの数字でも当てはまるため一覧表とすることができます。

十二支は、子と入力してオートフィルを行うと子~亥まで連続データとして表示できるため、Excel上で表示・コピーなどを行い表を作成することができます。

日付データと十二支の表

MOD関数YEAR関数を入力。日付データから西暦の数字を抽出し、それを12で割り余りを算出します。

MOD関数・YEAR関数を入力

Enterで結果が表示されます。

余りの数字

オートフィルの結果。

オートフィルの結果

LOOKUP関数を入力。D列の数値を検索値として、右の十二支の表を参照します。

LOOKUP関数を入力

オートフィルの結果。右寄せで表示。

十二支の表示

LOOKUP関数・MOD関数・YEAR関数をひとつにまとめると以下のようになります。

関数を入力

オートフィルの結果。それぞれの日付データから十二支が表示されます。

オートフィルの結果

今年の十二支に該当しているかどうかを確認するには、IF関数などを使います。

その年の十二支は分かっていることが多いため、十二支の表から該当するもの(子~亥のいずれか)をコピーします。

関数を使う場合は、B2に今年の西暦の数値、D2にLOOKUP関数・MOD関数。B2の数値を12で割り 余りを検索値として十二支の表を参照します。

LOOKUP関数・MOD関数を入力

Enterで結果が表示されます。

今年の十二支

IF関数を入力。D2とD4が同じであれば○、そうでなければ空白。

IF関数を入力

オートフィルの結果。中央揃えで表示。

オートフィルの結果

次に、十干を含めた十干十二支について解説します。

B列に西暦の数値、F列・G列に数字と十干、G列・H列に数字と十二支の表があります。

西暦の数値は、10で除算した余りによって十干との対応付けを行うことができます。例えば、2020年であれば 2020を10で割り 余りは0、十干では庚となります。これは十二支と同様 西暦がどの数字でも当てはまるため一覧表とすることができます。

十干は、甲と入力してオートフィルを行うと甲~癸まで連続データとして表示できるため、Excel上で表示・コピーなどを行い表を作成することができます。

西暦の数値と十干十二支の表

CONCAT関数・LOOKUP関数・MOD関数を入力。B列にある数字を10で割り 余りから十干を参照、また12で割り 余りから十二支を参照。この2つをCONCAT関数でつなぎます。

CONCAT関数・LOOKUP関数・MOD関数を入力

Enterで結果が表示されます。右寄せで表示。

干支の表示

オートフィルの結果。

オートフィルの結果

十干十二支の組み合わせは、10×12で120通りではなく60通りになります。大きさの異なる歯車が回っており、60の組み合わせを経た後 元の組み合わせに戻ると考えることができます。

十干十二支の表は、Sheet2など別のシートに表示させて 関数から参照することもできます。

Excelで十干十二支を表示させるということは あまりありませんが、生年月日などのデータから今年の十二支に該当する人を検索したり、歴史の年表の作成などで使うことができると考えれます。