• ベストアンサー

和暦から西暦へ表示変更

似たような質問はあるもののどれも上手く出来なかったので質問させて頂きます。 Excel2003を使用しております。 セル内に「昭和60年」や「平成3年」といった文字列が入っております。 これを西暦表示の「1985年」や「1991年」といった表示に変更したい場合どのようにすれば良いのでしょう? 月や日にちは必要なくただ年だけが必要なものです。 VBAの知識は全く無いので出来ればExcelの関数or表示形式等のみで解決したいのですが…。 お知恵を貸して下さいませ。 どうかよろしくお願い致します。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.5

別のセルで良いなら =TEXT(DATEVALUE(A1&"1月1日"),"yyyy年") で変わります。 置き換えの場合は、この数式をコピーして元のセルに 「編集」「形式を選択して貼り付け」で「値」を選択してOK その後に数式を削除してください。

Dona1d
質問者

お礼

なるほど…これなら表示形式を変えなくていいわけなんですね。 色々あるものなんですね。 有難うございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

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

A列に文字列があるとして、B1に =DATEVALUE(A1&"1月1日") と入れて、下に複写する。 書式をユーザー定義で、yyyy年とする。 A列  B列 平成13年 2001年 昭和20年 1945年 平成1年 1989年 昭和64年 1989年 昭和39年 1964年 明治35年 1902年 明治33年 1900年 明治32年 #VALUE! 大正10年 1921年 明治32年以前はだめ。

Dona1d
質問者

お礼

ANo.4様の回答と似ているようですが関数が違うのですね。 文字列をシリアル値に変換する関数があるとは知りませんでした。 大変勉強になりました。有難う御座います!

全文を見る
すると、全ての回答が全文表示されます。
  • moon00
  • ベストアンサー率44% (315/712)
回答No.6

シリアル値にする必要がなく、単に「年」が必要と考えると、 以下のような関数の組み合わせで、なんとかなるかも知れません。 A1に「昭和60年」と入っている場合、 =IF(LEFT(A1,2)="昭和",(RIGHT(LEFT(A1,LEN(A1)-1),LEN(A1)-1-2))*1+1925,IF(RIGHT(A1,2)="平成",(LEFT(LEFT(A1,LEN(A1)-1),LEN(A1)-1-2))*1+1988,A1)) 結果は、「1985」という数字になります。 文字列の左から2文字を判定、それぞれの数字を取り出し、 昭和なら1925を平成なら1988を足しています。 ただし、この式では昭和と平成にしか対応してません。 それと「元年」という表示もアウトです。 ifの入れ子で、それも含めて判定する関数を作るのは可能ですが。 シリアル値にしたいなら、ここからDATE関数を使用すれば変換できますが、 関数が長くなるので、やめました。

Dona1d
質問者

お礼

今回はシリアル値でもそうでなくてもどちらでも良かったので、ANo.4様、ANo5.様の回答でさせて頂きましたが、シリアル値にしたくない時も今後出てきそうなのでその時は是非参考にさせて頂きます。 丁寧な解説も有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.4

こんにちは~ 「昭和60年」 が A1セルに入っているとして、 たとえば B1に =YEAR(A1&"1月1日") と入れてみてください。 上の式を入れたセルの表示形式を、ユーザー定義で 0"年" にしてください。 元の和暦が不要なら、式を入れたセルをすべて選択して、 メニュー「編集」-「コピー」 そのまま、メニュー「編集」-「形式を選択して貼り付け」 <値>を選んで 「OK」 ESCキーを押して、コピーモード解除。 そのあと、A列を削除。

Dona1d
質問者

お礼

