- Home »
- エクセル Q&A(Tips):目次 »
- 生年月日から干支を表示したい?
生年月日から干支を表示する topへ
- Excelでは干支を連続値として入力することができます。(ユーザー設定リストにあらかじめ登録されています)
今年「2012年」は「辰」ということが分かっておれば、前後にオートフィルして簡単に表を作成できます。
- 計算で求めるには?
- 干支は12年ごとに繰り返されるので、年を12で割り余りを求めることで算出できます。
余りは =MOD(A1,12) で求めることができます。
- 文字を取り出すにはいろんな関数の利用が考えられます。
いろいろ書いていますが、MID関数の利用が最も短くて便利なように思います。
- 一般的と思われるのはCHOOSE関数です。
CHOOSE(インデックス, 値 1, [値 2], ...)インデックスは1から始めますので、余りが0の時は都合が悪いので+1とします。
申から取り出すように並べればよいことになります。
- =CHOOSE(MOD(A1,12)+1,"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未")
- A1セルが生年月日のような日付である時は年を取り出して計算すればよいのでYEAR(A1)を使います。
=CHOOSE(MOD(YEAR(A1),12)+1,"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未")
- 文字列を取り出す関数としてはMID関数も考えられます。
考え方は同じで、年を12で割った余りの数から取り出します。
- =MID("申酉戌亥子丑寅卯辰巳午未",MOD(A1,12)+1,1)
- A1セルが生年月日のような日付である時は年を取り出して計算すればよいのでYEAR(A1)を使います。
=MID("申酉戌亥子丑寅卯辰巳午未",MOD(YEAR(A1),12)+1,1)
- VLOOKUP関数を使うことも可能です。
- =VLOOKUP(MOD(A1,12),{4,"子";5,"丑";6,"寅";7,"卯";8,"辰";9,"巳";10,"午";11,"未";0,"申";1,"酉";2,"戌";3,"亥"},2,FALSE)
- INDEX関数も使うことができます。
- =INDEX({"申","酉","戌","亥","子","丑","寅","卯","辰","巳","午","未"},MOD(A1,12)+1)
- 十干や十二支などの一覧を作成したい場合は Excel(エクセル)実用編:年齢早見表の作成 をご覧ください。
よねさんのExcelとWordの使い方|エクセル2010基本講座:目次|生年月日から干支を表示したい?