Excelで西暦から十干十二支、誕生曜日、皇紀、元号を求める

Pocket
LINEで送る

年末には、まだ早いですが、Excelで西暦から十干十二支、誕生曜日、皇紀、元号を求める表を作ってみやした。あと、ついでに、誕生日が西暦で分からん場合の為に、元号から西暦への換算も入れてみたのだ。(^^;

Excelで西暦から十干十二支、誕生曜日、皇紀、元号を求める表

これから、この表の作り方の説明を書こうと思うんですけど、エクセルなんか、めんどくさいから、いいって人は、単純にダウンロードしてもらって、自分やご家族の生年月日を入れて、遊んでみて下さいな。ただ、エクセルと言いながら、ダウンロードファイルはKingsoftで作っているので、もしかしたら、エクセルのバージョン等によっては、うまく動作しない事もあるかもしれませんが、その場合は、ご勘弁を・・・。ちなみにエクセルですから、当然、1900年以前はエラーになりますので、あしからず・・・。(^^;
※生年月日入力欄と元号を入力欄以外は、触らないようにして下さい。
 入っている関数を消しちゃったりすると、動作しなくなっちゃいますから・・・。

 

前回のエクセルでのGoogleの看板の解き方に比べると、簡単だとは思うので、エクセルを触られている方は、是非、チャレンジをしてみて下さいな!!(^^;

 

ここでまず、十干十二支をご存知ない方の為に説明をさせて頂くと、古代中国には、万物は木・火・土・金・水の5種類の元素からなるという五行説という思想がありまして、さらに、それぞれを、陽をあらわす兄(え)と陰をあらわす弟(と)に分け、それに対して、10日ごとに繰り返す日に、甲、乙、丙、丁、戊、己、庚、辛、壬、癸と名前を付けたのが十干です。この五行説と十干を組み合わせると以下のようになりやす。

甲(木の兄=きのえ)
乙(木の弟=きのと)
丙(火の兄=ひのえ)
丁(火の弟=ひのと)
戊(土の兄=つちのえ)
己(土の弟=つちのと)
庚(金の兄=かのえ)
辛(金の弟=かのと)
壬(水の兄=みずのえ)
癸(水の弟=みずのと)

この十干と十二支を組み合わせたものが十干十二支で、10と12の最小公倍数で、組み合わせ数は60通りになります。僕と、亡くなった、ばあちゃんは同じ丁未(ひのとひつじ)なので、十干十二支で一回り違う事になり、ちょうど60歳違いです。有名な丙午(ひのえうま)が60年に一度というのも、ここから来るわけです。(^^;

 

ということで、上の表の作り方の説明を!!

まずは元号のC4セルだけど、関数は、=IF(B4=””,””,B4)と入力されてるだけ。IF関数で、もしB4が空白だったら空白を、そうでなかったら、B4セルと同じ値をって事です。西暦で生年月日が入力されるB4セルが空白だった場合、エラーにならないようにIF関数が入ってるだけで、ようはB4セルと同じ内容って事です。空白の時にエラーが出ても構わなければ、=B4で構いやせん。以後、IF関数の説明は省略しますね。(^^;

ただ、このままだと、本当に、B4セルと同じ、西暦の生年月日になっちゃうんで、C4セルの書式設定の表示形式をユーザー定義にして、「ggge”年”」としてやると、上記のように元号で表示されます。

 

次の皇紀のD4セルには、=IF(B4=””,””,(YEAR(B4)+660))という関数が入っています。皇紀は西暦プラス660なので、(YEAR(B4)+660)の部分で、B4セルからYEAR関数で年だけ取り出して、それに660を足してるだけです。いちおう、これも、数字に年とつけて表示させたいので、書式設定の表示形式をユーザー定義にして、「G/標準”年”」としています。これでOK。

 

誕生曜日のE4セルは、=IF(B4=””,””,B4)という関数が入っています。つまり、元号のセルと一緒で、B4の生年月日がそのまま入る事になります。これも、書式設定の表示形式をユーザー定義にして、「aaa”曜””日”」とするだけで、生まれた日の曜日が表示されちゃいます。

 

そして、いよいよ、ちょっと難しいのが、十干。十干のF4セルには、
=IF(B4=””,””,MID(“庚辛壬癸甲乙丙丁戊己”,MOD(YEAR(B4),10)+1,1))
という関数が入っています。MID関数は指定した文字列の何番目から幾つの文字を抽出するか指定する関数です。
=MID(指定文字列,抽出開始位置,抽出文字数)
今回の場合の指定文字列は「庚辛壬癸甲乙丙丁戊己」です。
次の抽出開始位置の「MOD(YEAR(B4),10)+1」ですが、MOD関数は、割り算の余りを返す関数で、この場合ですと、B4セルの生年月日からYEAR関数で年だけ取り出して10で割り、その余りに1を足すって意味です。
十干の庚の年が10で割り切れるので、余りが0になりますから、MID関数の抽出開始位置にする為に1を足しているわけです。最後の抽出文字数は、もちろん1ですよね。

 

干支のG4セルには、
=IF(B4=””,””,MID(“申酉戌猪子丑寅兎辰巳午未”,MOD(YEAR(B4),12)+1,1))
という関数が入っています。今度は干支なので、指定文字列が「申酉戌猪子丑寅兎辰巳午未」になっているのと、MOD関数の割る数が12になっているだけで、上の十干と考え方は全く一緒です。

これで、表は完成ですね!!(^^)

 

最後に、おまけの元号から西暦への変換ですが、上の表の場合ですと、西暦のC11セルには、
=IF(B11=””,””,DATEVALUE(B11&”1月1日”))
という関数が入っています。
DATEVALUE関数は日付文字列をシリアル値で返します。今回のように「平成○年」だけの場合は「○月○日」と合わせないとエラーになっちゃうので、1月1日をいれて上記のようにしてみました。そしてこれも、セルの書式設定の表示形式、ユーザー定義で、「yyyy”年”」として、いちおう西暦の数字の後に「年」が表示されるようにしてみました。

 

以上、表の作り方の説明でしたけど、如何でしたか?
もし、よく分からなかったら、すんません。でも、ダウンロードしてもらって、ご家族の十干十二支を調べ、十干十二支を知って頂けるだけでも、ちょっと嬉しいかな・・・。(^^;

 

Pocket
LINEで送る

YASUKE YAMURA

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

長野県中部の天気

ツールバーへスキップ