• 締切済み

エクセルで干支を表示する

エクセルで、年齢早見表を作成したいんです。 A3に"1980"~A30に"2007"まで西暦を入力し、 B3に"昭和55年"~B30に"平成19年"まで年号を入力します。 年号は、「=date(A3)」でユーザー定義で表示します。 次に、C3に"申"~C30に"亥"まで十二支を入力します。 この部分が分かりません!! 関数は、どうやらYEAR,CHOOSE,MODなどを使うようです。 「=CHOOSE(___,"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥")」 となるんだろうとは思うのですが、インデックスの部分が、何を入力していいのか全く分かりません。 もしかしたら、YEAR関数は使わないかもしれません・・・。 できれば明日までに知りたいので、こんな説明で分かった方は回答お願いします!

みんなの回答

  • x0000x
  • ベストアンサー率52% (67/127)
回答No.4

C3セルの計算式 =CHOOSE(MOD(A3-1972, 12)+1,"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥") C30セルまでコピーします。 ※1972年は”子”年です。

nanolita
質問者

お礼

回答ありがとうございます! 西暦から西暦を引く考え方もあるんですね。 自分の応用力・・というか、考え力の無さが恥ずかしいです…。。 参考にさせていただきます!!

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.3

#1ですが...CHOOSEであれば A3の西暦参照で =CHOOSE(MOD(A3+8,12)+1,"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥")

nanolita
質問者

お礼

何度もありがとうございます! A3に+8しているというところから、↓のように十二支の順番を申からにしてやってみたところ、表示することができました!! =CHOOSE(MOD(A3,12)+1,"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未") ありがとうございました~^^

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

CHOOSE関数のヘルプを参照しましょう。 ・・・では、回答にもなりませんので解説。 インデックスは、後に続く値の何番目をチョイスするかを決める数値です。 干支ですから、1~12の数値を指定することになります。 昭和55年は申ですので、9 が入力されれば、申が選択されて表示されます。 数値を求めるのは普通に引き算してもいいと思いますよ。 この場合、DATEVALUE関数で "昭和55年" をシリアル値に変更すると良いでしょう。  =DATEVALUE(B3&"1月1日") など あとは 1~12の数値を繰り返すだけですので、MOD関数で除算の余りを求めると良いと思います。  =MOD(DATEVALUE(B3&"1月1日"),12) このままでは 0~11 の数値になってしまいますので、  =MOD(DATEVALUE(B3&"1月1日"),12)+1 で、1~12 の数値に変えれば良いです。 幸い上の式でちょうど "9" が得られますので、そのまま使ってください。 ・・・ってか、たかだか30行程度であれば関数を使うまでもなく、 干支を縦に12個入力して、フィルでパターンを繰り返すのコピーをしたほうが早いと思います。

nanolita
質問者

お礼

DATEVALUE関数・・初めて聞きましたっっ><; 勉強しなくてはですね。。 >干支を縦に12個入力して、フィルでパターンを繰り返すのコピーをしたほうが早いと思います。 私もそう思ったのですが、関数を使って表示しなくてはいけないので…(汗 回答ありがとうございました!!

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.1
nanolita
質問者

お礼

回答ありがとうございます! HP見てみましたが、どうしてもCHOOSE関数を使って出さなければならないので・・。 でも参考になるHPを教えていただいてありがとうございました♪