• ベストアンサー

エクセルの条件分岐について質問です

今、書類を作成しており、その際に西暦でなく年号で作成をする必要があるのですが、 その際にとあるセルのデータを下に明治、大正、昭和、平成と分けることは出来るでしょうか? 例としては  2012→平成  1980→昭和  1910→大正 と言った具合です。 データは各年の数値が入り混じった状態で1900~2012までの数字が入っている状態です。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! >1910→大正 は「明治」だと思うのですが・・・ 一例です。 ↓の画像のように表を作成しておきます。 A2セルに =IF(A2="","",VLOOKUP(A2,$D$2:$E$5,2,1)) という数式を入れ、オートフィルで下へコピーすると 画像のような感じになります。 ※ 注意点! 実際は元号が変わる年は注意が必要です。 本来であれば、別セルにシリアル値で表示させ、セルの表示形式をユーザー定義から ggg とするのが理想です。 (例)1989/1/7 → 昭和    1989/1/8 → 平成 といったように1989年でも日付によって元号が変わってきます。 こんなんで参考になりますかね?m(_ _)m

basuteto00
質問者

お礼

回答ありがとうございます。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

日付シリアル値というもの(普通の日付のことだが)に直せば、表示形式で年号表示できるよ。分岐なんか内部でやってくれる。こういうエクセルの基礎的な仕組みを知らないのだろう。 そのためには2012でなく1月1日を加えて A1に2012とあるとして、B1に=DATE(A1,1,1)で2012/1/1になる。表示形式をユーザー定義で ggg に設定すれば 平成と見えるだろう。 2012 平成 1980 昭和 1910 明治 <-太正ではないだろう 1902 明治 ーーー 1月1日にしているので、正しくない場合はありえる。日付を指定しないで年号を求めるのが間違いなのだ。 ーー 文字列にするなら =TEXT(DATE(A1,1,1),"ggg") で出来る こういうのはエクセルではマイクロソフトのエキスパートの作った仕組み(日付シリアル値と関数と日付表示形式の体系)に任せるべきなんだ。自分でプログラムを組んだりしたら、普通のものは誤りを起す。

basuteto00
質問者

お礼

回答ありがとうございます。 セル設定の事を忘れてました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

いまのパソコンは日付を和暦にも西暦にも変換できますので No4の方が式は十分に使えると思いますが 省略すれば =TEXT(DATE(A1,1,1),"ggg") で指定した1月1日の和暦の年号が得られます。 でも??? 例えば 1912年の7月30日以前は 明治 以後は 大正なので、正確に言えば、日付が必要です。 例ですが  A列  B列 C列  年   月  日 1912   7  20 ・・・ と年、月、日 の情報があるなら D列に =TEXT(DATE(A2,B2,C2),"ggg") が正確な和暦年号の表示になります。 単に、和暦の表示があれば D列に=DATE(A2,B2,C2) と入れて 表示形式 ユーザー定義で [$-411]ggge"年"m"月"d"日" を選択すればよいはずです。 全てを関数で処理したければ D列は =TEXT(DATE(A2,B2,C2),"ggge年m月d日") で試してみてください。

basuteto00
質問者

お礼

回答ありがとうございます。 TEXTは知らなかったので試してみます。

回答No.4

例えばセルA1に1925と入力 セルB1に =LEFT(TEXT(DATE(A1,0,0),"ggge"),2) の式を入れてA列の数値の入っている行数まで数式をコピーで・・・。

basuteto00
質問者

お礼

回答ありがとうございます。

回答No.3

A1に西暦があるとすると、以下のように年号を表示させたいセルにいれればOK 。 =IF(A1<1988,IF(A1<1927,IF(A1<1912,"明治","大正"),"昭和"),"平成") 年号はhttp://www.linksyu.com/nengo.htmを参考にしました。 (画像も見てください)

basuteto00
質問者

お礼

回答ありがとうございます。 IFの組み合わせ可能が分からなかったので参考になりました。

noname#158634
noname#158634
回答No.1

一発ではできないので関数と書式で。 https://www.google.com/search?q=excel+%E5%B9%B4%E5%8F%B7

関連するQ&A