驚きです☆ こんなに簡単な作業で出来たのですね。 お陰で無事解決。本当に有難う御座いましたヽ(´▽`)ノ

全文を見る
すると、全ての回答が全文表示されます。
  • onntao
  • ベストアンサー率32% (108/332)
回答No.3

もずかしい→むずかしい ;^_^A

全文を見る
すると、全ての回答が全文表示されます。
  • onntao
  • ベストアンサー率32% (108/332)
回答No.2

>もとのデータが文字列として認識されているからではないかと思うのですが…。 該当セルの表示形式を標準にしてみれば確認できるかも 簡単にはいかないかもしれませんね そもそも日付や時間データは、エクセル内においてはシリアル値で管理されていますよね。それの表示方法を書式や関数にて変換しているだけですから、文字列として入力されている"昭和60年"をシリアル値に変換するのはもずかしいです 昭和1年から昭和64年(平成1年)~平成17年まで対西暦年数の表を作り 昭和60年からSUBSTITUTE関数で"年"を取り去り さらに和暦と数字を分割して先の表から検索する 検索は 昭和の ?年 ということになるので SUMPRODUCT関数にて いかがでしょう

Dona1d
質問者

お礼

解りやすい説明有難うございました。 SUBSTITUTE関数やSUMPRODUCT関数なんて聞いたことも使ったことも無かった(^^;) 関数は奥が深そうですねぇ。。。勉強頑張ります。

全文を見る
すると、全ての回答が全文表示されます。
  • 196352
  • ベストアンサー率54% (170/313)
回答No.1

セルの書式設定の表示形式でユーザー定義の所で yyyy"年"m"月"d"日"と言うのを m"月"d"日"の部分を削除して yyyy"年"と言う表示形式を作成して「OK」 とすれば、指定されたセルではyyyy年表示になりますよ。

Dona1d
質問者

お礼

早速のご回答有難う御座います。 しかし、この方法は既に取ってみたのですが「昭和60年」のまま何も変わってくれないのです。 多分もとのデータが文字列として認識されているからではないかと思うのですが…。(ただの憶測なので違っていたらすいません) それもふまえて何かいい案はございませんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 西暦を和暦表示にしたい。

    西暦を和暦表示にしたい。 エクセル2003を使っています。 セルA5に、2010/5/1 と入っています。(セルA5は手入力するセル) セルA6 =A5+1 セルA7 =A6+1 セルA8 =A7+1 セルA9 =A8+1  ・  ・  ・ となっています。 セルA5を使って、セルA1に 『平成22年5月分』と和暦表示させたいのですが、関数で出来ますか? どなたか教えてください。 よろしくお願いします。

  • エクセルの「和暦・西暦変換」について

    和暦の年月から、西暦の年に変換する方法を教えて下さい。 ☆現在   1、「○○,○○」と年月が全角入力されている   2、平成のみ「平成○○,○○」となっている ☆希望   1、これまで通り、和暦の年月表示は残しておきたい     (全角・半角は問わない)   2、「○○○○」という半角4桁の西暦年で他のセルに表示したい   ※(これにこちょこちょっと手を加えて、あるものの経過年数を計算したいのです) 現在入力されている全角のデータは、「年月」表示さえ出来れば変換に必要な形式に再入力し直すことは可能です。 昭和や平成等がからんでくるので、エクセル初心者の私にはよくわかりません。 宜しくお願いします。

  • 西暦から和暦に変換する関数を作る

    西暦から和暦に変換する関数をVBAで作りたい(昭和と平成だけ)のですが 良くわかりません。どなたか教えて頂けませんか?

  • エクセルで西暦からS(昭和)とH(平成)を所得する

    エクセルでセル番地A1に生年月日を入力したとします。 入力後A1の西暦から平成又は昭和を判別して 他のセルにA1西暦が平成ならH、昭和ならSと言う表示をさせたいのですが可能でしょうか? VBA、関数どちらの方法でもよいので、分かる方よろしくお願いします。

  • Excelで和暦を西暦に直す方法を教えてください。

    Excelで和暦を西暦に直す方法を教えてください。 例えば 250820 と表示の和暦(昭和25年8月20日がこのような表示になっています)を 西暦表示(1950/8/20)に変えるにはどのような関数を使用すればうまくいくでしょうか? よろしくお願い致します。

  • 西暦→和暦

    avaで、西暦→和暦に変換するプログラムを組みたいのですが、 例えば、 2008/11/22 と入力したら、 平成20年11月22日 と表示されるようなプログラムを作りたいのですが、 (昭和と平成のみ対応) 教えて下さい…m(__)m

  • 和暦を西暦に変換する方法

    和暦を西暦に変換する方法について エクセルの1列に   2列に      5月2日  20,000円      6月3日  25,000円      1月7日  30,000円 等と入力された大きな表をダウンロードしました。  表を編集するため、1列の和暦をを西暦に8桁変換(yyyymmdd)すると、すべて西暦が2018と表示されます。実は、5月、6月は2017と1月は2018と(12月と1月で)年替わりを表示させたかったのですが・・・。  元データの5月2日のセルを右クリックすると、2018/5/2と(閲覧した年が)表示されます。 元データに平成年号が入力されていない日付は西暦8桁変換はできないのでしょうか?  元データの左隣に新たに列を挿入して平成年号を入力し、この隣り合ったセルの内容を反映させたセル結合は出来ないでしょうか?   ※OKWAVEより補足:「富士通FMV」についての質問です。

  • 和暦日付表示「03.6.24」を西暦表示に一気に直したい。(エクセル2003使用)

    和暦表示で 昭和63年生まれの人なら「63.5.23」 平成3年生まれの人なら「03.6.24」というようにセルに入っています。 単純にセルの書式設定の表示形式の日付ですぐ変換できるのかな? と思いましたら、頭にH(平成)、S(昭和)の表記が抜けているため いっこずつ、先頭にHやSを追加しなければいけません。 追加すれば日付がきちんと西暦で表示されます。 件数が5000件くらいあるので、一気にSやHを挿入する方法が あれば教えてください。

  • エクセルで和暦と西暦の表示形式を併用できますか。

    文書発信日付の表示を和洋併記しています。 「平成17年(2005年)7月5日」のように単一のセルで和暦と西暦の両方を表示する方法ってありますか。 表示形式のユーザー定義をいろいろいじくってみましたが、うまくいきません。(「平成17年(17年)7月5日」などと表示されます。) もちろん、入力用のセルを別に用意すれば、関数などで目的の表示は可能ですが、(月)/(日)の一発で入力と表示を完了させたいという横着な希望でございます。どなたかご教示くださいませ。

  • エクセルで和暦と西暦を同時に表示したい

    現在、日付データが入っているセルを和暦と西暦を同時表示させたいのですが、どのようにしたらよいでしょうか? 2007/6/1 と入っているセルを 平成19年(2007年)6月1日 と表示させたいのです。 書式設定-表示形式-ユーザー定義で元からあるのを利用して [$-411]ggge"年("yyyy"年)"m"月"d"日";@ とすると 平成19(19年)6月1日 となってしまいます。 試しにyyyyggge とすると 2007平成19 と西暦+和暦となるのですが、 gggeyyyy とすると 平成1919 と和暦+和暦になってしまいます。 [$-411]が肝なのかな?と思いますが、そこから先がわかりません。 バージョンはExcel2003です。 どうかご教示下さい。

専門家に質問してみよう