Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » 西暦から干支を求めるには−CHOOOSE関数・MOD関数

西暦から干支を求めるには−CHOOOSE関数・MOD関数

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

このサイトでは干支早見表を作成する方法をご紹介したことがありますが、
「西暦から干支を求めたいのですが・・・?」
「西暦の年から干支を表示するにはどうしたらいいのでしょうか?」
というご質問をいただくことがあります。

日付から曜日を表示するには関数を使う必要はありませんが、西暦年から干支を表示するには関数を使わなければなりません。

[スポンサードリンク]
それも、西暦年を引数に指定したら干支を表示してくれるようなワークシート関数は存在しないので、関数を組み合わせて干支を表示させる必要があります。
▼操作方法:干支を表示する
※A2セルに西暦年が入力されているときにB2セルに干支を表示する例
「=CHOOSE(MOD(A2,12)+1,"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未")」
という数式をB2セルに入力する

干支は「12」で割り切れる西暦の年が申年で、以後











と続きます。

このとき西暦年を「12」で割った余りに注目すると、
申年 = 余り「0」
酉年 = 余り「1」
戌年 = 余り「2」
亥年 = 余り「3」
子年 = 余り「4」
丑年 = 余り「5」
寅年 = 余り「6」
卯年 = 余り「7」
辰年 = 余り「8」
巳年 = 余り「9」
午年 = 余り「10」
未年 = 余り「11」
という関係が成立します。

この余りを取得するためにMOD関数を利用しています。

MOD関数は、第1引数を第2引数で割り算したときの余りを返してくれます

「=CHOOSE(MOD(A2,12)+1,"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未")」
という数式の
「MOD(A2,12)」
の部分で行っているのが西暦を「12」で割った余りを求める計算です。

次に余りの数値を干支にするためにCHOOSE関数を利用します。

CHOOSE関数は、第1引数に指定された数値に該当する値を第2引数以降から返す関数です。

第1引数に、
「1」を指定すると
第2引数の値が返され
「2」を指定すると
第3引数の値が返され
「3」を指定すると
第4引数の値が返されます。

CHOOSE関数では、第1引数に「1」以上の数値を指定する必要があり、「0」が指定されるとエラーとなってしまいます。

「MOD(A2,12)」
に「1」を加算する
「MOD(A2,12)+1」
をCHOOSE関数の第1引数にすることで、
申 = 「1」
酉 = 「2」
戌 = 「3」
亥 = 「4」
子 = 「5」
丑 = 「6」
寅 = 「7」
卯 = 「8」
辰 = 「9」
巳 = 「10」
午 = 「11」
未 = 「12」
という関係になり、
「=CHOOSE(MOD(A2,12)+1,"申","酉",・・・」
といった数式で西暦から干支が表示できるわけです。

▼サンプルファイル(003187.xls 42KByte)ダウンロード

サンプルファイルの
B2:B13セルには、上記の
「=CHOOSE(MOD(A2,12)+1,"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未")」
という数式
D2:D13セルには
「=MOD(A2,12)」
E2:E13セルには
「=MOD(A2,12)+1」
F2:F13セルには、E列の値を元に干支を表示する
「=CHOOSE(E2,"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未")」
という数式がそれぞれ入力してありますので、ご確認ください。

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » 西暦から干支を求めるには−CHOOOSE関数・MOD関数

「日付の処理・計算」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.